agentex
offline
Опыт:
34,834Активность: |
Узнать, повернут ли юнит в сторону точки
Долго ломал голову над этой задачей но безрезультатно. Нужно проверить, обращен ли юнит к определенной точке или нет. разность максимального и минимального угла поворота в сторону от точки должна быть примерно 120 градусов надеюсь понятно что я этим хотел сказать =\ |
21.10.2008, 16:48 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Van Damm
wait... what?
offline
Опыт:
22,268Активность: |
Функция AngleBetweenPoints - сравнивай возвращаемое значение с unit facing. |
21.10.2008, 17:07 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
agentex
offline
Опыт:
34,834Активность: |
хотелось бы без этой функции обойтись, она порождает кучу утечек |
21.10.2008, 19:41 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
adic3x
offline
Опыт:
108,439Активность: |
нету в ней утечек, просто она неоптимальна... хоче по кулхацкерски, проведи вектор из одной точки в другую и вызови
Код:
|
21.10.2008, 19:48 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
agentex
offline
Опыт:
34,834Активность: |
мм мне казалось тут нужна тригонометрия... а ее я не оч знаю
кста я не могу представить что это за угол между точками мне казалось он всегда 0 или 180 оО ну всмысле от чего он берется agentex добавил: ADOLF провести вектор это значит выполнить: х1 - х2 ; у1 - у2 ? agentex добавил: а все понял какой угол возвращает AngleBetweenPoints просто нужно мысленно провести прямую через первую точку) |
21.10.2008, 19:52 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
adic3x
offline
Опыт:
108,439Активность: |
Цитата:
да Код:
вот так работает сия фция ADOLF добавил: + атан же сам посебе возращает угол в радианах, что бы получить грудусы надо умножить на 57.2957 (ну или оставить, к примеру кос и син работают с радианами) ADOLF добавил: а ну есои тебе надо сравнить в файсингом юнита - то да, оно возращает в градусах т.е. тебе нужно отнять от взгляда юнита в градусах угол между точками и проверить полученное число, если оно лежит в отрезке -Х, Х (ну к примеру Х=15) то тогда он смотрит в ту сторону |
|
21.10.2008, 19:57 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
alexprey
познающий Unity
offline
Опыт:
68,501Активность: |
ADOLF, ему надо узнать повёрнут ли юнит к той точке, значит нужно возращать boolean!
Код:
|
21.10.2008, 19:59 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
agentex
offline
Опыт:
34,834Активность: |
Цитата:
да это фигня сам разберусь мне главное принцип понять нужно agentex добавил: Цитата:
уххахаха отжег) 5+ Отредактировано agentex, 21.10.2008 в 20:50. |
||
21.10.2008, 20:25 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Van Damm
wait... what?
offline
Опыт:
22,268Активность: |
King Ksel, попробуй скормить свою функцию варкрафту - первый попавшийся на пути препроцессор обматерит тебя по полной )
остальное доходчиво объяснил Адольф |
21.10.2008, 20:59 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
agentex
offline
Опыт:
34,834Активность: |
все, разобрался! всем спасибо можно прикрывать! |
21.10.2008, 21:03 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|