Unity Networking [UNET]:同步静态场景对象

时间:2016-10-12 14:01:18

标签: networking unity3d

大家好!

我对Unity比较陌生,目前正在使用UNET解决新游戏项目。我已经坚持了几天这个问题:如何在Unity中同步现有的(未生成的)场景对象?

我有一个名为“背景”的对象 - 它是一个精灵。当服务器加载映射时,它会更改背景的变换比例。我想要做的就是将它与新连接的客户端同步。

这里的文档说如果对象具有NetworkIndentity和NetworkTransform组件,它应该自动完成。但它对我不起作用! https://docs.unity3d.com/Manual/UNetSceneObjects.html

这是简化的项目: http://prntscr.com/csxoqd 我有精灵40; 40。 然后在OnServerStart中我将它更改为100; 100 - 在主机或服务器上只有它工作得很好!

using UnityEngine;
using System.Collections;
using UnityEngine.Networking;

public class NewBehaviourScript : NetworkBehaviour 
{
    // Use this for initialization
    public  override void OnStartServer()
    {
        this.transform.localScale = new Vector3(100, 100, 1);
    }

    // Update is called once per frame
    void Update () {

    }
}

但在客户端,任何事情都会发生。我尝试在此方法中添加NetworkServer.SpawnObjects();。不起作用。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

我担心UNET仍然不支持transform.scale同步。它不是一年前,它现在仍然是:(

但幸运的是,您可以使用[SyncVar attribute]解决此问题。

相关问题