повернуть объект, противоположный положению камеры xy - PullRequest
0 голосов
/ 30 марта 2020

Я пытаюсь написать сценарий c#, чтобы шар и стрелка указывали направление, в котором находится игрок (камера) (не смотрит, фактическое положение), я приложил изображение того, что я пытаюсь сделать Я попробовал несколько вещей, но я в значительной степени на первом месте. Спасибо. enter image description here

Я сделал стрелку дочерней по отношению к шару, когда я поворачиваю вращение шара по оси Y, стрелка движется соответственно, но я не знаю, как перевести значения моей камеры к значению моего мяча у.

1 Ответ

0 голосов
/ 30 марта 2020

Чтобы вращение стрелки полностью не зависело от шара, сделайте пустым дочерним элементом шара, назовите его «стрелка», а затем сделайте стрелку дочерним элементом стрелки:

ball
├── arrow arm
│   └── arrow

Убедитесь, что стрелка направлена ​​вперед в направлении стрелы.

Затем найдите положение мяча и игрока, но установите на одной высоте. Затем установите вращение стрелы Arm, используя Quaternion.LookRotation, чтобы вычислить вращение, соответствующее желаемому направлению взгляда:

Vector3 floorBallPos = ball.transform.position;
floorBallPos.y = 0f;

Vector3 floorPlayerPos = player.transform.position;
floorPlayerPos.y = 0f;

arrowArm.transform.rotation = Quaternion.LookRotation(floorBallPos - floorPlayerPos);

Запустите этот код на каждом кадре, в котором нуждается стрелка должны отображаться, в том числе и во время вращения мяча, если вы хотите, чтобы стрелка отображалась.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...