Jump to content

Зона зрения


Recommended Posts

Вопрос скорее не по скриптингу, а по геометрии.

Вот делаю тут НПЦ, которые должны будут атаковать только тех, кто находится в зоне видимости. Для этого я хочу использовать функцию createColPolygon. Но вот проблема в том, что у меня с геометрией не очень, поэтому я не знаю, какую формулу использовать для нахождения координат точек.

То-есть мне дано то, что два вектора выходят из одной точки (например M). Известны координаты этой точки и угол между векторами (назовем его буквой c). Так-же есть у меня длина векторов и поворот всего этого дела в мире гта. А надо найти координаты концов этих векторов (пусть концы мы назовем A и B).

Вот, картинку составил для примера:

50Z030k59779s3Q7.png

Link to comment

Не советую использовать колшейпы для таких задач, ибо у них другое назначение.

Советую почитать эту статью, там кстати есть и пример с полем зрения..

http://habrahabr.ru/post/131931/

Если даны длины, то просто к координате прибавить длину... Разве не?

А как же угол поворота NPC?

Edited by Guest
Link to comment

Если даны длины, то просто к координате прибавить длину... Разве не?

А как же угол поворота NPC?

Да, действительно) Отличная статья! Там как рас есть про это... Просто вопрос был как найти координаты конца векторов... Ну я первое, что пришло в голову ответил.

Link to comment

Да нет, мне как раз колшейп и нужен, потому что нпц неподвижный и он должен стрелять в игрока, когда тот входит в этот колшейп и соотвесно переставать стрелять, когда игрок из него выходит. Спасибо за ссылку на хабр, почитаю.

Link to comment

Все, методом экспериментов удалось сделать формулу.

createColPolygon ( x,y, x,y, x+40*math.cos(math.rad(rot+60)), y+40*math.sin(math.rad(rot+60)), x+40*math.cos(math.rad(rot+120)), y+40*math.sin(math.rad(rot+120)) )

В данном случае, если я правильно понимаю, "зона зрения" будет с углом в 60 градусов и дальность в 40 единиц.

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...