Category: технологии

scionik

Мотивационная лекция

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

За месяц это было уже моё третье выступление... прям тур какой-то получился, но главная особенность в том, что каждый доклад я переделывал и переделываю на 20-30%, а этот мотивационный, перелопатил вообще так на 50%. Был больший уклон на технологии и рекомендации из личного опыта как пользователя Autodesk 3ds Max, как 3d специалиста студии Студия интерьера Circus Delight, и в меньшей степени как египтолог любитель (мне до эксперта с мировым именем в области всего ещё огого, как пешком до Марса). И тем не менее от лица мирового сообщества Autodesk Expert Elite рассказал молодёжи о том, что в любой деятельности они следовали своей мечте, не забывали о ней не смотря на карьерный рост или жизненные проблемы, иными словами «нехватку времени», время есть всегда!

Помимо технических и египтологических терминов и технологий, поведал (наиболее подходящее слово) им несколько вещей и задал несколько вопросов, которые я бы хотел услышать в их возрасте. «Чем руководствуются они для достижения цели, что управляет ими для этого, и чем управляют они, для достижения той же цели..?». Ну и не забывали спрашивать себя «А что я сделал сегодня для достижения цели?». Простые и в то же самое время сложные вопросы.

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

И отдельное спасибо Инна Боровкова за приглашение!

В общем вчера я был выжат как лимон, но это не жалоба, это восхищение!

Оригилальный пост



scionik

Планетарий 1

Несколько дней назад, 25 октября, я рассказал историю проекта реконструкции в 3D египетской гробницы царицы Нефертари. Это был не просто рассказ, а ещё и показ его на куполе планетария, диаметром 37 метров (12 этажный дом), это конечно феерическое зрелище, видео 360 обзор на этом гигантском сферическом экране.  Признаюсь, я даже завидовал всем тем, кто пришёл послушать эту историю и посмотреть на проект в таком МЕГА-формате.

В очередной раз убеждаюсь, что случайности не случайны... Этим летом, в августе в рамках научного фестиваля с одноимённым названием Science Fest меня пригласили Autodesk выступить с докладом о проекте и технологиях, т.к. я использовал ПО Autodesk 3ds Max (и Adobe Photoshop тоже) для создания проекта. Нужно было рассказать о технологиях проектирования, так сказать, с необычного ракурса и на примере уникального работы. В тот раз, 17 августа, моё часовое выступление прошло на УРА, было порядка 50 человек, а это много для небольшого зала, в котором я тогда рассказывал о технологиях и истории, их взаимодействии. Потом как-то даже мимолётная мысль пролетела в голове, «а вот бы в этом большом купольном зале рассказать». В конечном счёте, организаторам фестиваля очень понравилась моя тема, и они, в лице Анны (спасибо вам большое, было реально неожиданно!) пригласили меня с большой историей в большом зале. Как результат, история выросла в полуторачасовой доклад с его демонстрацией на куполе Планетария 1. Зрелище, которое не передастся никакими словами и фотографиями, это просто будоражащий вау-эффект. По отзывам зрителей после доклада, было понятно, что все и каждый испытали это, и кстати, было более 100 человек. А самое главное, я в конце добавил небольшую мотивационную речь. За что я получил отдельную благодарность. Да, я молодец, себя не похвалишь - никто не похвалит... но это не правда, много добрых слов услышал.

Ещё раз, всем кто был и сделал этот вечер, Огромное вам спасибо! За поддержку и ваш интерес к теме и  моему маленькому увлечению :)





scionik

BIM для объектов культурного наследия

Сегодня в офисе Autodesk была встреча-мероприятие "BIM для объектов культурного наследия" - очень нужная и важная тема. Строить новое это хорошо, но сохранять старое это нужно и полезно для понимания кто мы такие и как мы пришли к тому, что мы имеем. Это касается всех отраслей нашей жизни, не только архитектуры. Сегодняшний день, посвящённый именно сохранению исторических памятников архитектуры, их модернизация под современные нужды, не причиняя вреда историческому облику. Наконец-то и у нас об этом начали не только задумываться, но и действовать. Учитывая технологии BIM можно сохранить не только внешний облик памятника, но и все его технические характеристики подетально.



