Полезное

Мы Вконтакте

Discord канал

#
12
След.
Модератор: icms
Аватара пользователя
Пользователь
Сообщения: 4069
Agny писал(а):
В описании плагина написано что он позволяет согласовать плеер контролер с джойстиком.

не уверен что этот плагин подойдет для выделенного сервера, но уверен что виртуальные джойстики UE4 будут работать корректно, если логика верна.
Аватара пользователя
Пользователь
Сообщения: 46
В том то и дело, что логика верна) Чтобы в мультиплеере привязать что-либо к конкретному игроку, нужно при создании этого объекта указать владельцем, к примеру, player controller (я уже видел то видео, на которое вы давали ссылку. Там нет мультиплеера, но принцип присоединения интерфейса к конкретному игроку воспроизведён верно. Чтобы сделать тоже самое, например, с widget нужно к вкладке owner присоединить player controller и тогда каждый игрок получит свой независимый экземпляр widget). Но с джойстиками это не срабатывает. Более того, вот что странно: если вызвать функцию activate touch interface со значением none у каждого из игроков (да, ещё непонятный нюанс - нет специализированной функции убрать touch interface - только активировать пустой... Непонятно...) и убрать у всех игроков джойстики, а потом активировать touch interface у клиента 2, локально, то эти джойстики всё равно подключаться к клиенту 1! Даже если логику запустить чисто на клиенте (есть специальный разделитель switch has authority), а не на сервере всё равно произойдёт подключение по сети к первому игроку.

Судя по тому, что джойстики "ломают" все созданные epic games функции для мультиплеера (не работает стандартная привязка к игроку, не действует на них разделение логики на два пути - логику сервера и логику клиента) у меня закрадывается подозрение, что с джойстиками где-то напортачили сами создатели движка и использовать их в мультиплеере в принципе невозможно! Вопрос в том, как их тогда заменить...

Наверное стоит напомнить и про другие вопросы, заданные в этой теме, а то здесь уже началась вторая страница.
1) Posses в мультиплеере - своеобразным решением стало (хорошо, что проект позволяет это) не использовать эту функцию вовсе, так как в пределах одного уровня мне между персонажами переключатся не нужно. А для каждой карты в world settings можно установить в настройках свой game mode для нужного на этой карте персонажа, с которым можно общаться с ним через get player controller -> get controller pawn. Но всё же интересно, как можно воспользоваться данной функцией.
2) Как ни странно, но всё, кроме джойстиков работает и без репликации (ну, пару переменных пришлось реплецировать, чтобы избавиться от сообщений в message log).
3) Джойстики... Ну, с ним да, та ещё проблема.
4) Итак, я освоил create session (создать игровую сессию) и join session (присоединится к игре) и после того, как встретил второго персонажа я понял, что ни один из элементов добавляемый add static mesh component не виден у других игроков, хотя галочка у репликации стоит! А на этом построена большая часть игры. Причём с репликацией данной функции, как я заметил создав отдельный проект для экспериментов, ситуация доходит до абсурда. Например: я на одном из клиентов могу другим игроком буквально играть в пинг-понг кидая его по всей карте, создав вокруг своего игрока платформу (проверял в Thir Person), а с летающим по карте игроком с его точки зрения ничего не происходить. Причём если он сделает любое движение (например пробел у него нажму), то с точки зрения кидавшегося им игрока произойдёт мгновенная телепортация персонажа. Даже не поймёшь, смотря на всё это, что с этой ситуации делать - смеяться или ругать всех и вся.
Аватара пользователя
Пользователь
Сообщения: 4069
Alexander2002 писал(а):
В том то и дело, что логика верна)

Тогда следует писать в службу поддержки эпик геймс, мб они не в курсе что виртуальные джойстики по сети не работают, и сетевые игры на мобильных устройствах невозможны.

Alexander2002 писал(а):
ни один из элементов добавляемый add static mesh component не виден у других игроков, хотя галочка у репликации стоит!

и про это тоже стоит упомянуть.
Аватара пользователя
Пользователь
Сообщения: 46
3) Наконец-то узнал в чём проблема. Как оказалось проблема в тестировании проекта в редакторе. В настройках запуска в разделе advanced settings раздел multiplayer options. Там у настройки Use Single Process по умолчанию стоит галка. Эта опция делает следующее: "Spawn multiple player windows in a single instance of UE4. This will load much faster, but has potential to have more issues.", что переводится как "Создайте несколько окон проигрывателя в одном экземпляре UE4. Это будет загружаться гораздо быстрее, но потенциально может иметь больше проблем.". Чтобы тестировать максимально приближено к проекту на устройстве стоит эту галочку снять и выставить в появившейся на месте этой опции настройки "Play As Listen Server" - аналог dedicated server. Тогда джойстики будут работать верно. Но при использовании этой опции стоит учесть пару нюансов:
1) При запуске первое окно будет принадлежать только серверу. Не стоит тестировать логику клиентов (игроков пользующихся приложением) в этом окне. Если хотите протестировать логику клиента, то нужно выставить минимум 2 игрока (одно окно сервер и одно клиент). Если нужно протестировать взаимодействие игроков, то соответственно в числе игроков нужно выставить минимум 3 (окно сервера - честно не знаю, какая от него практическая польза - я его сразу сворачиваю (именно сворачиваю - закрывать крестиком его нельзя - всё выключится, а вот закрывать окна клиентов теперь можно) и, соответственно два окна клиентов).
2) Перед запуском (или в процессе него, у вас этого потребуют в выпадающем окне) нужно выполнить Save All - сохранить всё. Без сохранения полноценно протестировать игру невозможно. Если вы не используете джойстики или можете обойтись без них (пока что замечено влияние только на них), то для тестирования проще не использовать эту опцию.
Аватара пользователя
Пользователь
Сообщения: 4069
сам дошел или здесь прочитал? -
https://docs.unrealengine.com/en-US/Eng ... index.html
https://docs.unrealengine.com/en-US/Eng ... index.html

p.s. следуя из перевода наверно все же почитал документацию)), поздравляю, какая то галочка где то, действительно может вынести весь мозг.


Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 17

UEngine.ru © 2017
Все права защищены. При копировании материалов с сайта, ссылка на первоисточник обязательна.
Яндекс.Метрика
Главная страница