我无法更改FPSController的位置

时间:2019-02-14 11:02:22

标签: c# unity3d position

我在Unity中创建了一个简单的射击游戏,我想更改播放器(FPSController)的位置。我只能在Prefab中更改位置,但这对我没有用。 如果我在调用“ InstantiatePlayer()”之类的函数来尝试更改位置时,播放器将在0.1秒后传送回原来的位置。

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

2 个答案:

答案 0 :(得分:1)

vgro的解决方案还可以,但是与其创建一个新的四元数,不如使用Quaternion.identity,在这里并没有太大的区别,但这是一个好习惯

答案 1 :(得分:0)

您可以在实例化时指定位置。

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

如果您不想指定旋转度,只需将四元数设置为(0,0,0,0),这样您就可以了

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

希望这会有所帮助:)