Верни меня на место!
Слушай MasterPork
и узнай об игре всё
Будь красавчиком! ❤️
Перейти к публикации
soorock

Убрать коллизию с мобами на клиенте (разбор фидбека)

Рекомендованные сообщения

 Хотел бы немного разъяснить суть петишки, так как на стриме с Саферо произошла явная дискоммуникация.


 Саферо аргументировал невозможность реализации тем что это усложнит выделение таргета. Но во-первых я не просил менять размеры хитбоксов, во вторых выделение таргета никак не может зависеть от размеров физического тела моба. Ниже разберем как это работает.


 Любой объект в игре можно разделить на его модель, которую 3д художник делает в условном блендере, и его физическое тело - математическая абстракция которая, если совсем упростить, служит для определения какие объекты пересекаются друг с другом и применяет к ним физику. 


 Что происходит когда мы хотим выделить в таргет моба? Есть такая штука как рейкастер - это луч который проецируется из камеры в определенную точку, в нашем случае - это 2д координаты мыши сконвертированные в 3д позицию (скриншот 1).  Каждый раз когда луч пронзает какой-то объект - он добавляет его в список и возвращает этот список программе, которая ищет в нём выделяемый объект. Если он там присутствует - мы успешно выделяе моба. Физическое тело для этого не нужно, рейкастер может работать непосредственно с самой моделькой моба. Чаще всего от модели абстрагируются вовсе и используют для этого какой-то примитив типа невидимого куба. Я не могу знать конкретную реализацию которую использовали корейцы, но вышеописанный способ применяется в 99% случаев.


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


 Скажу больше - то что я прошу сделать уже реализовано для игроков (скриншот 2). Сейчас можно без проблем зайти в другого игрока (при этом его даже спокойно можна выделять О_О). Реализуется это путем добавления групп колизий. То есть мы все еще хотим чтобы мобы коллизились между собой, с землей и статичными объектами - создаем для этого отдельную группу колизий, и не включаем в неё игроков. В итоге в мире ничего не меняется, но игроки могут спокойно проходить сквозь мобов и не застрявать в них. Для эпиков можно оставить все как есть, чтобы нельзя было залезть в моба и тебя было проблематично выделить (хотя такие случаи есть даже при текущей реализации).

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

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

raycast.jpg

Screenshot_9.png

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.
Примечание: вашему сообщению потребуется утверждение модератора, прежде чем оно станет доступным.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу.
×
×
  • Создать...