Нужно отобразить угол поворота в единой сцене - PullRequest
0 голосов
/ 27 марта 2019

Я разрабатываю сцену единства для захвата значений поворота игрового объекта. Так что в моей сцене игровой объект будет вращаться динамически, а текстовое поле будет отображать значения вращения. Теперь мне нужна кнопка в сцене, которая может захватить это значение поворота при нажатии и выполнить желаемое действие. Пожалуйста, дайте мне знать, как этого добиться. Спасибо.

1 Ответ

0 голосов
/ 27 марта 2019

Я предполагаю, что вы хотите отобразить углы Эйлера (градусы) в пользовательском интерфейсе. Во-первых, вам необходимо добавить текстовый объект, например TextMesh . Но важной частью является извлечение вращения. Вы можете получить его из углов Эйлера.

int rotationX = myGameObject.transform.eulerAngles.x;
int rotationY = myGameObject.transform.eulerAngles.y;
int rotationZ = myGameObject.transform.eulerAngles.z;

Однако имейте в виду, что вращение, отображаемое в инспекторе, не обязательно соответствовать реальному. Это связано с тем, что вращения фактически представлены кватернионами, и вы можете добиться конкретного вращения с помощью нескольких различных угловых комбинаций.

Чтобы установить текст, сначала вам нужна ссылка на переменный TextMesh, а затем вы получаете доступ к полю «текст».

public TextMesh myText;

// rest of code...

myText.text = rotationX.ToString(); // or any other value...
...