Я не могу изменить положение моего FPSController - PullRequest
0 голосов
/ 14 февраля 2019

Я создал простой шутер в Unity и хочу изменить положение моего игрока (FPSController).Я могу изменить положение только тогда, когда я делаю это в Prefab, но это бесполезно для меня.Если я вызываю такие функции, как «InstantiatePlayer ()», где он пытается изменить позицию, игрок будет телепортирован через 0,1 с обратно в старую позицию.

public void InstantiatePlayer()
{
    GameObject temp = Instantiate(PlayingplayerPref);
    temp.transform.position = new Vector3(31, 6, 7);
}

Ответы [ 2 ]

0 голосов
/ 14 февраля 2019

Решение vgro в порядке, но вместо создания нового Quaternion вы должны использовать Quaternion.identity, здесь не будет большой разницы, но это хорошая практика

0 голосов
/ 14 февраля 2019

Вы можете указать положение при создании экземпляра.

Instantiate(Object PlayingplayerPref, Vector3 position, Quaternion rotation); 

Если вы не хотите указывать вращение, просто установите кватернион на (0,0,0,0), поэтому у вас будет

Instantiate(PlayingplayerPref, position, new Quaternion(0,0,0,0);

Надеюсь, это поможет:)

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