Multiple Additive Scenes

В Build Settings, удалите все сцены и добавьте эти обе сцены из папки со сценами:

  • Main

  • Game

Откройте Main scene в редакторе и убедитесь что поле Game Scene в MultiScene Network Manager'e на сетевом объекте с сцене хранит в себе сцену Game. Это уже настроено по умолчанию, но если сцена Main была открыта и сохранена перед назначением её в Build Settings list, поле сцены Game может быть случайно очищено.

MultiScene Network Manager

Сетевой менеджер MultiScene является производным от базового сетевого менеджера и отвечает за дополнительную загрузку экземпляров subscene и размещение игроков в их соответствующих экземплярах subscene, а также инициализацию SyncVar игроков. В нем есть поле сцены Game, где назначается игровая подписка, и поле экземпляров, чтобы указать, сколько экземпляров загружается на сервер.

Дополнительно, объект NetworkManager должен содержать в себе компонент Scene Interest Management.

В этом примере экземпляры subscene дополнительно загружаются на сервер с помощью localPhysicsMode = LocalPhysicsMode.Physics3D. Физические субсцены не моделируются автоматически, поэтому в каждой сцене есть игровой объект с общим скриптом PhysicsSimulator висящем на нём же. Этот скрипт ничего не делает на клиенте, только на сервере.

Клиенты всегда имеют только один экземпляр субсцены, загружаемый дополнительно (без localPhysicsMode), в то время как на сервере есть все эти субсцены.

Playing in the Instances

File -> Build and Run

Запустите как минимум 3 экземпляра игры: Все они будут игроками-клиентами.

Нажмите Play в редакторе и нажмите Host (Сервер + Клиент) в HUD - это будет хост и 1-й игрок. Вы также можете использовать Server only по своему усмотрению.

Щелкните Client в созданных экземплярах.

  • WASDQE клавиши для перемещения и поворота капсулы плеера, пробел для прыжка.

  • Столкновение с маленькими цветными шарами приносит очки в зависимости от их цвета.

  • Столкновение с большими тумблерами заставляет их вращаться... На стороне сервера они с Rigidbody non-kinematic.

  • В верхней части игрового окна отображаются только результаты игроков в одной и той же субсцене.

Last updated