Войти
ПроектыФорумОцените

LBOTS - Legendary Battles Of The Sovereigns - ККИ (6 стр)

Страницы: 1 2 3 4 5 6
#75
(Правка: 4 мая 2022, 0:26) 23:21, 3 мая 2022

Я вернулся с небольшим обновлением. Ох и крови моей попил юнити на этих выходных.
Сделано что обещано - визуализация отлетания поверженных карт на линиях с поля боя после удара по ним.

В чём была боль:

1. Сначала я просто задавал направление движения карте и задавал вращение, из за чего карта в процессе полёта расслаивалась, т.е. юнити некорректно отображает положение чайлдов движимого объекта. Прикол в том, что карты это такой пирог из десятков чайлдов, где тексты, рамки всякие, значки, это нужно для того, чтобы создавать карты из одного шаблона, и легко их редактировать, да плюс подключать к карте тексты на разных языках. В итоге летит эта карта таким разделённым на слои пирогом, всё чёрт пойми где, тексты сзади, фоны спереди, картинка сбоку, и т.д. Короче жопа полная, юнити очень плохо работает с координатами и кватернионами чайлдов прицепленных к беспорядочно летящему объекту. Естественно когда всё долетало до нужной точки и останавливалось, магическим образом все чайлды оказывались где надо.

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

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

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

5. Последний вариант. Имитирую физику отлёта. По кривым безье случайно (в нужном диапазоне) генерирую траекторию полёта карты, и отправляю по ним через трансформ позишн, а вращение карте задаю предварительно созданными анимациями вращения в аниматоре, соответствующими направлению кривой, и о чудо - всё работает. Получилась дешёвая имитация физики отлёта карты при ударе. Однако меш карты без физики при вращении теперь углами проходит сквозь стол, из-за этого мне пришлось создать вторую камеру, и рендерить в неё стол, а поверх неё уже мейн камерой рендерить всё остальное. Результат на видео:

Запустить видео по клику - Как делать игрыЗапустить видео по клику - Как делать игры
#76
20:38, 4 мая 2022

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

Запустить видео по клику - Как делать игрыЗапустить видео по клику - Как делать игры
#77
22:24, 4 мая 2022

Прикольно!

#78
3:10, 15 мая 2022

Обновление.

1. Добавлена кнопка отмены, теперь всякие карты волшебства или приказов требующие прицеливания можно возвращать в свою руку вместо использования.
2. Добавлены кладбища. Карты больше не удаляются при использовании или уничтожении, они отправляются на одно из трёх кладбищ: 1. кладбище колоды, 2. кладбище гарнизона, 3. кладбище героев.
3. Добавлена механика возвращения карт в руку. Так-как карты трёхмерные, пришлось разработать трёхмерный элемент интерфейса в виде полупрозрачной плитки, на которую может прилепляться любое количество карт из любого кладбища по пять карт в ряду. На плитку влезает вся колода "70 карт". Именно на этой плитке игроком осуществляется выбор карты соответствующий условиям. Плитку можно двигать прямо и назад при помощи зажатой ПКМ, либо прокруткой колёсика мышки.
4. Добавлена карта "Возвращение Души". По условию карта позволяет игроку посмотреть 10 верхних карт со своего кладбища колоды, выбрать из него любую карту "существа", положить это существо в руку, а кладбище колоды перемешать. (На самом деле эта карта ещё должна давать возможность использовать эту карту существа без учёта лимита использования карт в ходу, но самого лимита тупо ещё нет). Если в кладбище колоды нет карт, то эта карта автоматически возвращается в руку игрока.

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

Запустить видео по клику - Как делать игрыЗапустить видео по клику - Как делать игры

—-———-————

Что в планах на будущее:

1. Добавить интерфейс отображающий: здоровье баз и властителей игрока и оппонента, их лимиты по использованию карт в ходу, их уровень влияния, а так же номер раунда.
2. Наконец добавить героев.
3. Доработать фазы, введя понятия "фаза героев", фаза "действия", фаза "противодействия".
4. Только после выполнения первых трёх пунктов, можно начать писать ИИ, и ввиду уникальности карт писать в скрипте каждой карты её автоматическое использование для ИИ оппонента.

Страницы: 1 2 3 4 5 6
ПроектыФорумОцените