Сколько головняка они мне принесли. Сначала искал, как их сделать, потом нашёл, настроил, но они не хотели рисоваться в игре после запуска🤦♂️
Ещё денёк танцев с бубном и до меня доходит, как их включить в игре! Но возник нюанс - при сборке движок выдавал ошибки. На поиск решения ушло ещё пара дней.
Если бы не рандомный индус из Ютуба, точно бы забросил проект! Спасибо тебе, дружище! Теперь зерги оставляют красные пятна при попадании по ним.
Решил ещё немного поковыряться в своём клоне-гибриде двух игр - стрелялки и стратегии: подтянул графон, добавил пару юнитов.
Модель с голой текстурой
Первым делом разобрался с материалами, чтобы персонажи хоть минимально приобрели узнаваемость. Оказывается, у Юнити своё понимание карт нормалей, не как у старкрафтовского движка. То есть, там у юнита выпуклость - тут она углубление и наоборот. Из-за этого все карты нормалей пришлось инвертировать вручную.
С картой затенения
Странная штука - если ставить диффузную карту в слот альбедо, получается всё чёрное. Но если закинуть текстуру в слот для вторичной карты, то цвет получается ок. Не сразу я понял этот прикол, а только методом тыка.
Такой зерглинг получился
Логическим апгрейдом стало добавление улучшенных собачек с крылышками. Увеличил им скорость и наглость. Анимация стандартной собачки легла на кости апгрейженной безупречно. Получается, в бескрылую модель уже зашиты анимации крыльев.
Быстрый, дерзкий
Ради разнообразия заморочился с тараканом. Переходное звено между дальней и ближней атакой. Но стандартная "родная" текстура как-то странно легла на когти. И вообще в целом какая-то она менее вменяемая - нечёткие границы, мало деталей.
Таракашка
Ну и гидра с новыми настройками материала стала выглядеть свежее. Хотя опять же не без камней. В Юнити странная система бликов. Если сделать спекуляр чуть выше, вся модель покрывается стеклянной глазурью, зеркалом отражая окружение. Поэтому пришлось убавить бликастость почти до минимума.
Свежая гидра
По сравнению с оригиналом, мои гидры получились суховатыми.
Слева сухо, справа мокро
Так и не смог разобраться, как сделать в материале цвет команды. Поэтому все участки на теле персонажей, предназначенные для цветовой маркировки, у меня белые. Уместно для нейтральных сил, но было бы прикольно контролировать это явление.
Цвета команды в оригинале
Чисто из любопытства захотелось проверить, как это будет выглядеть в UE. Там всё-таки рэйтрэйсинг и все дела. Но, потеребив новый для меня движок около часа, я понял, что есть, куда расти)
К тому же незнакомый мне формат текстур dds вносит свои корректировки в процесс создания материалов.
Анриал энжин и гладкие собачки
Вернувшись к Unity, стал причёсывать игровую логику.
Добавил гидралискам способность к рукопашке. Точнее сначала разделил все атаки юнитов на обычную и дистанционную. Пока что, кстати, на все войска действует один и тот же скрипт. Программистом никогда не был, поэтому каждая механика даётся с жёсткими затупами.
Сделал им этот костяной шип, но он категорически отказывался лететь под правильным углом. То боком вылетал, то в небо летел плашмя. В результате после колдовства с pivot в 3д редакторе и костылём в виде следящей за игроком точки спавна в голове у гидры получилось заставить эту штуку лететь правильно. Интересно, что в движке функция слежки немного наперёд предугадывает движение объекта, поэтому, если резко остановиться или развернуться, гидралисты стреляют немного в сторону, будто предугадывая траекторию. Вроде даже забавно получилось.
Также, если подойти близко к гидралиску, он начнёт махать лапами, если отбежать достаточно далеко, станет ползти до расстояния выстрела.
До гидралисков были тараканы. У них, как и положено, атака зелёной едкой соплёй на небольшой дистанции.
У них есть ещё одна особенность - регенерировать под землёй. Решил реализовать её так: чувствуя, что следующее попадание будет последним, таракан зарывается. Пока что на этом его способности всё) Также он может передвигаться в зарытом состоянии. Ну и его можно застрелить. На данный момент всех можно. Закапывание пока что для зергов не так выгодно, как должно)
Само закапывание, его создание, вызвало у меня немало произнесённых скверных слов. Потому что никак не могло до меня дойти, как сделать, чтобы звук закапывания/выкапывания вызывался 1 раз, а не каждый кадр, заставляя барабанные перепонки покидать чат. В результате вроде что-то получилось, не хватает пока пыли и камушков, летящих из-под земли, ну и самой ямки.
Зато зерглинги ведут себя теперь очень похоже на свои прототипы из оригинала - выскакивают и бегут.
В целом, на виде сверху тоже очень похожее поведение. Если обратить внимание, при быстром убегании толпа зерглингов делится на две кучки: простых и шустрых с крыльями. В оригинальной игре скорее всего тоже был бы такой эффект, но, как правило, там одновременно у игрока могут быть либо те либо те.
Добавляя юнитов на карту, обратил внимание на неестественность поз, все смотрят в одну сторону. Крутить каждого бедолагу вручную облом, писать какой-то код для случайного поворота при выставлении тоже не стал, а добавил в поведение спокойствия немного случайного вращения. Теперь, выставив толпу глядящих в одну сторону юнитов, можно наблюдать, как они разворачиваются в случайном порядке в разные стороны, нетерпеливо топчась на месте. Кстати говоря, в самом Старкрафте это тоже есть, для таких разворотов даже предусмотрены анимации, левосторонняя и правосторонняя.
Теперь на карте есть полноценные четыре сорта энписи, уже можно пилить сюжет)
Доработал склады провизии, теперь их можно складывать как в игре, только не по кнопке, а шмальнув в искрящий терминал неподалёку. Таким же способом открываются двери.
Пушку для главного героя я позаимствовал у модели морпеха ремастер скина. То есть винтовка времён первой части.