Еще ни одной строчки кода игры (пока что пилю один инструмент) зато набрасываю первый уровень. Пока выглядит так:
Небольшой update: обрастаем предметами интерьера, добавил немного освещения…
- 15 октября 2019, 18:03
- 06
Еще ни одной строчки кода игры (пока что пилю один инструмент) зато набрасываю первый уровень. Пока выглядит так:
Небольшой update: обрастаем предметами интерьера, добавил немного освещения…
Сначала подумал, что игру Rs11 кто-то разрабатывает :)
Норм стиль, да, в 2.5D есть определённые трудности реализации, когда делаешь через 2D
:)
Думал что в 2D справлюсь, как оказалось - нужно время которого нет, поэтому вернулся в привычную среду :)
Картинка пока без освещения, и сама комната еще не закончена.
Блин, а я думал, что и на движке 3D будет точно вот такая стилистика, как в спойлере "прошлая картинка" (т.е на 3D объекты натянуты пиксельарт текстуры). Облом :(
Не умею я пока в 2D (включая текстуры) :( И дело не в технической части (UV развертка, рисование поверх объектов - это я все умею, даже простенькие иконки рисую в Inkscape/Krita), а в художественной. Мне самому по кайфу low-poly + текстуры аля Playstation 1, в 32/64/128 пикселя. Но пока делаю так как умею :)
какие такие трудности?
Например, сортировка объектов по Z, когда нет прямой зависимости Z от Y
Требуется уточнение. Зачем сортировка и кака така зависимость?
Держи
В простых случаях можно вычислить Z через Y (на языке годота это нода YSort)
Спасибо. Я прост с этим не сталкивался есчо.
Я с этим реально задолбался)
Всё уже сделал чтоб нормально работало, объекты как и положенно работают для объекта, который ходит пешком, но если появляется летающий объект, то моя стройная система Z-order рушится.
Уже думаю перестать пользоваться чистым 2д и перейти на метод Paper Mario, где 2д спрайты по 3д полю бегают, там Z-order автоматический, а не вручную расставлять, как в 2д (и да, в юнити есть скрипт Z-order, но он не подходит под сложные объекты).
Не понимаю какие проблемы с сортировкой?... если объект летающий, то делаешь его центр там, где тень...
если объект может менять высоту, то тут уже могут возникнуть проблемы... но думаю динамически центр объекта можно менять, и тогда не должно быть осложнений.
Представь игру с видом сбоку, где много слоёв в глубину, и любой объект может быть длинным в глубину и занимать несколько слоёв. Или арку формы буквы П, которую если не разрезать, то не отсортируешь в принципе.
Сам и ответил на свою задачу. Резать... Так это и делается...
Ну есть более эффективные алгоритмы. Но тебе разрешаю всегда и везде резать)
Так поделись своим секретом. Не жадничай!
Секрет в том, что чем ближе игра к 3D, тем больше приходится в 2D-движке применять уловок одновременно. И сортировать по-хитрому, и резать ассеты, и клипректы делать.
например есть спуск по лестнице, с перилами,

синяя точка это ось, от которой идёт отсчёт спрайта, чтоб по Z-оси сортировать,
а зелёный цвет это коллайдер (стена), через которую не пройти тому кто пешком,
для человечка пешком всё нормально, если сделать невидимые стены по перилам (зелёный цвет)
но для летающего транспорта/существа, поскольку он/оно забивает на коллизию,
то может пролетать в места, где будет казаться как будто перила торчат не из земли,
а из летающего объекта, ну можно конечно сделать более сложные формулы и добавить третью ось,
но тогда весь мой код нужно править, и я не уверен что смогу ли я сделать настолько сложные формулы,
и всё больше хочу сделать обычное 3д, как в Paper Mario, и спрайтов 2д накидать
Кстати пробовал делать с центром оси, где тень у летающих, но тогда не понять, где вообще находится траспорт, ведь он может летать как угодно вверх, и в зависимости от высоты можно вообще потеряться
где находишься сам, потому-что не будет видно тени, и я решил тень убрать.
Также для набора высоты понадобится отдельная кнопка. Помимо кнопок движения,
в BattleToads это прыжок, когда на драконах летающих, но там нет сложных лестниц,
и всегда понимаешь где находишься ибо видно тень.
Да и с такими сложными формулами с трёмя осями в 2д я и сам запутаюсь как коллизию программировать и позиционирование объекта. Решил пока убрать летающий транспорт с мест, где надо пешком топать, а летать можно на спец уровнях и на карте мира.
Мило!