我的游戏中有一个立方体,可以在注视另一个对象的同时在其初始状态和较大状态之间徘徊。这在单人游戏中效果很好,但是当我将其带入多人游戏时,我找不到正确的选项组合来更新两个客户端(一个是主机)。每个玩家仍可以激活自己的多维数据集,但不会在另一台计算机上显示。该脚本位于具有网络标识的按钮上,它访问具有网络标识和网络转换的多维数据集。

单人游戏代码参考:

void Update () {

    if (Camera.main != null) {
        RaycastHit hit;
        Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
        if (Physics.Raycast(ray, out hit)) {
            if (hit.collider.gameObject == gameObject && hit.distance < 5) {
                PlatformScale();
            } else {
                PlatformReset();
            }
        }
    }
}

void PlatformScale () {
    platform.transform.localScale = Vector3.Lerp (platform.transform.localScale, platformScale, 3f * Time.deltaTime);
}
void PlatformReset () {
    platform.transform.localScale = Vector3.Lerp (platform.transform.localScale, platformStartingScale, 3f * Time.deltaTime);
}

最佳答案

因此,经过大量搜索后,我发现您无法在Unet中同步localScale,这是一个突出的错误。我已更改代码以使用位置而不是局部比例。感谢您的所有帮助。

08-17 18:44