![]()
MpW
![]() ![]() offline
Опыт:
50,016Активность: |
q
Q
Отредактировано Steal nerves, 03.09.2014 в 03:42. |
![]() |
#1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
J64_
![]() offline
Опыт:
4,724Активность: |
И вообще, берём учебник по геометрии. |
![]() |
#2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Hanabishi
COOL STATUS
![]() ![]() offline
Опыт: отключен
|
Как высчитать угол Z:
|
![]() |
#3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
16GB
GhostOne User
![]() ![]() offline
Опыт:
60,317Активность: |
GetUnitLoc(u) утечка |
![]() |
#4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Hanabishi
COOL STATUS
![]() ![]() offline
Опыт: отключен
|
Движение по Z организовывается чуть сложнее, чем в плоскости, из-за особенностей вара:
Hanabishi добавил: 16GB: Где тут утечка? Нативка вроде возвращает точку юнита, а не создаёт новую. Хотя уже не помню, вызывает или нет. |
![]() |
#5
+1/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
DioD
![]() ![]() offline
Опыт:
45,134Активность: |
ЕРЕСЬ! |
![]() |
#6
+7/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
quq_CCCP
Я белый и пушистый!
![]() ![]() offline
Опыт:
93,467Активность: |
Hanabishi, Локейшены не болекспры, они не кешируются, сколько не вызови GetUnitLoc столько раз вернёт новую точку, не смотря на то что юнит стоял на месте... |
![]() |
#7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Карточка
Kicked by SSrunX
![]() offline
Опыт:
2,017Активность: |
|
![]() |
#8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Extremator
![]() ![]() offline
Опыт:
39,565Активность: |
Hanabishi:
Z точки (под юнитом) + высота полёта юнита = высота юнита в данный момент? я к чему спрашиваю... мне ЭТО понятно, но вот когда юнита пролетает клифы/деревья/здания - высота меняется, у самого юнита... где-то в движке идёт авто-регулирование что ли...
И вот, молния будет корректно "следовать" за юнитом даже над резкими клифами?
а то я делал что такое, год назад, у меня было криво, я забросил это дело... Extremator добавил: Вот о чём я. Это лечится? |
![]() |
#9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Hanabishi
COOL STATUS
![]() ![]() offline
Опыт: отключен
|
Extremator, смотри функцию TimerMove, там описано, как скорректировать, для этого высчитывается ещё одна точка. А если ты говоришь про то, что он даже на ровном месте косячит, то просто поставь юниту тип передвижения "нет", и давай абилу ворона. |
![]() |
#10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
DioD
![]() ![]() offline
Опыт:
45,134Активность: |
чтобы вычислить реальную высоту юнита необходимо перечислять (не важно как) 5 треугольников (как именно сами догадаетесь) в поисках препятствий которые могут повлиять на высоту юнита.
лично я вычислял все эти "погрешности" вручную без каких либо особых сложностей на летающем юните с моделькой виспа и не летающим юнитом с моделькой виспа, который двигался прицепом, при визуальном расхождении моделей, я жал эскейп и мне выводило дистанцию до препятствия, после я строил треугольники.
квадратом тоже можно вычислять, но треугольниками выходит оптимальнее по числу итераций, вершины треугольников и оффсеты хранить в прекешированном виде в массиве и накладывать матрицу при необходимости. |
![]() |
#11
+0/−1
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Hanabishi
COOL STATUS
![]() ![]() offline
Опыт: отключен
|
((цитата
чтобы вычислить реальную высоту юнита необходимо перечислять (не важно как) 5 треугольников (как именно сами догадаетесь) в поисках препятствий которые могут повлиять на высоту юнита.
лично я вычислял все эти "погрешности" вручную без каких либо особых сложностей на летающем юните с моделькой виспа и не летающим юнитом с моделькой виспа, который двигался прицепом, при визуальном расхождении моделей, я жал эскейп и мне выводило дистанцию до препятствия, после я строил треугольники. квадратом тоже можно вычислять, но треугольниками выходит оптимальнее по числу итераций, вершины треугольников и оффсеты хранить в прекешированном виде в массиве и накладывать матрицу при необходимости. )) А можно просто
|
![]() |
#12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Extremator
![]() ![]() offline
Опыт:
39,565Активность: |
Hanabishi:
Ну а если тип движения этого юнита имеет значение (в игре). Например тизер виспа из доты... Он прикрепляется к юнитам с разными типами движения |
![]() |
#13
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Hanabishi
COOL STATUS
![]() ![]() offline
Опыт: отключен
|
Придётся значит условие отдельно для него делать, как исключение |
![]() |
#14
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
DioD
![]() ![]() offline
Опыт:
45,134Активность: |
а не проще один раз посчитать оффсеты да? |
![]() |
#15
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|