我无法改变我的FPSController的位置

问题描述 投票:0回答:2

我在Unity中创建了一个简单的射手,我想改变我的Player(FPSController)的位置。我只能在Prefab中改变位置,但这对我来说没用。如果我调用像“InstantiatePlayer()”这样的函数来尝试改变位置,则玩家将在0.1秒后被传送回旧位置。

public void InstantiatePlayer()
{
    GameObject temp = Instantiate(PlayingplayerPref);
    temp.transform.position = new Vector3(31, 6, 7);
}
c# unity3d position
2个回答
1
投票

vgro的解决方案没问题,但是你应该使用Quaternion.identity,而不是创建一个新的Quaternion,这里不会有很大的不同,但这是一个很好的做法


0
投票

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

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

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

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

希望这可以帮助 :)

© www.soinside.com 2019 - 2024. All rights reserved.