Простая перестрелка между ботами на Unity

Предлагаю простейшую систему перестрелки между группами юнитов. Ссылка на исходники ниже.

Перестрелка между группами юнитов

Персонажи максимально простые. Они умеют идти к некой цели, обходить препятствия, находить врага, бежать в укрытие, стрелять и умирать.

Не стану подробно объяснять как устроен проект, распишу только основные моменты, пишите в комментариях, если что-то непонятно, все расскажу.

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

Довольно много всего на юните висит, но меньше неудобно уже
Довольно много всего на юните висит, но меньше неудобно уже

Обход препятствий сделан на основе встроенной системы поиска пути. Юнит ищет укрытие перебирая все возможные места, куда можно спрятаться, пока не найдет подходящее (это можно оптимизировать, не заставляя его перебирать все укрытия).

Юниты всегда стараются встать так, чтобы их хоть что-то защищало от врага

Стрельба самая примитивная. Спавнится снаряд и летит вперед, пуская луч перед собой, если луч уперся в препятствие - то попал.

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

В общем вот такая получилась механика, если интересно, то архив с исходниками ниже. Не использовались никакие сторонние плагины, кроме встроенных в Unity по умолчанию. Желательно движок версии 2019.13f1 или выше.

Если есть вопросы, то пишите в комменты, если хотите узнать о чем-то конкретном, то тоже пишите, в следующий раз сделаю механику специально под запросы :)))

4444 показа
2.3K2.3K открытий
8 комментариев
Ответить

А, что, куда!? Куда делся подробный рассказ с построчным комментированием кода, как в прошлом твоём посте по теме??? о_О,(((

Ответить

Да там очень много комментить(

Ответить

Я только хотел пример риализации искать, и тут на те, максимальное спасибо.

Ответить

Привет! Система высший класс! Все работает) Если можешь расскажи подробнее про систему укрытий, а именно как она реализована. На просторах интернета я пока не могу найти что то подобное. Короч класс!!!

Ответить