Понравилась статья? Поделитесь:

Наука создания реалистичного 3D

Читать желательно ВСЕМ (неважно, профессионал вы или новичок – полезное для себя найдут многие), кто хоть как-то связан с компьютерной графикой (КГ, computer graphics (CG)).

Этот цикл статей о том, как избежать самых распространенных ошибок всех новичков и поднять уровень своего кун-фу… тьфу, не то… уровень своего 3D до новых фотореалистичных высот.

Введение в физику компьютерной графики.

Признак опытного CG-специалиста – это использование физически корректного процесса работы. Если вы будете работать в соответствии с физическими законами (или так близко к ним, как позволяет ваше знание физики и математики), то вы получите более предсказуемый результат.

Накладывая одну техническую уловку (чаще всего в настройках материала и/или света) поверх другой, вы быстро создаете такую структуру сцены, которую сложно изменять и управлять ей. Более того, если такие материалы осветить не так, как изначально задумывал дизайнер шейдеров (shaders - материалы), то в лучшем случае результат будет странным, в худшем – придется все переделывать наново.

Это особенно важно, если вы работаете в команде, где ваша работа передается дальше по цепочке. И с вашей сценой потом будет работать другой человек, который будет настраивать другой ракурс и ставить другое освещение.

Старайтесь сохранить физическую правильность как можно дольше и используйте свое «право на вольность художника», только если это абсолютно необходимо.

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

Лучшие способы получить худшую 3D-картинку.

  • Не используйте глобальное освещение (Global illumination - GI) – оставляйте 100% черные тени. Также можно просто чрезмерно засветить картинку.
  • Использовать только процедурные шейдеры и ни в коем случае не прибегать к вручную нарисованным текстурам. Можно также использовать элементарные повторяющиеся (тайленые - tiled) текстуры.
  • В текстурах максимально использовать: 100% белый, 100% черный и чрезвычайно насыщенные цвета.
  • Не используйте отражательную способность материалов и тем более не делайте текстур для передачи свойств отражения.
  • Если вы (по какой-то ненормальной причине) решили использовать отражения, то используйте только зеркальное отражение и ни в коем случае не размывайте его.
  • Под любым поводом игнорируйте такую вещь как френелевское затухание (Fresnel falloff).
  • Не обращайте внимания на бамп (bump) и дисплейсмент (displacement). Старательно притворяйтесь, что простая и абсолютно гладкая поверхность, которую вы создали, действительно существует в реальности.
  • Активируйте устарелую симуляцию "Освещение окружения" (Ambient Lighting) и не используйте свойство света затухать обратно пропорционально квадрату расстояния. Исключение составляют только солнце и луна – им нужно включить эту возможность. Игнорируйте масштаб сцены.
  • Всегда используйте жесткие (по краям, неразмытые) тени.
  • Не используйте опции камеры из реального мира. Игнорируйте экспозицию (exposure), глубину резкости (depth of field) и ни за что не делайте движущиеся объекты размытыми (motion blur).

Использование этих инструкций гарантирует достижение вами невыразительной компьютерной графики.

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

Все современные системы рендеринга, основанные на построении траектории луча света, используют физически-корректные расчеты (т. е. основанные на физических законах реального мира, но не физически точные, конечно). Поэтому так важно понимать принципы работы реальных материалов и реальных фото- и видеокамер, чтобы изучать освещение и материалы в КГ.

Создавая фотореалистичную картинку, мы делаем ее именно ФОТОреалистичной. Это означает, что когда мы рендерим сцену, то мы имитируем ФОТО и ВИДЕОизображение реального мира, а не то как МЫ ВИДИМ реальный мир.

Реальные объекты и их имитация с помощью 3d-геометрии.

Геометрия большинства компьютерных (CG) моделей не может сравниться с геометрией и микроструктурой объектов из реального мира.

Моделирование всех деталей не имеет смысла, поскольку такую модель будет сложно привязывать (rig) и текстурить (map). Также будет накладно вращать такую модель в окнах проекций 3d-редактора, поэтому мы используем карты дисплейсмента, бампа или нормалей (normal maps).

Совет: для достижения реалистичного результата - ВСЕГДА используйте бамп, а лучше дисплейсмент на ЛЮБОЙ поверхности.

К примеру, в любом фильме с применением КГ используют как МИНИМУМ цвет, бамп (и/или дисплейсмент) и карту зеркальности (specular) для КАЖДОЙ поверхности. Это в дополнение к тому, что для всех этих параметров создается вручную нарисованная текстура, а не просто выставляется числовое значение.

Грязь (Dirt).

Конечно, в архитектурной визуализации не делают грязные и старые дома (если сам клиент этого не захочет). Но грязь помогает «выдать» картинку за реалистичную.

Даже идеальное здание – никогда не идеально.

Грязь – это прекрасно, грязь – это детали, грязь – это масштаб. Запомните: чем мельче детали  грязи, тем массивнее кажется объект.

Масштаб грязи говорит о масштабе объекта.

Моделируйте только то, что вы видите (используйте референсы (references) – примеры из реальной жизни, фото и видео справочную информацию).

