Я работаю над новой схемой управления для Oculus Rift, которая использует наклон гарнитуры для перемещения плеера. Смысл, вы наклоняете голову назад и вперед, чтобы идти вперед и назад, и из стороны в сторону, чтобы обстреливать. Камера привязана к катящейся сфере, так как это дало ей приятное ощущение ускорения и немного похоже на то, как летать. Пока что он работает достаточно хорошо, но только на глобальной оси. Поэтому, если вы повернете налево и наклоните голову вперед, вы все равно идите вперед в соответствии с исходной позицией (Которая, если вы смотрите влево, означает, что вы пойдете вправо). Я пытаюсь исправить это, чтобы вы могли идти вперед и стрейч относительно направления, с которым сталкивается камера, но не повезло. У меня есть сильное чувство, что это что-то смехотворно просто, но я просто не могу найти его. Любая помощь очень ценится!Перемещение сферы относительно поворота камеры
Вот что я имею на катящейся сфере прямо сейчас:
public GameObject RightCamera;
void FixedUpdate(){
float angleX = RightCamera.transform.eulerAngles.x;
angleX = (angleX > 180) ? angleX - 360 : angleX;
float angleZ = RightCamera.transform.eulerAngles.z;
angleZ = (angleZ > 180) ? angleZ - 360 : angleZ;
Vector3 movement = new Vector3 (-angleZ, 0, angleX);
GetComponent<Rigidbody>().AddForce (movement);
}
Я предполагаю, что вы просто применяете это движение непосредственно к каким-то игрокам? вам нужно настроить вектор вперед вместо этого. – Sayse
Я применяю его к катящейся сфере, потому что мне понравилось, как он катится. Это означает, что я не могу использовать локальное вращение сферы, потому что, когда шары идут, он катится. – syverlauritz