2015-12-16 3 views
4

Использование высокоуровневого сетевого API-интерфейса Unity3D (HLAPI) кажется все-либо-ничтожным. Для любых игровых объектов, которые, как ожидается, будут использоваться в многопользовательском режиме, (большинство) поведение должно быть реализовано как NetworkBehaviour s, а также необходимы сетевые компоненты. Кроме того, во всех сценариях требуется Network Manager. Я бы предпочел не дублировать сетевые версии всех однопользовательских активов, и кажется, что ожидаемая практика заключается в том, что однопользовательская игра будет реализована как сетевая игра на базе хоста на базе ЛВС с единственной (localhost) клиент.Unity3D HLAPI сетевой сетевой плеер

Мое беспокойство состоит в том, что материал HLAPI, верхом на абсолютно абсолютно всех, приведет к существенным накладным расходам в однопользовательском режиме, который является основным фокусом игры. Является ли это серьезной проблемой?

я рассмотрел методы ослабления пары, но они создают свои собственные проблемы для ремонтопригодности и коды сложности:

  • Prefabs необходим в обеих режимах будет дублироваться (нарушающую просохнуть: изменения в одной сборной необходимости вручную отражение в других)
  • Динамически изменить или заменить однопользовательские активы многопользовательских из них, или наоборот (сложных и потенциально подверженных ошибкам) ​​

Каков некоторые лучшие методы смягчения? Или они даже нужны?

ответ

0

Это своего рода старый вопрос, но я полагаю, что в любом случае я буду убегать. Не могли бы вы обнаружить, когда вы находитесь в режиме одиночного игрока, и в этом случае используйте Destroy для удаления компонентов, которые вам не нужны? Например:

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

+0

Это, к сожалению, не вопрос только удаление компонентов: 'MonoBehaviour's предназначены иметь состояние сети в HLAPI (по времени этот вопрос был написан), должны быть' NetworkBehaviour' s и работать с сетевыми компонентами. Уничтожьте сетевые компоненты, и вы не просто удалите Cruft, но также предотвратите все ваши сетевые действия. –

Смежные вопросы