На докладах были показаны примеры работ, техника и технологии, много об этом писать не буду, а лишь оставлю ссылку на книгу, где есть все подробности, тем более электронный вариант книги абсолютно бесплатный. Познакомился с интересными людьми, обсудили дальнейшие перспективы технологий 3D-сканирования, узнал для себя очень много интересного и полезного.

Сегодня я ничего не рассказывал, был просто слушателем, так как увы, но сегодня не мой формат докладов. Я не строил модель BIM и не применял BIM технологий. Но может быть, когда-нибудь, что-то да будет. А ну и как приятный бонус, встретился со старыми друзьями.


scionik

Ambient Occlusion - 2-я часть

Рассмотрим некоторые параметры АО, компонента материала Arch & Design.

ao_2.1

Чекбокс Ambient Occlusion, Включает технологию АО и опции по её настройке.

Samples (Сэмплы) Количество сэмплов (лучей), испускаемых для расчёта и создания AO. Чем большее количество сэмплов задано, тем более плавным получается эффект затенения и рефлексов, однако, время рендеринга возрастает. Чем меньше – тем затенение и рефлексы более зернистые и шумные, но рендеринг более быстрый. Значения в диапазоне 16-64 достаточны для использования в большинстве случаев.

Max Distance(Максимальное расстояние) Определяет максимальный радиус в пределах которого анализируются объекты, вокруг вычисляемой точки.

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

Высокие значения увеличивают площадь для анализа окружающей геометрии (стены, комнаты), но и увеличивают время рендера.

Следующий рисунок показывает разницу между маленьким значением параметра Max Distance и большим:

ao_2.2   ao_2.3

Max Distance 5 см (слева);  250 см (справа)

Shadow Color (Цвет затенения) Эта опция работает по-разному в зависимости от того, включен учёт цвета материала (Use Color From Other Materials) или нет.

В случае, если используется традиционный АО без учета цвета материала, данная опция позволяет настроить интенсивность и оттенок затенения, которое создаёт алгоритм. Если цвет будет черный, то затенение будет максимально явным. Если белый, то затенения не будет вообще. Если цвет будет не монохромный (красный, зеленый, синий, и т.д.), то затенение будет иметь соответствующий оттенок.

ao_2.4
Shadow Color: белый (слева);  чёрный (в центре); красный (справа);
Эффект АО наиболее заметен в обведённых в рамки частях объектов

Когда включён учёт цвета материала (Use Color From Other Materials), опция Shadow Color работает по-другому. В этом случае опция определяет уровень воздействия цвета материала на традиционный АО. Если установлен  чёрный цвет, то цвет материала максимально воздействует на затенение, а если белый, то вообще не воздействует.

Custom/Global Ambient Light Color (Выборочный/Глобальный цвет обтекающего света) Эта опция похожа на предыдущую, но позволяет установить оттенок светлых участков поверхности (обтекающий свет), для которой рассчитывается АО, а не тёмных (затенение).

Она может брать цвет из глобальных настроек окружения (окно Environment and Effects) или устанавливать свой собственный.
 
ao_2.5


Custom Ambient Light: чёрный (по умолчанию) (слева);
красный (в центре); зелёный (слева)

Но в своей повседневной практике я не использую АО в составе материала Arch & Design. Вместо этого я использую отдельный слой-элемент АО, созданный вручную на основе самостоятельного шейдера Ambient/Reflective Occlusion.

Для начала рассмотрим некоторые его параметры по-отдельности.

ao_2.6

Samples (Сэмплы) Количество испускаемых лучей в сцену, больше количество сэмплов делает результат менее шумным. На гладкость результата также влияет параметр Spread.


ao_2.7-1  ao_2.7-2  ao_2.7-3 


Параметр Spread 0.75; Samples 4 (слева); 16 (в центре); 64 (справа)

Bright (Светлый) Цвет, при котором отсутствую какие-либо окклюзии (рядом не расположены объекты). Чаще всего применяется белый цвет.

Dark (Тёмный) Цвет, который рассчитывается в результате максимальных окклюзий. Чаще всего применяется чёрный цвет. Уровень от максимальных окклюзий до их отсутствия определяется градиентной шкалой от установленного Bright цвета, до Dark цвета.

