【问题标题】:Unity: Instantiate Object at position of another objectUnity:在另一个对象的位置实例化对象
【发布时间】:2015-02-26 14:42:33
【问题描述】:

我可能会以错误的方式进行此操作,但我希望在对象 playerSpawn 处生成 playerPrefab。目前它会在其他位置生成。

var made = Network.Instantiate(playerPrefab, transform.position, transform.rotation, 0);

made.GetComponent(playerMove).playerName = playerName;

【问题讨论】:

    标签: c# unity3d network-programming multiplayer


    【解决方案1】:

    Object.Instantiate
    public static Object Instantiate(Object original, Vector3 position, Quaternion rotation);

    您可以使用第二个参数position指定“生成”位置。

    Network.Instantiate 也是如此。

    【讨论】:

    • 即使对象在不同的​​场景中?
    • 在这种情况下,只需让一个游戏对象保存生成值并让它在场景中持续存在。 DontDestroyOnLoad 将为您实现。
    • 抱歉,我不太明白。因为我不能将 playerSpawn 放在另一个场景的检查器中。
    • 但是您可以使用GameObject.Find("myGameObject").position;在代码中获取它
    • 使用DontDestroyOnLoad(GameObject.Find("playerSpawn"));。 DontDestroyOnLoad 需要直接应用于 GameObject。
    猜你喜欢
    • 1970-01-01
    • 2018-12-13
    • 2020-07-06
    • 1970-01-01
    • 1970-01-01
    • 2014-10-18
    • 1970-01-01
    • 1970-01-01
    • 2023-01-14
    相关资源
    最近更新 更多