【问题标题】:Unity c# Photon - Set Parent of PhotonNetwork.Instantiate objectUnity c# Photon - 设置 PhotonNetwork.Instantiate 对象的父级
【发布时间】:2021-08-23 10:10:18
【问题描述】:

我要做的是设置新工具的父级并使其在服务器上可见,例如“PhotonNetwork.Instantiate”

var drop = PhotonNetwork.Instantiate("Tools/Weapons/" + Tool.name, transform.position, Quaternion.identity);
            
drop.transform.SetParent(collider.gameObject.transform.GetChild(0).GetChild(0));


使用 drop.transform.SetParent 只对本地玩家可见。

如果你有任何问题,问:)

【问题讨论】:

    标签: c# unity3d photon


    【解决方案1】:

    我认为这段代码 drop.transform.SetParent(collider.gameObject.transform.GetChild(0).GetChild(0)); 不会在任何其他客户端或服务器中执行。所以我将创建一个附加到对象的脚本,以便在创建对象时设置父对象;

    using UnityEngine;
    
    public class SetParent : MonoBehaviour
    {
    
    public GameObject Tool;
    // Start is called before the first frame update
    void Awake()
    {
        gameObject.transform.parent = FindParent();
    }
    
    private Transform FindParent()
    {
        Transform parent;
        //Find object should be parent
        return parent;
    }
    }
    

    【讨论】:

    • 不工作:(返回父级有问题;.
    • 当然,你必须自己找到父对象,例如通过标签或层或类附加到父对象
    【解决方案2】:

    示例:为父对象“Parent”设置标签。然后就可以通过这段代码找到对象了: parent = GameObject.FindGameObjectWithTag("Parent").transform;

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-21
      相关资源
      最近更新 更多