Spread (Распространение) определяет величину угла полусферы точки поверхности, через который посылаются сэмплирующие лучи. Изменяется в пределах от 0.0 до 1.0. Значение 0 определяет только одно направление испускания (один луч) – вдоль нормали к точке или вдоль направления отражения. Значение 1 определяет полусферу (угловая величина 180 градусов). Чем больше угловая величина сферического сегмента, тем больше потребуется лучей для получения гладкого результата. С другой стороны, чем уже конус лучей, тем более резко очерченными будут теневые переходы и наоборот. Использование целой полусферы дает интересный эффект самозатенения поверхностей, что с успехом может быть использовано для "проявления" рельефа поверхности или подчёркивания деталей объектов, содержащих многочисленные мелкие элементы.

ao_2.8-1  ao_2.8-2  ao_2.8-3   


Параметр Spread 0.1 (слева); 0.3 (в центре); 0.9 (справа)

Max distance (Максимальное расстояние) Определяет максимальный радиус в пределах которого анализируются объекты, вокруг вычисляемой точки. Если это значение равно 0, границы области проверки определяются размерами сцены. Таким образом, явное указание Max distance может быть использовано для ускорения расчетов АО.

Falloff (Спад) Имеет значение лишь тогда, когда параметр Max distance (Максимальное расстояние) не равен нулю и определяет скорость с которой затухает АО в зависимости от расстояния. Технически эта функция применяется к нормализированной дистанции от нуля до значения Max distance (Максимальное расстояние). Значение по умолчанию 1.0 – линейное затухание. Это значение делает затухание более быстрым. Практически это означает, что меньшие значения окклюзии сильнее сказываются на коротких расстояниях (в маленьких уголках и трещинах) и меньше на больших расстояниях.


ao_2.9-1  ao_2.9-2  ao_2.9-3

Параметры Spread 0,5 Max distance 100 cm;  Falloff 0.5 (слева); 1.0 (в центре); 2 (справа)

Incl./Excl. Object ID (Neg. = Exclude) (Вкл./Выкл. Объекты по ID) Определяет ID объектов, которые будет включен или выключен из расчета АО. Установка параметра в 0 не дает никакого эффекта. Значение больше нуля означает, что только те объекты, номера ID которых совпадает с этим параметром, будут включены в расчет окклюзии. Отрицательное значение, наоборот, исключает.

Немного практики, как я применяю технологию АО в своей работе.

Во-первых, я использую State Sets для записи меняющихся параметров, один раз записав состояния параметров, я переключаюсь между ними, чтобы повторно не проводить одни и те же операции. Подробнее о State Sets могу написать отдельный пост, если кому интересно, пишите в комментариях. Итак. Поехали. После того как работа над сценой закончена, у вас уже есть готовые рендеры (за исключением слоя-элемента Ambient Occlusion), и вы ходите немного придать «живости» работе.

Начинаем работать с построением слоя-элемента АО.

1)       Отключаем все источники света в сцене (даже систему дневного освещения).

ao_2.10

2)       Выключаем фотографическую экспозицию. Вообще никакая экспозиция не нужна. Меняем фон Environment на простой белый цвет (чтобы проще было делать постобработку).

ao_2.11

3)       Отключаем все алгоритмы глобального освещения.

ao_2.12

4)       Задаю параметру Material Override шейдер АО (как его подготовить описано ниже).

ao_2.13

5)       Задаю путь для сохранения файла и нажимаю кнопу Render.

Подробнее по пункту 4).

Я собрал шейдер АО для интерьерных сцен, который устраивает меня в 95% случаев и добавил его в библиотеку. Шейдер выглядит так:

ao_2.14

Сам шейдер не является готовым материалом. Для простоты использования я взял за основу Стандартный материал, которому в слот самосвечения назначен шейдер АО. Иногда бывает, что некоторые нормали объектов вывернуты, чтобы не отлавливать подобные объекты, я назначил стандартный материал в качестве «переднего и заднего» для составного Двухстороннего материала.

Настройки непосредственно самого шейдера предельно просты и ясны. Количество сэмплов 32, иногда повышаю до 64, но это пиковое значение для некоторых сцен (в которых очень много мелких деталей). Тёмные и светлые тона оставляю по умолчанию. Параметр Spread 0.75. По вкусу можно поднять его до 0,9. Ну и самое главное, параметр Max distance. Его меняю в зависимости от масштаба сцены, а вернее высоты потолка, использую примерное соотношение 2/3. Т.е. 200 см значение дистанции АО, 300 высота потолка.

