Search
Write a publication
Pull to refresh
8
0
Денис Дмитриев @dducode

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

Send message

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Information

Rating
Does not participate
Location
Тольятти, Самарская обл., Россия
Date of birth
Registered
Activity

Specialization

Mobile Application Developer, Game Developer
Junior
From 40,000 ₽
C#
Game Development
Unity3d
Git
Google Firebase