Size: a a a

2020 November 15

С

Сэр MSTR in Unreal Engine
Vladimir Kuleshov
Нужен совет
Есть персонажи силуэт которых отличается от капсуля. Низкие и длинные. Допустим крокодилы.  Сейчас они перемещаются с помощью CharacterMovementComponent и соответственно реагируют на капсуль, который не отвечает их габаритам.  Их коллизии с препятствиями обрабатываются неверно -  если сделать капсуль по росту, то он будет гораздо уже чем нужно, если по ширине, то гораздо выше чем нужно
Написание своего кастомного мувмента для некапсульных персонажей в разумные сроки думаю не осилю.
Для того чтобы разруливать им движение хочу повесить дополнительно коллижен , который будет больше подходить к их форме, а капсуль будет отвечать только за взаимодейсвие с "полом". Дополнительный колижен отлавливает столкновения с препятствиями и останавливает движение на мувмент компоненте при столкновении,  либо дает  импульс если нужно.
Как вариант тоже самое трейсить в тике отлавливая столкновения.
Насколько такой подход адекватен. Не будет ли дополнительный колижен компонент на персонаже сильно просаживать производительность?
Может есть какой-то другой вариант для таких случаев?
Не понял чем тебя не устраивает подгонка капсулы под персонажа, её же можно и по высоте изменить и по диаметру, то есть любую форму фактически
источник

И

Иван in Unreal Engine
Сэр MSTR
Не понял чем тебя не устраивает подгонка капсулы под персонажа, её же можно и по высоте изменить и по диаметру, то есть любую форму фактически
ты предлагаешь ее на бок положить?
источник

SD

Shark Dark in Unreal Engine
Иван
ты предлагаешь ее на бок положить?
источник

К.

Кирилл .AJIADb9... in Unreal Engine
Сэр MSTR
Не понял чем тебя не устраивает подгонка капсулы под персонажа, её же можно и по высоте изменить и по диаметру, то есть любую форму фактически
Капсула работает так, что она не может быть шире своей высоты, ну и положить на бок рут нельзя
источник

К.

Кирилл .AJIADb9... in Unreal Engine
Вроде бы, можно кодом сказать компоненту, мол, вот тебе новая капсула - её трогай, а ту не трогай
источник

К.

Кирилл .AJIADb9... in Unreal Engine
@skeptis но я очень мельком там всё смотрел ещё
источник

И

Иван in Unreal Engine
можно капсулу использовать только для того чтоб на земле держать, для всего остального физассет
источник

И

Иван in Unreal Engine
наверное
источник

VA

Vladimir Alyamkin in Unreal Engine
Vladimir Kuleshov
Нужен совет
Есть персонажи силуэт которых отличается от капсуля. Низкие и длинные. Допустим крокодилы.  Сейчас они перемещаются с помощью CharacterMovementComponent и соответственно реагируют на капсуль, который не отвечает их габаритам.  Их коллизии с препятствиями обрабатываются неверно -  если сделать капсуль по росту, то он будет гораздо уже чем нужно, если по ширине, то гораздо выше чем нужно
Написание своего кастомного мувмента для некапсульных персонажей в разумные сроки думаю не осилю.
Для того чтобы разруливать им движение хочу повесить дополнительно коллижен , который будет больше подходить к их форме, а капсуль будет отвечать только за взаимодейсвие с "полом". Дополнительный колижен отлавливает столкновения с препятствиями и останавливает движение на мувмент компоненте при столкновении,  либо дает  импульс если нужно.
Как вариант тоже самое трейсить в тике отлавливая столкновения.
Насколько такой подход адекватен. Не будет ли дополнительный колижен компонент на персонаже сильно просаживать производительность?
Может есть какой-то другой вариант для таких случаев?
варианты:
1. модифицировать код кэрэктер мувмента и обкладывать его костылями на такой кейс (будет больно)
2. не использовтаь кэрэктер мувмент и написать свое (норм)
3. страдать (обычное дело), потому что никакой обвес коллизиями тебе не поможет
источник

И

Иван in Unreal Engine
так, собственно, проблема-то в чем?) зачем все это?
источник

VA

Vladimir Alyamkin in Unreal Engine
Иван
так, собственно, проблема-то в чем?) зачем все это?
проблема - если у тебя персонаж - крокодил, ты запаришься сделать ему человеческую коллизию и мувмент
источник

VA

Vladimir Alyamkin in Unreal Engine
или лошадь
источник

VA

Vladimir Alyamkin in Unreal Engine
лошадь - вообще краеугольный камень мироздания
источник

И

Иван in Unreal Engine
Иван
можно капсулу использовать только для того чтоб на земле держать, для всего остального физассет
а такой вариант именно для коллизий пойдет же?
источник

И

Иван in Unreal Engine
плане реалистичности передвижения - рутмоушен анимации
источник

VA

Vladimir Alyamkin in Unreal Engine
Иван
а такой вариант именно для коллизий пойдет же?
нет. ну т.е. движение персонажа управляется целиком капсулой.
источник

VA

Vladimir Alyamkin in Unreal Engine
там конечно можно кучу всего придумать, например оставить капсулой по минимальному радиусу, и просто сделать так, чтобы оно в стену не втыкалось, сдвигая меш относительно капсулы. но это если узких проходов нет.
источник

И

Иван in Unreal Engine
да ради бога, пусть управляется, у нас же проблема в скольжении? или нет?)
я бы оставил капсулу, поработал над физассетами, выставил соответствующие каналы коллизии
мне кажется что-то такое
источник

И

Иван in Unreal Engine
из более-менее простых вариантов
источник

И

Иван in Unreal Engine
а так мало инфы о самой проблеме
источник