【问题标题】:Unity 5.4. Turn child's mesh renderer in Multiplayer团结 5.4。在多人游戏中打开孩子的网格渲染器
【发布时间】:2016-12-18 12:18:31
【问题描述】:

我想让人们在多人游戏的场景中四处走动。有一次我想关闭身体的网格渲染器。 (身体是孩子的对象) 所以我写了 Body.GetComponent<MeshRenderer> ().enabled = false; 在网络行为脚本中。很遗憾,这不会在网络中同步。

如何同步?

【问题讨论】:

    标签: c# unity3d unityscript unity5


    【解决方案1】:

    我假设您使用的是 Unity UNET。

    1. 创建一个布尔值。
    2. 将其标记为 [SyncVar]
    3. 编写一个挂钩函数。当布尔变量更改其值时,UNET 将自动调用该钩子函数。

    链接:https://docs.unity3d.com/ScriptReference/Networking.SyncVarAttribute.html

    [SyncVar(hook = "OnSomeValueChange")]
    public bool isMeshEnabled;
    
    public void OnSomeValueChange(bool valueToChangeTo)
    {
         isMeshEnabled = valueToChangeTo;
         // Enable/Disable client's mesh here
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-10-20
      • 1970-01-01
      • 2014-10-24
      • 2013-01-19
      • 2013-09-02
      • 2022-01-06
      • 1970-01-01
      相关资源
      最近更新 更多