Войти
Unreal EngineФорумОбщее

Задача на смещение капсулы. Unreal engine 4

Страницы: 1 2 Следующая »
#0
21:37, 5 дек. 2017

Парни,помогите разобраться )

В ходе изучения UE4, возникла задача изменить capsule halfheight* до значения ее радиуса (мы сжимаем капсулу и превращаем ее в сферу) и одновременно смещать capsule component по оси Z так, что бы нижняя точка полусферы всегда оставалась касательной к "земле".
Допустим мы имеем capsule component с параметрами:
halfheight - 35
radius - 15

* размер капсулы от самой нижней, до самой высокой точки ее точки.

Масштабирование капсулы происходит относительно ее центра, соответственно уменьшив ее высоту до значения 15, мы получим сферу.
Теперь сакраментальный вопрос: на сколько единиц нам нужно задать смещение центра капсулы для выполнения поставленного условия - она должна всегда стоять на земле.

Снимок222 | Задача на смещение капсулы. Unreal engine 4


#1
0:28, 6 дек. 2017

А какая исходная задача?

#2
0:48, 6 дек. 2017

std::cin, извиняюсь, забыл все условия описать. Отредактировал первый пост.
Вот задача: задача изменить capsule halfheight* до значения ее радиуса (мы сжимаем капсулу и превращаем ее в сферу) и одновременно смещать capsule component по оси Z так, что бы нижняя точка полусферы всегда оставалась касательной к "земле".

#3
0:49, 6 дек. 2017

Alex.L ты делаешь приседание?

#4
0:54, 6 дек. 2017

std::cin, да, это в конечном итоге это для анимации приседания персонажа.

#5
1:01, 6 дек. 2017

Alex.L
прям матан... какой то...
тока суслик может знать ответ на этот вопрос

тру приседание, это поджимание ног, а не опускание на землю )
#6
1:23, 6 дек. 2017

cNoNim, бросьте, никакого матана и суслика не нужно. Вот еще картинка. Высоту принимаем за А, радиус за B, а искомую величину на которую понадобится сдвинуть сферу, которую получим сжав капсулу - за Х.
Получается Х= (А - (B*2))/2. Согласны?
Возвращаемся к реальным значениям с верхних фигур на картинке:
(35 - (7.5*2))/2 = 10. Правильно ведь?

Снимок333 | Задача на смещение капсулы. Unreal engine 4
#7
3:14, 6 дек. 2017

Alex.L
Я бы начал с того, что задумался, почему параметр называется halfheight (что дословно можно перевести как половинавысоты), а у тебя на рисунках показана не половина, а целая высота капсулы.

#8
3:33, 6 дек. 2017

MrShoor, я понимаю что значит halfheight. На картинках у нвидии правильно указано как размеры капсулы понимать?
http://docs.nvidia.com/gameworks/content/gameworkslibrary/physx/g… peCapsule.png

#9
23:02, 15 дек. 2017

Alex.L
> На картинках у нвидии правильно указано как размеры капсулы понимать?
Не знаю. Зависит от UE, как он это трактует. Возьми да проверь, делов то.

#10
20:55, 18 дек. 2017

Вообщем не вникал , но если надо сделать капсулу горизониальную, например для животного, чтобы вектора смотрели как надо, надо править исходники ( добавить в энум еще один тип и по аналогии с оьычной капсулрй менять везде гле .Z на .X

#11
1:17, 19 дек. 2017

key0, ну вот у меня есть подозрения что capsule component вообще как-то странно работает. Как я не пытался трактовать halfheight, у меня упорно не сходились цифры из простой математики, которую я на картинках выше показывал с теми значениями которые мне по факту пришлось задавать для смешения капсулы.

В общем есть у анрила какие-то странные косяки и недоработки.

#12
1:46, 19 дек. 2017

Alex.L габариты физ-тел менять в реальном времени нельзя. Проще из двух капсул сделать

#13
2:39, 19 дек. 2017

Alex.L
> которые мне по факту пришлось задавать для смешения капсулы
а какие пришлось задавать? может она поскейлена у тебя?

https://docs.unrealengine.com/latest/INT/BlueprintAPI/Components/… leHalfHeight/

> изменить capsule halfheight* до значения ее радиуса
до нуля не пробовал? : )

#14
2:40, 19 дек. 2017

std::cin, на сколько я помню, ноды crouch/un crouch в character actor именно это и делают. Но там, вроде, дискретно размер капсулы меняется.
А вообще не знаю, спорить не буду, т.к. я в конечном итоге из pawn класса персонажа делал и физику вводить не стал. 

Страницы: 1 2 Следующая »
Unreal EngineФорумОбщее

Тема в архиве.