После рендеринга слоя-элемента АО я миксую его в Photoshop с остальными слоями (Glare, DOF и т.д.). В первую очередь стираю АО в областях явного прямого света от искусственных источников, само собой предварительно создав слой маску для АО, чтобы можно было вернуть исходный слой. А уже поверх АО накладываются эффекты Glare.

ao_2.15

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

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

ao_2.16

http://mentalraytips.blogspot.ru/2008/11/joy-of-little-ambience.html

http://www.render.ru/books/show_book.php?book_id=664

scionik

Ambient Occlusion - 1-я часть

Ambient Occlusion (далее AO) – это алгоритм, техника, имитирующая эффект теневого рефлекса

на близкорасположенных объектах. Или проще говоря – имитирует полутона глобального освещения.
Очень часто физическая корректность освещения не всегда является первостепенной задачей в
архитектурной визуализации (особенно когда сжатые сроки на исполнение проекта), в большинстве
случаев достаточно сымитировать правдоподобность глобального освещения. Такую
правдоподобность техника АО вполне способна передать. Вполне допускается использование АО
вместе с фотонными картами, вместо метода расчёта глобального освещения Final Gather.
Хотя такой результат будет совершенно далек от физической корректности, он сможет передать
вполне убедительное и гладкое глобальное освещение (больше художественную подачу изображения,
вместо фотореалистичности). Стоит отметить, что время рендеринга будет гораздо меньше
по сравнению со временем рендеринга, используя FG + Photon Map.
Как мы уже знаем, в реальной жизни освещенный объект имеет несколько компонентов
освещённости. Для примера рассмотрим цилиндр на горизонтальной поверхности, рисунок ниже.

ao_1.0

Цилиндр имеет локальные компоненты (которые не зависят от других объектов): свет, тень,
полутень. Однако есть еще и глобальная компонента – теневой рефлекс (он зависит от того,
какими другими объектами окружен цилиндр, в нашем примере, плоскость, на котором лежит цилиндр).
Отражённый свет появляется тогда, когда на теневую сторону цилиндра падает отражённый
свет от других объектов (опять же, от плоскости, на которой лежит цилиндр). Таким образом,
основная часть теневой стороны становится светлее (рефлексирует), в то время, как её
границы остаются тёмными (так как на них падает меньше отраженного света в силу их близкого
расположения относительно друг друга). Получившиеся более тёмные границы света и тени
это и есть эффект Ambient Occlusion.
Ambient Occlusion чаще всего рассчитывается путём построения лучей, исходящих из точки
поверхности во всех направлениях, с последующей их проверкой на пересечение с другими
объектами. Например, возьмём одну точку (А) в сцене. Испустим равномерно во всех
направлениях 8 лучей из этой точки (получим некое полусферическое распределение
лучей вокруг нормали плоскости).
Некоторые из лучей не пересекают цилиндр. А некоторые попадают на цилиндр, т.е. эти
лучи имеют препятствие. Итак, было испущено всего 8 лучей, 3 луча имеют преграждение,
таким образом для точки А получаем соотношение 3/8 перекрытых лучей.

ao_1.1

Далее, возьмём вторую точку (B), которая расположена ближе к цилиндру. Снова испускаем
8 лучей, но уже из точки В, как и с первой точкой (А) некоторые лучи идут без каких-либо
препятствий, оставшиеся 4 попадают на цилиндр (соответственно они имеют преграду).
Для точки В получаем соотношение 4/4 перекрытых лучей.

ao_1.2

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

ao_1.3

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

ao_1.4

На рисунке выше показан пример применения шейдера АО к сцене. Особенно заметно влияние
техники АО на потолке и в углах помещения.

ao_1.5   ao_1.6

Без применения AO (слева); с применением AO (справа)

Технология АО имеет собственный шейдер, помимо этого он является компонентом шейдера
Arch & Design Материала. Практическое применение и пользовательские настойки шейдеров для
создания эффекта Ambient Occlusion будут описаны позже, во второй части статьи.
scionik

Unified Sampling в mental ray для 3ds Max

