Unity c# Photon - 设置 PhotonNetwork.Instantiate 对象的父级
Posted
技术标签:
【中文标题】Unity c# Photon - 设置 PhotonNetwork.Instantiate 对象的父级【英文标题】:Unity c# Photon - Set Parent of PhotonNetwork.Instantiate object 【发布时间】: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 只对本地玩家可见。
如果你有任何问题,问:)
【问题讨论】:
【参考方案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;
【讨论】:
以上是关于Unity c# Photon - 设置 PhotonNetwork.Instantiate 对象的父级的主要内容,如果未能解决你的问题,请参考以下文章