Полезное

Мы Вконтакте

Discord канал

#
Модератор: icms
Аватара пользователя
Пользователь
Сообщения: 42
Если не против я заменю "сущность" на реплицируемый объект.

Сервер прекрасно справится физикой - и это будет правильнее и отправка пакетов будет без лишних задержек.
Получит от клиента вектора и импульсы столкновений.
Во время просчёта физики и будет отправлять клиентам координаты и вращение.

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

Сейчас это вообще считается модой переносить вычисления на сервер т.к. обороты набирает мобильный контент, возьмём тот же пиксельстриминг, да и вообще облачные вычисления.
Аватара пользователя
Пользователь
Сообщения: 4069
val_il писал(а):
Во время просчёта физики и будет отправлять клиентам координаты и вращение.

тоесть он будет отправлять трансформ каждой кости?, ты так себе представляешь репликацию физики?
Аватара пользователя
Пользователь
Сообщения: 42
Prytaleks писал(а):
val_il писал(а):
Во время просчёта физики и будет отправлять клиентам координаты и вращение.

тоесть он будет отправлять трансформ каждой кости?, ты так себе представляешь репликацию физики?


Я про скелетную анимацию вообще ничего не говорил.
Аватара пользователя
Пользователь
Сообщения: 2319
для скелеток - тоже никаких проблем нет репать... реально хуманоиду для симмуляции физики надо 13 костей
16*13 получаем 208 байт на персонажа... абсолютно смешной размер. 13.312 кб на 64 персонажей. + накладные расходы на контейнеры.
_________________
we need to go deeper
Аватара пользователя
Пользователь
Сообщения: 67
Snake писал(а):
для скелеток - тоже никаких проблем нет репать... реально хуманоиду для симмуляции физики надо 13 костей
16*13 получаем 208 байт на персонажа... абсолютно смешной размер. 13.312 кб на 64 персонажей. + накладные расходы на контейнеры.


Я правильно понял. То есть трансформ 1 детали (кость, меш и т.д.) это 16 байт 1 посылка?

val_il писал(а):
Даже обработки клавиш клиента сейчас происходит на сервере, он проверяет возможно ли перемещение персонажа с такой скоростью или нет, а потом мультикастит всем клиентам.

Сейчас это вообще считается модой переносить вычисления на сервер т.к. обороты набирает мобильный контент, возьмём тот же пиксельстриминг, да и вообще облачные вычисления.


Уже всё обкатал и всё отлично:) Двигаю только на серваке, физика только на серваке а клиент раз в 0.02 получает обновлённый LOCATION и
ROTATION и тиково смещается с интерполяцией.

Тест был на 100 танков через стим, массовое использование АИ тоже не вызвало просадок. Панацеей оказалось делай 0.02 для AUTHORITY таймера сервера который и скидывает координаты ну тиковая интерполяция только REMOTE у клиента.
Если повесить передачу координат на тик то всё ляжет даже с 20 танками:)

К слову оказалось что component PHYSIC CONSTRAINT не реплицируется по сети что весьма печально ибо пришлось отрубить подвеску ну или придётся добавить еще 1 интерполяцию чисто для кузова.
Аватара пользователя
Пользователь
Сообщения: 4069
Snake писал(а):
для скелеток - тоже никаких проблем нет репать... реально хуманоиду для симмуляции физики надо 13 костей
16*13 получаем 208 байт на персонажа... абсолютно смешной размер. 13.312 кб на 64 персонажей. + накладные расходы на контейнеры.

и как часто нужно передавать эти данные что бы на клиентах получилась качественная и плавная анимация?, и почему эпики не включили репликацию для скелеток если это не проблема?
Аватара пользователя
Пользователь
Сообщения: 42
Prytaleks писал(а):
Snake писал(а):
для скелеток - тоже никаких проблем нет репать... реально хуманоиду для симмуляции физики надо 13 костей
16*13 получаем 208 байт на персонажа... абсолютно смешной размер. 13.312 кб на 64 персонажей. + накладные расходы на контейнеры.

и как часто нужно передавать эти данные что бы на клиентах получилась качественная и плавная анимация?, и почему эпики не включили репликацию для скелеток если это не проблема?


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

Андрей, мне как то попадалась инфа про формирование пакетов в анриле. На сколько Я понял используется UDP и пока пакет нее заполнится, он не отправится. И где-то можно что-то подкрутить чтобы пакеты отправлялись без заполнения целиком (возможно Я что то не так понял или прочёл вскользь).
Аватара пользователя
Пользователь
Сообщения: 4069
val_il писал(а):
Скелетная анимация обрабатывается у клиента в зависимости от движения капсулы, просто нет смысла её передавать, если она и так правильно проигрывается по анимации заложенной у каждого клиента . Но когда включается физика тела, например при смерти перса, то тогда её и иногда реплицируют .

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

p.s. при симуляции физики тела, капсулу обычно выключат, и смещают ее относительно положению пелвиса.
Аватара пользователя
Пользователь
Сообщения: 42
Prytaleks писал(а):
val_il писал(а):
Скелетная анимация обрабатывается у клиента в зависимости от движения капсулы, просто нет смысла её передавать, если она и так правильно проигрывается по анимации заложенной у каждого клиента . Но когда включается физика тела, например при смерти перса, то тогда её и иногда реплицируют .

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

p.s. при симуляции физики тела, капсулу обычно выключат, и смещают ее относительно положению пелвиса.


Всё правильно, капсула нужна как колайдер взаимодействия и можно вообще обойтись и без неё, а эти переменные в БП как раз и можно реплицировать для анимации на других клиентах. При использовании АБП не надо передавать трансформы разных костей, достаточно предать событие на срабатывание анимации.

Мне кажется что это очевидно.

П.С. Скелетную анимацию можно использовать и без анимаэйшн блюпринт и без перменных.
Аватара пользователя
Пользователь
Сообщения: 4069
val_il писал(а):
Мне кажется что это очевидно.

Да ты ваще капитан очевидность))


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

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