Обновить
8
0
Денис Дмитриев@dducode

Разработчик игр на Unity

Отправить сообщение

Корутины создают объекты в памяти, но Unity их кэширует (запоминает) для повторного использования. UniTask работает еще эффективнее и не создает лишних объектов.

Это не совсем правда, UniTask использует пулируемые промисы, так что по крайней мере при первом вызове, например, delay, будет выделение. Аналогично с раннерами стейт машин асинхронных методов.

А начиная с версии 2023.1, появился awaitable, так что целесообразность использования и корутин, и UniTask под вопросом

Если ты ищешь удаленную работу — ставь большой город в локации

А затем, неожиданно для кандидата, ему присылают оффер и уточняют адрес фактического проживания для пересылки техники, документов и пр.

Дальше статью не читал

Ожирение - причина, а не следствие резистентности к инсулину. Это своего рода компенсаторный механизм, направленный против дальнейшего разрастания жировой ткани, действующий по принципу отрицательной обратной связи. Ниже чувствительность к инсулину - слабее рост жировой ткани. К тому же чрезмерная масса жира увеличивает хроническое системное воспаление, которое также способствует инсулинорезистентности. Ну а в остальном все верно - в какой-то момент поджелудочная не справляется и возникает сахарный диабет второго типа

Насчет MonoBehaviour конструкторов и невозможности их использования. Все C# компоненты, по сути, являются лишь обертками над нативными объектами Unity. Соответственно, их жизненный цикл возможно контролировать только через методы, которые предоставляет сам движок (Instantiate, Destroy, AddComponent). К тому же, насколько я понимаю, это необходимо для сериализации компонентов в редакторе.

Я не описал расчёт uv-координат, поскольку не реализовывал его в игре, хотя, безусловно, это возможно сделать.

ИМХО, было бы лучше 90% статьи про геометрию заменить на простенькую расстановку префабов стен/пола

В игре я использую именно такой вариант потому, что в ней существуют другие формы лабиринтов - треугольные, шестиугольные и круглые. Если первые два ещё можно сформировать из примитивов, то с последним у меня сомнения. Но если брать общий случай, вне контекста игры, то вариант с префабами может быть альтернативой, по крайней мере для прямоугольных лабиринтов.

Я был не совсем точен. В цитате выше я имел ввиду, что, используя стандартный шейдер, не получится отобразить текстур, поскольку процедурная сетка не имеет UV-координат. Но в таком случае можно рендерить текстуру через трипланарный шейдер.

Да, нужно будет выкачивать репозиторий и открывать в unity. Чуть позже попробую собрать билд.

Да, пустую зону можно сделать так - после генерации карты, случайным образом выбрать на ней область произвольного размера и соединить все клетки между собой, входящие в эту область. Аналогично для заполненных зон, только тогда, напротив, убирать соединения.

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

Информация

В рейтинге
Не участвует
Откуда
Тольятти, Самарская обл., Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Разработчик мобильных приложений, Разработчик игр
Младший
От 40 000 ₽
C#
Разработка игр
Unity3d
Git
Google Firebase