По возможности моделируйте с точностью до пикселя, а не до 1/8 сантиметра. Используйте масштаб из реального мира. Измеряйте вашу модель если возможно.

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

Цвет (diffuse), бамп (bump), зеркальность (specular)

Скругление углов, фаска.

Есть одна вещь, которая касается моделирования, но относится к освещению – это скругление граней, (fillet) - фаска. Фаску делают ради игры света на ней. Световые блики на фаске особым образом подчеркивает форму объекта со скругленными углами.

Заокругленные углы, фаска, fillet

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

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

 

Читайте продолжение статьи "Наука создания реалистичного 3D" – Наука освещения в 3D.

 

P. S. Картинка в заглавии (под названием Mountain trail) сделана китайским автором Tu Yun в Maya и Photoshop. Обязательно посмотрите изображение в полный рост.

P. P. S. Статья написана по материалам ветки форума subdivisionmodeling.com - The Science For CG (к сожалению, её уже затёрли). Спасибо авторам оригинальной статьи: Саша Александров, Rens Heeren, playmesumch00ns.




Подпишитесь на обновление блога (вот 3 причины для этого).
Введите ваш e-mail:





Вам понравилась статья? Хотите отблагодарить автора? Расскажите о ней друзьям:
Или подпишитесь на обновление блога по E-Mail.
(via FeedBurner)

Введите ваш e-mail (используется только для отправления обновлений блога):

Ответов: 15 к статье “Наука создания фотореалистичного 3D.”

  1. Еще одно обобщение на тему фото-реалистичности. Для многих вышеприведенные нюансы — уже заученные истины, а вот новичкам как раз статья придется по душе))
    Фактически все знал, но пользовался буквально в единичных случаях((

  2. Насчёт Boolean согласен, он иногда так испоганит сетку, что лучше заново сделать, чем редактировать

  3. Статья как статья — кратко и интересно.
    Интересно, что статья о фотореалистичности, а заглавная картинка мультяшная:)

  4. остаётся только сожалеть о том, что я не увидел эту статью лет пять назад, до всего приходилось доходить самому(

  5. Практических статей по 3D много, а вот с теорией туговато. Таких бы статей ПОБОЛЬШЕ! Низкий поклон автору!

  6. Юра здравствуй,в 3d я полный ноль, первый раз посмотрел работы понравилось хочу научиться, посоветуй как и с чего начать. Спасибо

  7. ВСЕГДА используйте бамп, а лучше дисплейсмент на ЛЮБОЙ поверхности

    Про бамп согласен, но вот про дисплейсмент в MAX на всех поверхностях — это тяжело. Стараюсь как можно реже использовать дисплейс, так как он очень сильно тормозит рендер. А со всем остальном я согласен полностью

    • Да, но bump смотрится плоско (особенно под острыми углами и по бокам модели), а дисплейсмент — это объемный эффект. Качество картинки без дисплейса сразу пострадает.

      • Ну конечно же это зависит от ситуации. Я лишь хотел сказать, что я чаще делаю бамп вместо дисплейса (если нету каких-то переломов формы или соответствующих ракурсов плоскости), пусть он даже будет немножко менее реалистичным, но так я хоть просчитать смогу. (не заморачиваясь с нетрендером и тому подобным).
        А какую-нибудь лепную розетку на фасаде конечно мне быстрее выдавить дисплейсом. Так хоть тень будет падать.

  8. Думаю среднее между bump and displacement, normal map и не загружает просчитывание сцены и результат получше чем bump/

  9. Про грязь вот очень интересно. Делал как то я ведро, и оно у меня какое то полу мультяшное получалось, хотя бамп и зеркальности были, но вот грязи нет… теперь понятно :) А еще скоро смоделю робота, вот тут уж придется конкретно попотеть…

  10. Урок для «чайников» и «кофеварок» —
    Для полуПРОФИ нужно что-то типа между RealFlow и Absolute Character. Их не хватает типа. А про гладкие края BOXа, это пригодиться лишь внуку Стивена Спилберга. Не стоит заголовком «Читать обязательно ВСЕМ» указывать что нам нужно делать.
    «Полные нули» довольны, я за них рад! Верно сказанно полным нулям нет дело до Motion Capture, CAT, Eyematic FaceStation. Но не беда ждем уроков которые «НУЖНО ПРОЧИТАТЬ ВСЕМ БЕЗ ИСКЛЮЧЕНИЯ»!!!!

    • Как раз это урок, который нужен ВСЕМ, особенно таким «профи», которые: «Да я тут всё знаю, это всё для кофеварок написано!»
      Поскольку именно через незнание таких «простых» истин и получаются китайские чебурашки ;)

      А по-поводу вашего «Но не беда ждем уроков которые «НУЖНО ПРОЧИТАТЬ ВСЕМ БЕЗ ИСКЛЮЧЕНИЯ»!!!!» — так а что ж вы, как профессионал, не напишите такой урок!? Всё ждёте и ждёте!

      В комментариях гадить и «ждать уроков» любая кофеварка может :)

Извините, в данный момент комметарии закрыты.

© 2008 - 2018 3dyuriki.com
Для связи со мной 3dyuriki@gmail.com