Код:
Синтаксис:
Используется javascript
var lookVector : Vector3 = hit.point - turretTransf.position;
if (turretTransf.rotation != turretLookQuatern) {
var lookTurret : Vector3 = Vector3(lookVector.x, 0.0f, lookVector.z);
turretLookQuatern = Quaternion.LookRotation(lookTurret);
turretTransf.rotation = Quaternion.Slerp(turretTransf.rotation, turretLookQuatern, 0.05f);
}
if (turretTransf.rotation != turretLookQuatern) {
var lookTurret : Vector3 = Vector3(lookVector.x, 0.0f, lookVector.z);
turretLookQuatern = Quaternion.LookRotation(lookTurret);
turretTransf.rotation = Quaternion.Slerp(turretTransf.rotation, turretLookQuatern, 0.05f);
}
Проблема в том, что лук очень неточен. Игрок может сам танк как вращать, так и двигать. Если в состоянии покоя башня направляется прямо по цели, то вращая\перемещая сам танк, башня направляется с большой погрешностью, градусов эдак 10-15. Все отлично конечно, когда значение интерполяции высокое - 1.0. Соответственно вопрос: как сделать и точно и плавно. Спасибо