Рендерим облака на мобильных девайсах

3 года назад художник спросил меня:
— Слушай, а можно в нашу мобильную игру добавить красивые облачка?
— Нет, это абсолютно невозможно, у нас постоянно вращается камера, так что билборды будут смотреться очень фальшиво даже если на них добавить карты нормалей, а другие способы…
*художник погружается в летаргический сон*

Для меня нет большего удовольствия, чем выяснять, что я был неправ.


Про фотореалистичный рендеринг облаков написано много статей, но если хочется рисовать облака на смартфоне, приходится придумывать кучу всяких хаков, упрощений и допущений.
Под катом подробное описание рендеринга облаков на мобильных и много html5 гифок.
Поехали!

[Перевод] Имитируем иридисценцию: шейдер CD-ROM

Этот туториал посвящён иридисценции. В этом туториале мы исследуем саму природу света, чтобы понять и воссоздать поведение материала, создающего цветные отражения. Туториал предназначен для разработчиков игр на Unity, однако описанные в нём техники можно запросто реализовать на других языках, в том числе в Unreal и на WebGL.


Туториал будет состоять из следующих частей:

  • Часть 1. Природа света
  • Часть 2. Усовершенствуем радугу — 1
  • Часть 3. Усовершенствуем радугу — 2
  • Часть 4. Разбираемся с дифракционной решёткой
  • Часть 5. Математика дифракционной решётки
  • Часть 6. Шейдер CD-ROM: дифракционная решётка — 1
  • Часть 7. Шейдер CD-ROM: дифракционная решётка — 2
Читать дальше →

Оптимизируем PropertyDrawer под Unity3d

В своей предыдущей статье я описал OneLine — PropertyDrawer, позволяющий рисовать объект любой вложенности в одну строку.


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



Внимание, под катом много гифок и картинок!

Читать дальше →

Ну почему все стало так медленно?! Выбираем железо для разработки на Unity

Привет! Я делаю игры и ассеты на Unity. Начинающие разработчики иногда спрашивают меня, с чего начать и насколько мощный компьютер им понадобится. Лично у меня железо довольно старое. И чтобы ускорить разработку, я решил наконец-таки провести апгрейд своего компьютера. С далекого 2011 года сердцем моего ПК является процессор Intel Core i5 2500K, но настала пора отправить его на пенсию. Но что лучше — высокая тактовая частота или наличие большого количества ядер? Обязательно ли покупать дорогой процессор, или получится сэкономить? Какая видеокарта нужна для разработки? Будем разбираться под катом!
Читать дальше →

[Из песочницы] Новое в Unity 2017.3. Компиляция скриптов в отдельные файлы сборки

В предыдущих версиях Unity скрипты собирались в единую сборку Assembly-CSharp.dll.
И при добавлении новых скриптов увеличивалось время компиляции. Теперь в новой версии появилась возможность определять собственные управляемые сборки, основанные на скриптах внутри папки, что существенно сокращает время компиляции, особенно в больших проектах. Теперь можно думать о каждой управляемой сборке как о единой библиотеке в проекте Unity.

image
Читать дальше →

Технологическое демо Book of the Dead и новые возможности Unity 2018

Несколько дней назад команда Unity’s Demo Team представила тизер нового впечатляющего демо, демонстрирующего способности новой версии движка Unity 2018.1. Для многих релиз Unity 2018 будет настоящим событием — в движке наконец-то появятся долгожданные Scriptable Render Pipeline (SRP) и C# Job System. SRP позволит опытным разработчикам при помощи C# и шейдеров материалов настраивать конвейер рендеринга, а C# Job System — писать безопасный многопоточный код на C#. Scriptable Render Pipeline энтузиасты ждали давно, так как предполагается, что данная фича делается под современные модели GPU и позволит выжать из них гораздо больше, чем морально устаревший встроенный конвейер Unity. Ранее разработчикам приходилось идти на различные ухищрения, чтобы добиться от него хороших результатов. К примеру, одна из самых популярных игр на Unity, Cities: Skylines, стало возможным технически реализовать благодаря тому, что у разработчиков был доступ к исходному коду движка и они смогли внести необходимые изменения в механизм рендеринга (наверняка не обошлось и без привлечения специалистов самой Unity). Для создания технологического демо команда прибегла к фотограмметрии — текстуры и объекты были взяты из реального мира; большинство ассетов взято из библиотеки ...Далее...

[Из песочницы] Как создать внутриигровое меню в Unity

Как создать внутриигровое меню в Unity


Unity позволяет не делать меню настроек, так как есть встроенный диалог настроек качества и разрешения перед запуском игры. Однако если вы хотите сделать вашу игру неповторимой и показать, на что способны, как дизайнер, то эта статья именно для вас. После прохождения этого туториала вы сможете создавать свое собственное меню с таким функционалом – настройки громкости, разрешения, качества изображения, переключения полноэкранного и оконного режима. Интересно? Тогда запускай Unity и поехали!
Читать дальше →

[Из песочницы] Singleton в Unity3D

Предисловие


Здравия желаю, уважаемые пользователи Хабра. В этой публикации речь пойдёт не столько о правилах использования Singleton'а, сколько о моём видении этого паттерна.

Хочу предупредить, что человек я совершенно зелёный. Я не гуру программирования, не сеньор и возможно, что даже не middle. Адекватный опыт разработки имею исключительно в Unity, по сему затрагиваю только данную среду. Изначально было страшно делиться своими мыслями, но вспомнив, что порой тут публикуют серьёзные дяди, решил попытаться. Я люблю пользователей данного сайта, и даже если моя карма уйдёт в Марианскую впадину, то комментарии всегда помогут мне понять то, чего не смог понять ранее и найти ту самую истину!
Читать дальше →

ТАУ для самых маленьких: пример реализации ПИД-регулятора в Unity3D

Вместо введения


Системы автоматического управления (САУ) предназначены для автоматического изменения одного или нескольких параметров объекта управления с целью установления требуемого режима его работы. САУ обеспечивает поддержание постоянства заданных значений регулируемых параметров или их изменение по заданному закону либо оптимизирует определенные критерии качества управления.

Читать дальше →

Физическое моделирование на GPU с использованием compute shader в среде Unity3D

В этом руководстве я расскажу, как использовать compute shader для реализации вычислений на видеокарте — на примере модели волос:

View post on imgur.com


Вот проект для Unity3D, на объяснении работы которого построено руководство. Его нужно скачать и открыть в Юнити:

ссылка на проект юнити

Кому это руководство будет понятно? Тем, кто использует Unity3D или по крайней мере знает C# или C++. Шейдер написан на HLSL, близком синтаксическом родственнике C++.
Кому это руководство будет полезно? Опытным программистам, желающим научиться использовать GPU для вычислений. Но даже неопытный, но прилежный программист легко всё поймёт.
Читать дальше →


Последние посты