Как расположить 3D объект на экране камеры в единстве - PullRequest
0 голосов
/ 10 октября 2019

У меня есть проект, который имеет дело с AR, поэтому я использую ARFoundation в Unity. Все работает нормально, пока я не хочу разместить свой 3D-объект в левой части экрана. Я пробовал много решений, но ни одно из них не работает. Я пытаюсь взять ширину и высоту экрана и изменить их, затем установить для них положение моего объекта, но это не сработало.

Что мне делать?

1 Ответ

0 голосов
/ 10 октября 2019

Понимание пространства, в котором вы работаете, имеет решающее значение.

Положение экрана - это другое измерение по сравнению с обычным 3D-изображением, которое есть в вашей сцене. Для обмена позициями вам нужно использовать https://docs.unity3d.com/ScriptReference/Camera.WorldToScreenPoint.html и https://docs.unity3d.com/ScriptReference/Camera.ScreenToWorldPoint.html.

. Например, у вас может быть ящик, у которого есть его преобразование в 0.0.0, но в зависимости от того, где вы смотрите на него, ипод каким углом его преобразование остается прежним, но его * положение экрана изменяется.

Использование WorldToScreenPoint может сказать вам, где находится объект сцены на вашем экране (2D), а ScreenToWorldPoint делает обратное (вы даетеэто 2D от вашего экрана, и это дает вам эту позицию в 3D).

...