Четверг, 24 Июня 2021, 14:36

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Модератор форума: beril  
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Проблемы с клиентом при игре по сети. (Клиент словно обходит часть кода.)
Проблемы с клиентом при игре по сети.
MaxEggplantДата: Воскресенье, 05 Февраля 2017, 14:52 | Сообщение # 1
был не раз
Сейчас нет на сайте
К примеру, при выстреле должен запускаться таймер отвечающий за промежуток между этими самыми выстрелами, но если на хосте скрпт работает великолепно, то с клиентом начинает происходить какая-то дичь, выстрелы производятся буквально на каждый кадр. Так же, пуля из ствола направляется в точку, указанную райкастом идущим из камеры (вид от третьего лица), и с этим на хосте так же нет проблем, но клиент упрямо направляет пули только вперед, вне зависимости от того, куда целится камера. С начала думал, что проблема в том, что для разделения игроков на объектах не принадлежащих локальному игроку отключаются некоторые скрипты, но нет, это же происходит только на локальном клиенте. Проверено и перепроверено. Думаю проблемы так же не в скриптах, так как хост работает так, как задумано.
В консоли вылезают предупреждения
Цитата

Trying to send command for object without authority.
UnityEngine.Networking.NetworkBehaviour:SendCommandInternal(NetworkWriter, Int32, String)
BulletMove:CallCmdInstnt()
BulletMove:FixedUpdate() (at Assets/Prefabs/Player data/BulletMove.cs:67)

На сколько я понимаю, это предупреждение выскакивает из-за того, что объект пули, создаваемый при выстреле, имеет компонент Network Identity, но не является префабом игрока. Возможно я ошибаюсь.
Прошу вашей помощи в решении этой проблемы!

Добавлено (05 февраля 2017, 14:52)
---------------------------------------------
Примечательно, что при удалении атрибута Command перед функцией отвечающей за выстрел, всё нормализуется. Правда естественно, что в этом случае выстрел не передаётся другим.

SkySupraДата: Понедельник, 06 Февраля 2017, 01:26 | Сообщение # 2
частый гость
Сейчас нет на сайте
Если я ничего не путаю, Command должен вызываться на стороне клиента, но выполняться он (метод) будет на сервере. В свою очередь, если сервер хочет отправить клиентам что-то, то он дёргает ClientRpc (всё это разделяется с помощью флагов isLocalPlayer и isServer). Возможно, что-то с этим напутано.
Также попробуй посмотреть ответы здесь https://www.reddit.com/r....without. Как вариант некорректное расположение компонентов.
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Проблемы с клиентом при игре по сети. (Клиент словно обходит часть кода.)
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2021 Рейтинг