我目前正在使用Google的ARCore和云锚来开发android应用程序,并且在单击按钮时使对象在网络上更改位置时遇到了问题。问题必须出在实际按钮周围,因为我知道按钮可以运行该函数,但它并没有执行我想要的操作,如果我从播放器脚本中调用该函数,它就可以正常工作(但是我需要这样做点击按钮!),我已经坚持了好几天了。这里的一些启示将不胜感激。如果有人想知道,我只是在尝试编辑(如我所学习的)云锚的示例代码,因此源代码属于Google。 [我坚持使用的代码] [1]
我想要实现的是一个简单的转换。在对象上进行转换,并使此动作对客户端可见。
注意事项: 按钮具有网络身份 不同功能可进行任何类型的移动/旋转 播放器预制件具有网络标识 有问题的对象预制件具有网络转换组件
我的代码显示如下:
[Command]
public void CmdSpawnStar(Vector3 position, Quaternion rotation)
{
//if conditional that stops further object placement until touchCounter is reset to a 0
if (touchCounter == 0)
{
// the object at hit pose
PlaceableModel = Instantiate(StarPrefab, position, rotation);
PlaceableModel.transform.Rotate(0, k_ModelRotation, 0, Space.Self);// Compensate for the hitPose rotation facing away from the raycast (i.e. camera).
NetworkServer.Spawn(PlaceableModel);
touchCounter++;
}
}
[Command]
public void CmdFlyUp()
{
_ShowAndroidToastMessage("UP button is pressed");
PlaceableModel.transform.Translate(0, 0.1f, 0);
}