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