Думаю, mental ray'щики уже слышали, а может и пробовали эту супер-пупер сэмплинг.
Александр Степанов aka Lextorlex подготовил большую и информативную статью по этому чуду.

us_ui

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

Основательно перешёл на Unified Sampling 1 октября. Дату точно помню, как раз на кануне
AU Russia 2012. Я как раз заряжал шарманку на рендеринг (большой проект, много смазанных
отражений, мягких теней от огромного количества источников света). Знал заведомо, что рендериться
будет очень и очень долго... И вот тут-то я решил, надо что-то менять, либо оптимизировать сцену,
либо воспользоваться новыми технологиями (хотя технология 2010 года). На AU Russia 2012
я был целыми днями, добираться тоже далеко, поэтому времени было предостаточно для рендеринга.
Ну чтож, 2 минуты пошаманил над сценой (убил завыешнный сэмплинг в материалах и тенях ИС.
Нажал кнопку рендер, и спокойно отправился на мероприятие. И чтоб вы думами, по моим расчётам
рендеринг должен был закончиться на вторые сутки (ближе к вечеру)... А тут на те... рендеры
готовы уже на следующее утро.

Я пока не делал доскональных сравнительных рендеров (тесты с чайниками не в счёт). Но как
будет время заняться тестированием и сравнением, обязательно примерчик выложу. По ощущениям
новый сэмплер рендерит картинки, ну не в 2 раза быстрее, но процентов на 20-30 точно, всё зависит
от сложности сцены, само собой.

Так что, народ, рекомендую статью к внимательному прочтению (почему внимательному, да потому,
что не все читают внимательно и упускают из виду очень важную часть:

"Чтобы глобально контролировать количество Reflection/Refraction сэмплов во всех Arch&Design
материалах, я написал скрипт Global Samples который можно скачать здесь или тут.
Очень полезный если вам нужно адаптировать старую сцену под Unified Sampling Brute Force
."

script_ui

Вывод могу сделать один. Наконец-таки могу твёрдо заявить, что в mental ray можно рендерить  
проекты в отличном качестве и не дольше чем в V-Ray. )))))

Саня, ещё раз спасибо!

Качественных и главное, быстрых вам рендеров!
scionik

mental ray iray (статейка)



       iray – технология разработанная компанией mental images, она отличается от mental ray, но совместима с ним с некоторыми ограничениями (о которых речь пойдёт далее). iray рендерит изображения средствами видеокарты c процессорами на базе архитектуры CUDA (GPU), а также центральным процессором (CPU).

       Стоит отметить, что iray не является методом для получения preview для mental ray, это самостоятельная технология. iray использует совершенно иную технологию для расчётов освещения сцены.

        Основными превосходствами iray над mental ray являются: самосветящиеся объекты (которые настраиваются в материалах как Self-illumination). Данными самосветящимися объектами можно осветить всю сцену, не используя ни одного фотометрического источника света. И ещё одно наиболее важное преимущество, это глянцевые полуматовые отражения, которые рендерятся без особо видимого шума.

Моя статья читать на 3dmax.ru

Ну и небольшой вывод:

Абстрактный пример, основанный на собственных соображениях:

 

Вы ездите на авто по городу, и знаете чуть ли не все улицы и закоулки. Аналогия – вы уверенный пользователь mental ray.

 

И затем, вы просто решаете ездить на такси, для того чтобы больше не беспокоиться о светофорах, поворотах, в общем, не следить за дорогой. Аналогия – начали пользоваться iray.

 

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

 

А если вы опытный водитель и вы сами ведёте авто (пользователь mental ray), вы знаете все, или большинство дорог, где и как проехать чтобы сократить время (настроить рендеринг с наиболее оптимальным временем/качеством), то тут спору нет, весь процесс будет зависеть от вас и вашего профессионализма. Вы будете управлять и временем рендера, и его качеством.

 

Ну а для новичков, так скажем туристов в городе (новых пользователей 3ds Max/Design+ mental ray), конечно же будет проще взять такси, которое просто доставит вас по адресу (само собой вы не знаете ни оптимальной цены, ни маршрута).

 

Надеюсь, аналогия понятна!

Так, что уважаемые коллеги, нам можно не беспокоиться, что мы можем остаться не у дел. Не смотря на услуги такси, многие водят автомобиль сами, потому что это удобнее.

И туристы нам не конкуренты ;)