![]()
JET_LI
![]() ![]() offline
Опыт:
1,724Активность: |
Привязка камеры к рельефу
Я абсолютно справился с этой задачей! (считал я пока не встретился с одной проблемой)
В общем я получал Z юнита и ставил её в CAMERA_FIELD_ZOFFSET
С Angle Of Attack я тоже справился высчитал всё! в общем всё красиво работает, но есть одно но: Когда я получаю z юнита - GetLocationZ(u) и устанавливаю значение в ZOffset камеры... она ведёт себя странно, слишком высоко поднимается, но координаты неверны! Почему так??? ZOffset почему так реагирует неправильно? Это обычно происходи когда z > 400 примерно.... В чём всё-таки дело? Z юнита уверен что правильно получен и корректно! В редакторе тоже самое выдаёт.... Ошибки в скрипте нет, я уверен! |
![]() |
#1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
JET_LI
![]() ![]() offline
Опыт:
1,724Активность: |
мм никто неужели не знает????? -((( |
![]() |
#2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Таурен
The Ps*c*oto*ia ORPG
![]() offline
Опыт:
2,078Активность: |
JET_LI, мб высота юнита дает сбой? Глянь в РО. поставь минимальную и макс высоту юнита одинаковой. |
![]() |
#3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
JET_LI
![]() ![]() offline
Опыт:
1,724Активность: |
Говорю же в редакторе когда навожу просто на любую точку выдаёт тоже самое значение высоты...
может быть единицы измерения разные???? |
![]() |
#4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Таурен
The Ps*c*oto*ia ORPG
![]() offline
Опыт:
2,078Активность: |
Типы данных. Высота юнита указывается в real. А у тебя по идее в int. Мб это? |
![]() |
#5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
JET_LI
![]() ![]() offline
Опыт:
1,724Активность: |
Нуууу!
GetLocationZ и так real! у меня всё в real, я говорю о том, может быть камера по другому (с другого места) считает Z...
я простон незнаю чё думать уже!! |
![]() |
#6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
JET_LI
![]() ![]() offline
Опыт:
1,724Активность: |
может кто-то сталкивался с подобной проблемой???
вообще я делаю перемещения юнита с помощью стрелочек...
а что камера не взрезалась, приходиться её постоянно к рельефу прижимать... она не врезается, но слишком высоко получается стоит над юнитом |
![]() |
#7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
agentex
![]() offline
Опыт:
34,834Активность: |
Т_Т об операции вычитание мы не слышали? |
![]() |
#8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
JET_LI
![]() ![]() offline
Опыт:
1,724Активность: |
дело в том, это присходит когда юнит поднимается свыше 500 и здесь начинается камера становиться выше юнита-((
там чем больше юнит поднялся тем больше разрыв идёт... так что вычитание не вкатывает-( здесь нужна какая-нибудь зависимость или что-то вроде неё |
![]() |
#9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
agentex
![]() offline
Опыт:
34,834Активность: |
там нет никакой зависимости, все элементарно.. выложы полный код системы, разберемся |
![]() |
#10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
JET_LI
![]() ![]() offline
Опыт:
1,724Активность: |
ок
JET_LI добавил:
JET_LI добавил:
кстати эта функция setCamera вызывается каждую 0.01 сек. JET_LI добавил:
систему перемещения юнита надо???=)) setCamera как вы поняли обновляет все св-ва камеры, чтобы она не врезалась в рельеф |
![]() |
#11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
alexprey
познающий Unity
![]() ![]() offline
Опыт:
68,501Активность: |
real GetTerrainZ(location loc){
return GetLocationZ(loc)-256 // вычитаю cliff level 2 } что это такое??? |
![]() |
#12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
JET_LI
![]() ![]() offline
Опыт:
1,724Активность: |
не обращай внимание=))))
в общем GetLocationZ эта функция берёт с 0 cliff level, то есть получается когда cliff level = 2 то Z будет 256, так на каждый cliff выделяется 128 тут всё правильно, 256 вычитаю чтобы была не абсолютная Z а относительно cliff level
JET_LI добавил:
угол атаки тоже работает норм, через арктангенс получаю угол, если юнит бежит в горку то 0+арктан, если вниз = 360-арктан JET_LI добавил:
? JET_LI добавил:
если тебя смущает синтактис, то я автоматизмом написал на C=) но у меня редактор с поддержкой cJass, так что всё норм=)
JET_LI добавил:
JET_LI добавил: какая разница cJass или vJass все равно компилятся все они в Jass =) |
![]() |
#13
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
agentex
![]() offline
Опыт:
34,834Активность: |
надо убрать все эти SetCameraFieldForPlayer и оставть только те которые динамически меняются. + я не совсем понял причем тут клифы. |
![]() |
#14
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
JET_LI
![]() ![]() offline
Опыт:
1,724Активность: |
ну допустим я их уберу! и чё измениться????
а на счёт -256 не обращайте внимание!!! это правильно я уверен! дело в том что getlocationz получает Z с отчётом от клиф = 0
а если клиф изначально = 2 то она будет получать не относительно карты, а считатывать полностью Z от клиф = 0 до точки в параметрах этой функции...
JET_LI добавил: ну так что+) в чём всё-таки дело? |
![]() |
#15
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|