#screenshotsaturday на DTF

Привет, DTF!

Делимся наработками своих проектов в комментариях.

2.9K2.9K открытий
11 репост

Приветствую всех разработчиков игр!

Я продолжаю разработку простенькой аркадной игры в жанре avoider, попутно изучая движок Unreal Engine. Сейчас разрабатываю для игры динамические препятствия, а за одно и концепцию нового типа арены (до этого была каменно-болотная, эта – песчано-металлическая). В принципе для первой демки думаю достаточно будет два типа арен, для показа основных геймплейных возможностей.

С динамическими препятствиями конечно возникли свои сложности:

Первая сложность: как оказалось при вращении объектов Unreal почему-то не обрабатывает события onHit (в интернете пишут, что это как-то там на оптимизацию влияет). Это приводит к забавной ситуации: если игрок сам наскакивает на препятствия, коллизия отрабатывается хорошо (со статическими неподвижными препятствиями только так и бывает), однако если вращающееся препятствие само наскакивает на игрока, то начинаются серьёзные глюки, дёргание объектов и т.д. В принципе это решается довольно просто – в каждом кадре мы смещаем игрока на плюс-минус один unit по каждой из оси X и Y, с включённом параметром sweep, и коллизии с динамическими препятствиями начинают работать почти как надо. Почти – потому что возникает иногда эффект «прилипания» игрока к препятствию, но это опять же довольно легко лечится дополнительным смещением игрока вдоль нормали в точке контакта на размер проникновения в препятствие (слава Unreal он даёт эту информацию в HitResult) и прибавление небольшого вектора скорости от препятствия.

Вторая сложность пока конечно более концептуальная – враги такие препятствия ожидаемо нормально обходить не могут, даже со включённом динамическим navmesh-ом в настройках. Тут конечно есть два пути – колдовать как-то с настройками navmesh и надеяться, что станет лучше, или просто запретить врагам заходить в зоны подвижных препятствий. Есть ещё более радикальный вариант – пусть враги проходят сквозь такие препятствия :D но тогда они хотя бы должны быть лазерными, это будет смотреться не так глупо. Возможно стоит сделать просто два типа препятствий: монолитные вращающиеся препятствия, к которым врагам приближаться нельзя и лёгкие лазерные препятствия, через которые враги смогут проходить насквозь. В общем, пока ещё не решил точно, что с этим делать.

Более подробно за разработкой можно следить в моей группе: https://vk.com/olegantipovgames

Ответить

Ничего себе, интересный нюанс про ОнХит, спасибо!
А это распространяется на все случаи - и на пересечение объекта лучом тоже?

Ответить

если можете выкладывайте на ютюб, а то с Украины чтобы вас посмотреть нужен впн

Ответить