4

使用 Unity3D 引擎的高级网络 API (HLAPI) 似乎是一种孤注一掷的方法。对于任何希望在多人游戏中使用的游戏对象,(大多数)行为都需要实现为NetworkBehaviours,并且需要网络组件。此外,所有场景都需要网络管理器。我宁愿没有所有单人资产的重复网络启用版本,而且似乎预期的做法是将单人游戏实现为仅具有单个(本地主机)的基于 LAN 主机的网络游戏客户。

我担心的是,在单人模式中,HLAPI 的东西绝对会导致大量开销,这是游戏的主要焦点。这是一个有效的担忧吗?

我考虑了几种缓解技术,但它们在可维护性和代码复杂性方面提出了自己的问题:

  • 两种模式所需的预制件将被复制(违反 DRY:对一个预制件的更改需要手动镜像到另一个)
  • 用多人游戏动态修改或替换单人游戏资产,反之亦然(复杂且可能容易出错)

有哪些更好的缓解技术?或者他们甚至需要?

4

1 回答 1

0

这是一个古老的问题,但我想我还是会解决这个问题。您能否检测到您何时处于单人模式,并在这种情况下使用 Destroy 删除您不需要的组件?例如:

http://answers.unity3d.com/questions/378930/how-delete-or-remove-a-component-of-an-gameobject.html

于 2016-11-21T14:58:59.650 回答