Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
GameDev.ru / Программирование / Форум / Задача на смещение капсулы. Unreal engine 4

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

Поделиться
Alex.LПостоялецwww5 дек. 201721:37#0
Парни,помогите разобраться )

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

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

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

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

Правка: 6 дек. 2017 0:42

std::cinУчастникwww6 дек. 20170:28#1
А какая исходная задача?
Alex.LПостоялецwww6 дек. 20170:48#2
std::cin, извиняюсь, забыл все условия описать. Отредактировал первый пост.
Вот задача: задача изменить capsule halfheight* до значения ее радиуса (мы сжимаем капсулу и превращаем ее в сферу) и одновременно смещать capsule component по оси Z так, что бы нижняя точка полусферы всегда оставалась касательной к "земле".
std::cinУчастникwww6 дек. 20170:49#3
Alex.L ты делаешь приседание?
Alex.LПостоялецwww6 дек. 20170:54#4
std::cin, да, это в конечном итоге это для анимации приседания персонажа.
cNoNimУчастникwww6 дек. 20171:01#5
Alex.L
прям матан... какой то...
тока суслик может знать ответ на этот вопрос
тру приседание, это поджимание ног, а не опускание на землю )

Правка: 6 дек. 2017 1:02

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

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

Правка: 6 дек. 2017 1:24

MrShoorУчастникwww6 дек. 20173:14#7
Alex.L
Я бы начал с того, что задумался, почему параметр называется halfheight (что дословно можно перевести как половинавысоты), а у тебя на рисунках показана не половина, а целая высота капсулы.
Alex.LПостоялецwww6 дек. 20173:33#8
MrShoor, я понимаю что значит halfheight. На картинках у нвидии правильно указано как размеры капсулы понимать?
http://docs.nvidia.com/gameworks/content/gameworkslibrary/physx/g… peCapsule.png

/ Форум / Программирование игр / Общее

2001—2017 © GameDev.ru — Разработка игр