2016-09-22 4 views
0

Я делаю онлайн бильярдную игру. Я закончил все механики для одиночного игрока, системы онлайн-счетов, системы онлайн-инвентаря и т. Д. Все в порядке, но теперь я стал самым трудным участником, мультиплеер. Я пробовал синхронизировать положение каждого шара в каждом кадре, но движение было совсем не гладким, шары двигались вперед и назад, и в целом это выглядело «плохо». У кого-нибудь есть решение для этого? Как делают другие бильярдные игры, подобные тем, что делают в Miniclip, я честно застрял здесь и разочаровался, так как мне потребовалось некоторое время, чтобы узнать, как работать с сетью Photon, чтобы выяснить, что это не так хорошо для обработки синхронизации физики.Каков наилучший способ реализовать мультиплеер на бильярде Unity?

Будет ли uNet лучшим выбором здесь?

Я ценю любую помощь, которую вы мне даете. Спасибо!

ответ

0

Это делается уже PUN: https://www.assetstore.unity3d.com/en/#!/content/15802

Вы можете попробовать играть с настройками синхронизации или реализации пользовательских OnPhotonSerializeView (см DemoSynchronization в пакете каламбур). Убедитесь, что физическое моделирование отключено для синхронизированных клиентов. См. DemoBoxes для примера моделирования физики.

Или, если шары могут двигаться только по линиям, не отправляйте все позиции в каждый кадр. Отправлять позиции и скорости только тогда, когда шары сталкиваются и делают простое моделирование скорости между ними. Это может работать даже с более полной физикой, но общее правило одно и то же: синхронизировать его в ключевых точках. Конечно, это не так просто, как автоматическая синхронизация.

Также обратите внимание, что классический бильярд - игра с разворотом, и у вас нет всей сложности взаимодействия игроков. В худшем случае вы можете «записать» имитацию текущего клиента клиента и «воспроизвести» его на других.

+0

Эй, я пробовал синхронизировать скорость, положение и угловую скорость шаров, но все же результаты не совпадают, они отличаются от одного клиента к другому. Любая помощь ? – Ssiro

+0

Что касается реализации физики в DemoBoxes? Почему-то это не работает для вас? – photonians