2015-03-08 9 views
0

Я делаю игру Unity для Oculus VR с использованием C#.Сделать объект прямо перед камерой OCULUS

Я хочу протестировать простой прыжок, где объект внезапно появляется прямо в вашем «лице».

У меня проблемы с установкой положения этого объекта. Прямо сейчас я передаю позицию и поворот игроков этой функции.

public void ScareMe(Vector3 pos, Quaternion rot){ 
    girlSmiling.transform.position = new Vector3(pos.x, 0.9f, pos.z- 1.3f); 
    //girlSmiling.transform.LookAt (pos); 
    girlSmiling.transform.rotation = rot; 
    //other irrelevant stuff 
} 

мне нужно сохранить у позиции для моего испуга (девушка), потому что в Окулусе ваша высота регулируется, и это не соответствует вашей среде, так что мне нужно, чтобы оставить его на 0.9f. Я попробовал функцию LookAt, но она не работает так хорошо, как хотелось бы, чтобы она работала.

Проблема остается в том, что девушка появляется прямо передо мной, только когда я смотрю прямо. Когда я двигаю головой, что, скорее всего, будет реальным в игровой ситуации для Oculus, она выглядит немного правее или слева или даже сзади.

Я не понимаю, почему это происходит. Как я могу установить ее положение, чтобы она всегда стояла лицом ко мне прямо передо мной?

ответ

1

Вы всегда можете попытаться сделать вашу пугающую девочку дочерью вашего объекта камеры-головы. Выполняя это, объект будет следовать за головой камеры и вращаться вместе с ним.

girlSmiling.transform.parent = ...Here you can put the transform of the Camera head. 

Вы можете позиционировать объект до родительства или после его воспитания (с местным расположением должно быть проще).

Надеюсь, это поможет, удачи!

+0

Это не работает :(Я устанавливаю родительский элемент для преобразования камеры, но девушка даже не появляется сейчас. Я попытался установить ее положение перед установкой родителя, но она все еще не появлялась. – Romaldowoho

+0

Хорошо, попробуйте следующее: 1 - Сделать объект ребенка камеры 2 - Se ЛОКАЛЬНЫЙ положение улыбающейся девушки в крайнее переднее положение камеры этот код:. transform.parent = Camera.main.transform ; // или объект вашей камеры // transform.localPosition = Camera.main.transform.forward; После этого изменения, если вы не видите объект в своей камере, пожалуйста, проверьте значение NEAR вашей камеры эры и сделать их меньше. – Drewen

+0

@ Romaldowoho с отрицанием на z-index, я бы никогда не ожидал увидеть объект, прикрепленный к головному объекту ребенка. Линия pos.z-1.3f приложила бы девушку к затылку, поэтому, когда вы развернетесь в VR, вы ее никогда не увидите :( – clamchoda

 Смежные вопросы

  • Нет связанных вопросов^_^