06-05-2020, 09:07 PM
Разделение на character и character_model потому что физическую модель (character) нельзя использовать для поворотов, она используется только для вычисления позиции. Поворот персонажа (ObjectTurn) надо задавать через графическую модель (character_model), которая привязана к позиции character, но вращается независимо. К сожалению, в X3D сильно ограничена обратная связь между объектами и их ODE-телами - объект с динамическим телом контролируется только через ODE и начисто игнорирует ObjectTurn и пр. В противном случае можно было бы упростить механику и обойтись только одним объектом.
Конкретно в примере поворот не используется, но его легко добавить.
Код почитал, комменты вроде везде правильные. По поводу этой части:
Это просто компоненты скорости в двух перпендикулярных направлениях, которые в зависимости от нажатой клавиши добавляются или отнимаются от vx, vy, vz. Вместо 2 можно поставить любой желаемый модуль скорости.
Конкретно в примере поворот не используется, но его легко добавить.
Nic Написал:И очень Вас прошу дописать, мною пропушенные, комментарии в коде.
Код почитал, комменты вроде везде правильные. По поводу этой части:
Код:
[== C++ ==]
#Высчитываем
$movX = $dirX * 2;
$movY = $dirY * 2;
$movZ = $dirZ * 2;
#Высчитываем
$strX = $rightX * 2;
$strY = $rightY * 2;
$strZ = $rightZ * 2;
Это просто компоненты скорости в двух перпендикулярных направлениях, которые в зависимости от нажатой клавиши добавляются или отнимаются от vx, vy, vz. Вместо 2 можно поставить любой желаемый модуль скорости.