Всем привет! Есть объект, двигающийся вдоль кривой, нужно экспрешном прописать его вращение по оси движения (аналог Follow).
У меня вышло следующее:
float $lastX = `getAttr -t (frame-1) Copter_Cube2.translateX`;
float $lastY = `getAttr -t (frame-1) Copter_Cube2.translateY`;
float $lastZ = `getAttr -t (frame-1) Copter_Cube2.translateZ`;
vector $last = <<$lastX, 0, $lastZ>>;
print("last = " + $last + "\n");
// узнали положение объекта кадр назад
float $curX = `getAttr Copter_Cube2.translateX`;
float $curY = `getAttr Copter_Cube2.translateY`;
float $curZ = `getAttr Copter_Cube2.translateZ`;
vector $cur = <<$curX, 0, $curZ>>;
print(" cur = " + $cur + "\n");
// текущее положение объекта
vector $dir = $cur + $last;
// узнали направление, в котором переместился объект
Copter_Cube2.rotateY = atan2d($dir.x, $dir.z);
// вычисляем угол в градусах, вдоль направления движения
Проект майки 2015, если это поможет: https://yadi.sk/d/zPoUlJuHfb55o
Объект вроде бы поворачивает по кривой, но угол явно неверный. Кто разбирается в математике, подскажите пожалуйста, как решить эту задачу.
Спасибо!
У меня вышло следующее:
float $lastX = `getAttr -t (frame-1) Copter_Cube2.translateX`;
float $lastY = `getAttr -t (frame-1) Copter_Cube2.translateY`;
float $lastZ = `getAttr -t (frame-1) Copter_Cube2.translateZ`;
vector $last = <<$lastX, 0, $lastZ>>;
print("last = " + $last + "\n");
// узнали положение объекта кадр назад
float $curX = `getAttr Copter_Cube2.translateX`;
float $curY = `getAttr Copter_Cube2.translateY`;
float $curZ = `getAttr Copter_Cube2.translateZ`;
vector $cur = <<$curX, 0, $curZ>>;
print(" cur = " + $cur + "\n");
// текущее положение объекта
vector $dir = $cur + $last;
// узнали направление, в котором переместился объект
Copter_Cube2.rotateY = atan2d($dir.x, $dir.z);
// вычисляем угол в градусах, вдоль направления движения
Проект майки 2015, если это поможет: https://yadi.sk/d/zPoUlJuHfb55o
Объект вроде бы поворачивает по кривой, но угол явно неверный. Кто разбирается в математике, подскажите пожалуйста, как решить эту задачу.
Спасибо!