Unity3d Unity[UNET]同步非玩家对象变换

Unity3d Unity[UNET]同步非玩家对象变换,unity3d,unity-networking,unity3d-unet,Unity3d,Unity Networking,Unity3d Unet,我有一个关于UNET系统的问题 场景中有一些可以拾取的对象。我想在玩家拾取该对象时同步变换该对象 该对象有一个NetworkIdentity组件,并且选中了LocalPlayerAuthority。它还有一个NetworkTransform脚本,但是转换只从主机同步到客户端,而不是从主机同步到客户端。因此,如果我在主机端移动对象,所有客户端都会看到更改,但如果客户端移动对象,则只有特定客户端会看到更改。我需要做什么才能使它在两侧同步?没关系,我已经解决了这个问题 我要做的是使用player对象分

我有一个关于UNET系统的问题

场景中有一些可以拾取的对象。我想在玩家拾取该对象时同步变换该对象


该对象有一个
NetworkIdentity
组件,并且选中了
LocalPlayerAuthority
。它还有一个
NetworkTransform
脚本,但是转换只从主机同步到客户端,而不是从主机同步到客户端。因此,如果我在主机端移动对象,所有客户端都会看到更改,但如果客户端移动对象,则只有特定客户端会看到更改。我需要做什么才能使它在两侧同步?

没关系,我已经解决了这个问题


我要做的是使用player对象
分配非player对象的localauthority

没关系,我已经解决了这个问题


我要做的是通过使用player对象来
分配非player对象的localauthority

您也愿意在答案中分享代码片段吗?我遇到了同样的问题,但不知道如何设置。感谢player对象,使用非player对象的netId参数在命令函数中调用
AssignLocalAuthority
(在主机端调用它)。您可以从NetworkIdentity组件获取netId。我在这样一个非玩家对象上分配权限。希望有帮助:
NetworkManagerVR.Instance.localNetworkPlayer.CmdAssignObjectAuthority(GetComponent().netId)谢谢,但你应该在答案中添加它,以供将来的用户使用。我检查非玩家对象权限是否自动分配给主机。这是正确的吗?因为若我做了主机,那个么我可以直接和非玩家对象交互,并且他们的位置/旋转在网络上平滑同步。虽然对于客户来说情况并非如此,但您是否也愿意在回答中分享代码片段?我遇到了同样的问题,但不知道如何设置。感谢player对象,使用非player对象的netId参数在命令函数中调用
AssignLocalAuthority
(在主机端调用它)。您可以从NetworkIdentity组件获取netId。我在这样一个非玩家对象上分配权限。希望有帮助:
NetworkManagerVR.Instance.localNetworkPlayer.CmdAssignObjectAuthority(GetComponent().netId)谢谢,但你应该在答案中添加它,以供将来的用户使用。我检查非玩家对象权限是否自动分配给主机。这是正确的吗?因为若我做了主机,那个么我可以直接和非玩家对象交互,并且他们的位置/旋转在网络上平滑同步。而对于客户端来说,情况并非如此