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