ЭЛЕКТРОННАЯ БИБЛИОТЕКА КОАПП
Сборники Художественной, Технической, Справочной, Английской, Нормативной, Исторической, и др. литературы.


На нашем сайте пансионат заря отзывы 2015 для вас со скидками.

 

Урок 10. Renderer (визуализатор): закраска, тени и атмосфера


3D  Studio  Renderer  -   это  модуль,  который  анализирует
каркасную  геометрию,  освещение  и  камеры вашей трехмерной
сцены  и  создает  картину  с  тенями.  Если  вы используете
Keyframer,    серии    картин,    просматриваемых    в    их
последовательности, порождают анимацию. В следующем уроке по
Renderer  мы  сосредоточимся  исключительно  на  неподвижных
изображениях. Однако, те же  принципы могут быть приложены к
к изображениям на кадрах анимации.

Гладкая закраска - сравнение простой и комплексной геометрии

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

Два режима раскраски, используемые в Renderer, (Гуро и Фонг)
создают иллюзию  гладкой закраски, даже  хотя действительная
геометрия  покрыта   гранями  (которые  внешне   сделаны  из
треугольных граней). В некоторой мере действительно не имеет
значения, сколько граней у объекта, если он гладко закрашен,
так как  грани скрываются в процессе  визуализации. Но, хотя
иллюзия сглаживания хорошо работает на поверхности объектов,
их края ее разрушают. Проверьте это:

    4. В 3D Editor выберите из меню Files пункт Reset.

    5. Выберите  Create/Sphere/Values   и  установите  число
       сегментов 12.

    6. Выберите  Create/Sphere/Smoothed  и  в  левой стороне
       окна  Front создайте  LSphere радиусом приблизительно
       100 единиц.

    7. Далее  примените  Create/Sphere/Values для  установки
       числа сегментов 26.

    8. Используя   Create/Sphere/Smoothed,   в   окне  Front
       создайте другую сферу радиусом 100 справа от первой.

    9. Щелкните  на символ Zoom Out  (сжать)и поместите один
       ненаправленный (Omni) источник света сверху-спереди.

    10. Нажмите  Alt+L,  чтобы  выключить  символ  источника
        света.

    1. Сделайте  активным окно User,  прижмите и удерживайте
       Shift и щелкните три раза на символе Zoom Out.

    2. Выберите Renderer/Render и щелкните в окне User.

       Результат: появляется диалоговое окно Rendering.

    3. Щелкните   на  кнопку  Phong   (Фонг),  оставив   все
       остальные  кнопки, как  они есть,  затем щелкните  на
       кнопку Render для визуализации сцены.

       Результат: Две белые сферы воспроизводятся на экране.

Примечание:   Если   вы   используете   буфер   кадров   для
визуализации,то    после    повторения    визуализированного
изображения  3D  Studio  вернется   в  3D  Editor.  Если  вы
визуализируете   на  экран   VGA,  нажмите   на  пробел  для
переключения от визуализированного изображения к диалоговому
окну  Rendering и  обратно. Нажмите  Esc для  возврата в  3D
Editor.


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

Значит  ли  это,  что  LSphere  должна  иметь  не  меньше 26
сегментов, чтобы  визуализировать совершенный мяч?  На самом
деле,  нет. Требуемая  сложность геометрии  на краю  объекта
зависит  от резкости  кривизны и  размера объекта  на экране
визуализации. Мы включили файл каркасов в вашу версию, чтобы
проиллюстрировать это:

    1. Выберите Load из меню File и загрузите Rentut.3ds.

    2. П-щелкните на символ Zoom Extents.

    3. Если  вы  в  режиме  Box  display  (вывод коробочек),
       нажмите Alt+B чтобы вернуться к Full Detail.

Эта   сцена  состоит   из  пяти   LSphere.  Спереди-слева  и
сзади-слева находятся  12-сегментные LSphere. Спереди-справа
и сзади-справа  находятся  20-сегментные  LSphere.  В центре
спереди 12-сегментная LSphere, уменьшенная в размере.

    ю Выберите  Renderer/Render,  щелкните в  окне Camera  и
      визуализируйте сцену в режиме Phong.

      Результат:  Только  на  передней-левой  LSphere  видна
      линия  границы.  Две  сферы  сзади выглядят одинаково,
      хотя   у  левой   гораздо  более   простая  геометрия.
      Аналогично,  уменьшенная сфера  спереди выглядит почти
      также хорошо, потому что она меньше по размерам.

Поэтому,  чтобы качественно  оформить эту  же самую  сцену с
простейшей    геометрией,     следует    использовать    две
20-сегментные  сферы  на  переднем  плане  и 12-сегментные в
остальной части сцены.

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

Для  обобщения: При  применении гладкой  закраски создавайте
вашу геометрию так, чтобы она была сложной только настолько,
насколько необходимо для обеспечения гладкого закругления на
краю геометрии.  Зрительная гладкость края  частично зависит
от  резкости  кривизны.  В  дополнении,  размер  объекта  на
выходном   экране  должен   быть  сбалансирован   сложностью
геометрии. Размер объекта на  экране зависит от его масштаба
и расстояния  от  камеры.  В  анимациях,  этот  размер можно
менять;  планируйте  вашу  геометрию  так,  чтобы  приладить
снимок, который  показывает объект, в  наибольшем размере для
зрения.

Совет:  Общим для  3D Animator  является использование  двух
разных версий  каждого объекта. Одна  оформлена для крупного
плана, другая - для среднего и дальнего.

Режимы закраски

Для  применения  к  геометрии  при  визуализации  сцены есть
четыре режима закраски:

    ю Wireframe - проволочный каркас

    ю Flat      - плоский

    ю Gouraud   - Гуро

    ю Phong     - Фонг

Эти четыре режима закраски  могут рассматриваться как четыре
уровня "качества" закраски, где проволочный каркас на нижнем
уровне, а Фонг на самом высоком. Каждый режим, однако, имеет
свое место  в трехмерной сцене. Загрузим  сцену и рассмотрим
режимы закраски:

    ю Выберите Load из меню File и загрузите Rentut2.3ds.

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

    1. Выберите Renderer/Render.

    2. Щелкните в окне Camera.

    3. Щелкните на кнопку Wire, а затем на Render.

Проволочная визуализация

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

    1. Щелкните еще раз в окне Camera.

    2. Выберите Flat, а затем щелкните на Render.

Плоская визуализация

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

Примечание:  Мы расположили  желтый источник  света справа и
красный слева, чтобы помочь определить эффект закраски.

    1. Щелкните еще раз в окне Camera.

    2. Выберите Gouraud, а затем щелкните на Render.

Визуализация Гуро

Гуро  -  это  один  из  двух  сглаживающих  методов закраски
(другой -  Фонг). Грани всех  этих объектов, за  исключением
куба, сглаженные, но поверхности выглядят довольно тусклыми.
Закраска  Гуро   создает  переходы  цветов,   основанные  на
расположении  вершин  по  отношению  к  свету. Закраска Гуро
может быть  достаточно быстрой, она полезна,  когда не нужна
резкие зеркальные эффекты. Однако, материалы, закрашенные по
Гуро,     не    показывают     отбрасывания    теней     или
рельефность материалов.

    1. Щелкните в окне Camera.

    2. Выберите Phong и визуализируйте эту сцену еще раз.

Визуализация Фонг

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

Совет: Если  вы визуализируете в буфер  кадра или на дисплей
высокого разрешения, вы  можете ускорить  вашу визуализацию,
уменьшив установки разрешения.

    ю Выберите Renderer/Setup/Configure.

    ю Щелкните на кнопку 320x200.

    ю Установите поле Aspect Ratio в ноль.

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

Режим закраски материала

Режимы визуализации, которые вы выбирали из диалогового окна
Render  Still Image  (визуализация неподвижного изображения)
называются  "ограничениями закраски",  потому что  избранные
режимы  устанавливают  ограничения  на  самый  высокий режим
закраски в визуализируемой сцене.  Приведем еще раз иерархию
режимов снизу вверх: Wireframe, Flat, Gouraud, Phong.

В дополнении  к  ограничениям  закраски,  установленным  для
сцены  каждый  материал   несет  свои  собственные  свойства
закраски.  Это  позволяет  иметь  разные  режимы закраски на
одной и той же сцене. Мы включили в учебные (Tutorial) файлы
несколько   примеров  материалов   с  различными  свойствами
закраски. Давайте назначим их разным объектам на сцене:

    ю Выберите   Surface/Material/Get   Library,   а   затем
      выберите  Tutorial.mtl в  качестве текущей  библиотеки
      материалов.

Мы назначим проволочный материал конусу:

    1. Выберите Surface/Material/Choose  и возьмите материал
       White Wire (белая проволока).

    2. Выберите Surface/Material/Assign/Object и щелкните на
       конус.

Теперь присвоим плоский материал цилиндру:

    1. Выберите Surface/Material/Choose  и возьмите материал
       White Flat (белый плоский).

    2. Выберите Surface/Material/Assign/Object и щелкните на
       цилиндре.

    3. Примените закраску Гуро к тору:

    4. Выберите Surface/Material/Choose  и возьмите материал
       White Gouraud (белый Гуро).

    5. Выберите Surface/Material/Assign/Object и щелкните на
       торе.

Куб и  сфера уже имеют присвоенный  им по умолчанию материал
(белый, блестящий Phong), поэтому мы можем оставить его, как
есть.

Сейчас   мы  будем   визуализировать  эту   сцену  с  каждым
ограничением закраски, двигаясь от Фонг вниз к проволоке:

    ю Выберите  Renderer/Render, щелкните   в  окне  Camera,
      убедитесь, что  кнопка Phong активна  и визуализируйте
      сцену.

      Результат:  Конус  явно  визуализирован  в проволочном
      режиме,  грани цилиндра  показывают, что  он в  режиме
      плоской  закраски. Разница  между тором  Гуро и сферой
      Фонг  более тонка,  но вы  можете заметить  отсутствие
      зеркальных эффектов на торе.

Теперь   визуализируем  эту   сцену,  применяя   ограничение
закраски Гуро:

    1. Щелкните  в  окне  Camera,  щелкните  на   Gouraud  и
       визуализируйте сцену.

       Результат:  Выглядит довольно  похоже, но  зеркальный
       эффект теперь  отсутствует и на  сфере. Так как  Гуро
       теперь  самый  высокий  уровень  закраски, сфера Фонг
       теперь визуализируется в режиме Гуро.

    2. Щелкните   в  окне   Camera,  щелкните   на  Phong  и
       визуализируйте сцену.

       Результат:  Вся геометрия,  кроме проволочного конуса
       показана  в режиме плоской закраски.

    3. Идите   дальше  и  визуализируйте   в  режиме   Wire.
       Результат вы, вероятно, можете предсказать сами.

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

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

Группы сглаживания

Мы уже  говорили, что эти два  сглаживающих закраску режима,
Гуро  и  Фонг,  визуализируют   переходы  краски  по  граням
геометрии, создавая иллюзию  сглаживания. Но откуда Renderer
узнает,  какие  грани  сглаживать,  а  какие  края оставлять
оставлять  острыми?  Ответ  лежит  в  специальных значениях,
называемых  "группами  сглаживания",  которые  применяются к
геометрии, когда она создается.

Давайте   вернемся   к   исходной   геометрии,   которую  мы
использовали в примере выше:

    1. Из   меню   File  выберите   Load   и   перезагрузите
       Rentut2.3ds.

    2. Выберите   Renderer/Render   и   визуализируйте  окно
       Camera в режиме Phong.

Из  пяти  объектов  этой  сцены  у  тора  и  сферы все грани
сглажены, все грани на на боковых сторонах конуса и цилиндра
сглажены, а куб не сглажен вовсе.

Когда  эти примитивы  были созданы,  3D Studio автоматически
назначил значения сглаживания, чтобы определить их грани. Вы
можете видеть,каким граням присваивается группа сглаживания,
с помощью применения функции Soothing/Display ветки Branch:

    1. Выберите  Select/None, чтобы обеспечить,  что никакая
       геометрия не является частью набора выбора.

    2. Выберите Surface/Smoothing/Show.

       Результат: Появляется диалоговое  окно Show Smoothing
       Group с одной кнопкой, помеченной "1".

В 3D Editor может быть  до 32 групп сглаживания, присвоенных
геометрии.  На минуту  мы посмотрим,  для чего  нужны разные
группы. В  данное время диалоговое окно  показывает вам, что
на текущей сцене всей геометрии назначена только одна группа
сглаживания  и  это  группа  1.  Вот  как сделать все грани,
которые  присвоены этому  номеру группы  сглаживания, частью
выбранного набора:

    ю Щелкните для включения кнопки 1, затем щелкните OK.

      Результат:   Грани   всех    объектов,   кроме   куба,
      станут красными.

Фактически грани  оснований цилиндра и конуса  не выбраны. Вы
можете  более  ясно  видеть  грани,  которые  не назначены в
группу сглаживания, если обратите множество выбора:

    ю Выберите  Select/Invert.

      Результат:  Выбранные  грани   станут  невыбранными  и
      наоборот.

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

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

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

    ю Выберите Surface/Smoothing/Group.

      Результат: Появляется диалоговое  окно Smoothing Group
      Selector с кнопками для всех групп сглаживания.

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

    1. Щелкните на кнопку Cancel.

    2. Выберите Surface/Smoothing/Face/Assign.

    3. Щелкните  на кнопку Selected, затем  щелкните в любом
       окне  проекции  для  назначения  группы сглаживания 1
       выбранным граням.

Теперь   всем   граням   всех   объектов   назначена  группа
сглаживания 1.

    ю Выберите Renderer/Render и визуализируйте окно Camera.

Результат,возможно, самый странный на  кубе, где три видимые
грани теперь сглажены. Заметьте, что образующие силуэт ребра
конфликтуют с видимой заглаженностью внутренних (по отношению
к силуэту) поверхностей.

Создание групп сглаживания

Там, где нет групп сглаживания, нет и сглаживания. Например,
мы можем снять сглаживание с половины геометрии на сцене:

    1. Выберите  Select/None,   чтобы  выключить   множество
       выбора.

    2. Выберите   Select/Face/Region   3.   В   окне   Front
       определите  рамку, которая  окружает правую  половину
       окна от центра сферы.

       Результат: Выбраны грани половины сферы, части тора и
       переднего основания цилиндра.

Здесь выбранная область

    1. Выберите Surface/Smoothing/Face/Clear All.

    2. Щелкните  на кнопку Selected,  затем щелкните в  окне
       Front.

       Результат: Все  группы сглаживания (в  данном случае,
       группа 1) очистятся от выбранных граней.

    3. Выберите Renderer/Render и визуализируйте окно Camera.

       Результат:   В  визуализированной   сцене  геометрия,
       которая была  очищена от групп  сглаживания, показана
       граненной.

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

Использование разных групп сглаживания

Пока мы использовали только  группу сглаживания или никакого
сглаживания. Зачем, спросите вы, нужны 32 групп сглаживания?
Ответ - чтобы создавать ребра и стыки.

Мы уже говорили ранее, что ребра создаются там,где две грани
сходятся  под  разными  углами,  и  при  этом  эти  грани не
содержат  общий  номер  группы  сглаживания  или не содержат
группы   сглаживания.   Как   пример,   мы  назначим  группу
сглаживания 2 текущей выбранной геометрии:

    1. Выберите Surface/Smoothing/Group.

    2. Выберите  Surface/Smoothing/Face/Assign.  Щелкните на
       кнопку Selected, затем щелкните в окне   Front.

       Результат: Группа  сглаживания  2   назначена  граням
       правой  стороны,  а  исходная  группа  сглаживания  1
       остается назначенной граням слева.

Еще  раз посмотрите  на только  что визуализированную  сцену
перед новой  визуализацией. Обратите внимание  на места, где
сглаживание прекращается  и начинается огранка.  Здесь будет
граница между двумя группами сглаживания:

    ю Выберите Renderer/Render и визуализируйте окно Camera.

      Результат:  Грань  или  стык  появляется под серединой
      сферы и тора.

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

Важно: Любой грани вы можете назначить более чем одну группу
сглаживания. На  самом деле, одна грань  может содержать все
32   группы   сглаживания.   Ребра   создаются   не  потому,
что  соседние грани  содержат различные  группы сглаживания,
а потому что они не содержат общей группы.

Посмотрим на эффект  применения нескольких групп сглаживания
на тех  же гранях. Для  демонстрации этого нам  нужна только
сфера:

    1. Выберите  Select/None или нажмите Alt+N.

    2. Выберите  Display/Hide/Object/By Name.

    3. Пометьте все объекты кроме LSphere и щелкните на OK.

    4. П-щелкните на символе Zoom Extents.

Это будет легче, если мы работаем только с передними гранями
сферы. Мы спрячем задние грани:

    1. Примените Select/Faces/Region 3.

    2. Из  окна Top определите рамку  вокруг задней половины
       сферы.

    1. Выберите   Display/Hide/Faces,   щелкните  на  кнопку
       Selected, затем щелкните в окне Top.

       Результат: Задние грани на сфере спрятаны.

    2. Нажмите Shift+[-], чтобы перерисовать все окна.

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

    ю Выберите  Surface/Smoothing/Clear  All  и щелкните  на
      сфере.

      Результат: Все  группы  сглаживания удалены.

Применим   множества   выбора   для   разделения  граней  по
горизонтали:
сфера:

    1. Выберите  Select/None, чтобы обеспечить,  что никакой
       геометрии не выбрано.

    2. В  окне Front примените  Select/Faces/Region 3, чтобы
       определить рамку отбора,  покрывающую два центральных
       горизонтальных ряда граней.

    1. Выберите Surface/Smoothing/Group  и обеспечьте, чтобы
       текущей была группа 2.

    2. Выберите  Surface/Smoothing/Face/Assign.  Щелкните на
       кнопку Selected,  затем щелкните в  окне Front, чтобы
       назначить группу 2 центральной полосе граней.

Примечание: Центральная полоса будет группой сглаживания 2,
а теперь мы  сделаем верхнюю треть  группой сглаживания 1  и
нижнюю треть  группой сглаживания 3.

    1. Выберите  Select/None.

    2. Примените   Select/Faces/Region  3,  чтобы определить
       верхнюю треть сферы.

    3. Выберите Surface/Smoothing/Group  и  выберите  кнопку
       группы 1.

    4. Выберите  Surface/Smoothing/Face/Assign.  Щелкните на
       кнопку Selected,  затем щелкните в  окне Front, чтобы
       назначить группу 1 верхней трети.

    5. Повторите вышеописанные  шаги, чтобы назначить группу
       сглаживания 3 нижней трети граней.

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

    ю С  активным окном Front  щелкните один раз  на символе
      Zoom  Out, потом  визуализируйте окно  Front в  режиме
      Фонг.

      Результат:  Передняя  часть   сферы  состоит  из  трех
      сглаженных   горизонтальных  полос.   Стыки  видны  на
      границе между группами 1, 2 и 3.

Теперь добавим группы  сглаживания 1 и 3 к  четырем граням в
центре сферы:

    1. Выберите  Select/None.

    2. Щелкните на кнопку Zoom Extents.

    3. Примените   Select/Faces/Region  3,  чтобы определить
       рамку вокруг центральных четырех граней сферы.

Напоминание: Текущая группа сглаживания должна быть номер 3.
Если  вы   не  уверены  в   этом,  примените  для   проверки
Surface/Smoothing/Group.

    1. Выберите  Surface/Smoothing/Face/Assign.  Щелкните на
       кнопку Selected, затем щелкните в окне Front.

    2. Выберите Surface/Smoothing/Group и выберите группу 1.

    3. Выберите    Surface/Smoothing/Face/Assign,   чтобы
       добавить  группу 1 к четырем выбранным граням.

    4. Один  раз щелкните на Zoom  out, потом визуализируйте
       окно Front.

       Результат: Стыки видны только на внешней части сферы.
       Центр сглажен и по горизонтали и по вертикали.

Если бы вы сделали карту расположения групп сглаживания, она
бы выглядела так:

Чтобы определить, где будут появляться стыки просмотрите по
горизонтали  или  по  вертикали  грани  или cel'ы предыдущей
иллюстрации.  При   просмотре  по  горизонтали   каждый  ряд
содержит один  и тот же  номер, поэтому стыки  не видны. При
просмотре по  вертикали первая и третья  колонки не содержат
общих номеров, поэтому  видны стыки между 1 и 2  и между 2 и
3.  Средняя колонка  содержат общие  номера, потому  что три
группы сглаживания  были помещены в центральный cel.

Примечание: 3D  Lofter автоматически назначает  до 12 разных
групп   сглаживания  для   правильного  создания   ребер  на
наращенных объектах. Группы сглаживания назначаются частично
основываясь   на   значениях   сплайна   фигуры  и  вершинах
траектории. (Значения сглаженного сплайна отражаются в общих
группах сглаживания; значения линейного сплайна отражаются в
общих  группах  сглаживания.)  Назначения  могут  быть  даже
сложными,  но  если  вы  хотите  анализировать этот процесс,
наращивания     объекта,     затем     примените     функцию
Surface/Smoothing/Show,    чтобы   увидеть    какие   группы
сглаживания назначаются и каким частям каркасного объекта.

Прожектора (Spotlights) и отбрасывание теней.

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

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

Загрузите следующий пример с вашего диска:

    ю Выберите Load из меню File и загрузите Rentut.3ds.

Это  простая сцена,  состоящая  из  "пола", двух  объектов и
простого прожектора, направленного на угол. Визуализируем ее
без изменений:

    ю Выберите  Renderer/Render,  щелкните  в  окне  Camera,
      выберите Phong и визуализируйте сцену.

      Результат:  Сцена появляется  без теней.  (Скоро мы их
      получим.)

Мы уже  организовали для вас геометрию  и положение камеры и
прожектора.   Здесь   мы    сосредоточимся   на   том,   как
правильно  отрегулировать  яркое  пятно  света  (hotspot)  и
более слабый ободок (falloff) от прожектора, как отбрасывать
тени и  на способе использования  полуосвещенных материалов.
Давайте отрегулируем яркое  пятно  и ободок от прожектора.

Яркое пятно света (hotspot) и его слабый ободок (falloff)

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

В сцене, которая  сейчас была показана, и  hotspot и falloff
вне  геометрии,  поэтому  объекты  омыты  светом.  Вы можете
установить  hotspot и  falloff  из  любого окна,  кроме окна
Camera.

    ю Выберите  Lights/Spot/Hotspot и щелкните  на звездочке
      (прожектор) из окна Front.

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

    1. Щелкните  в  окне  Camera,  щелкните на  символе "Три
       оси", нажмите  R, чтобы вернуть  в исходное состояние
       угол окна User.

    2. Щелкните на кнопку Zoom Extents.

    3. Нажмите   Alt+B  для   использования   режима  вывода
       объектов в виде коробок.

Теперь отрегулируем угол окна User:

    1. Нажмите  девять  раз  стрелку  "Вправо"  и  один  раз
       стрелку "Вниз",  чтобы повернуть окно  User так чтобы
       прожектор и цель встали  приблизительно на одну линию
       - один над другим.

    2. Теперь, когда вы  приблизились, нажмите и удерживайте
       клавишу Shift  ( чтобы ограничить  движение шагами по
       одному  градусу) и  продолжайте нажимать  на стрелки,
       пока звездочка прожектора и ее цель не совпадут.

Теперь вы глядите прямо вниз по прожектору.

    ю Применяя  Lights/Spot/Hotspot, щелкните в  окне User и
      отрегулируйте  диаметр  яркого  пятна  так,  чтобы  оба
      меньших  объекта  (конус  и  шар, представленные двумя
      меньшими  коробочками)  как  раз  помещаются  в желтом
      круге.

Регулировка яркого пятна и ободка из окна User

    1. Выберите   Lights/Spot/Falloff,  щелкните  на символе
       прожектора и отрегулируйте  желтый круг ободка, чтобы
       он  был слегка  больше яркого  пятна. Это  даст свету
       мягкий, но различимый край.

    2. Нажмите C, чтобы вернуть окно User к виду Camera.

    1. Выберите  Renderer/Render,  щелкните в  окне Camera и
       визуализируйте сцену.

       Результат: Можно видеть пятно света на полу квадрата.

Мы   упоминали  раньше,   что  с   прожекторами  вы   должны
использовать закраску  Фонг. Вот что  случиться, если вы  не
сделаете этого:

    ю Щелкните   в   окне    Camera,   выберите   Gouraud  и
      визуализируйте сцену.

      Результат: Освещение  конуса и шара не  такое резкое и
      нет пятна света на полу.

Вспомните,что   то   же    самое   остается   верным,   если
визуализируете в  режиме Фонг, но  с использованием материала
Гуро для пола.

Отбрасывание теней (Casting Shadows)

Отбрасывание теней не труднее щелканья выключателем:

    1. Выберите Lights/Spot/Adjust и щелкните на прожекторе.

    2. Щелкните в   диалоговом окне  Spotlight Definition на
       кнопку Shadow,  чтобы включить ее,  затем щелкните но
       OK.

    3. Выберите  Renderer/Render,  щелкните  в  окне  Camera,
      не забудьте выбрать Phong и визуализируйте сцену.

      Результат: Свет отбросит тени шара и конуса на пол.

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

Проволочные объекты также могут давать тени. Испытайте это:

    1. Выберите Surface/Material/Choose  и выберите материал
       White  Wire  (белая  проволока).  Его  можно  найти в
       библиотеке  Tutorial.mli.

    2. Используя  Surface/Material/Assign/Object   назначьте
       White Wire шару.

    3. Выберите  Renderer/Render,  щелкните  в  окне  Camera,
        и визуализируйте сцену в режиме Phong.

       Результат:  Шар  появится  как  проволочный каркас, и
       этот каркас отбросит тень.

Тени,  отбрасываемые проволочным  каркасом, могут  выглядеть
дрожащими и "пушистыми". Вы можете отрегулировать разрешение
и резкость теней:

    1. Выберите  Renderer/Setup/Shadows.

       Результат: Появляется диалоговое  окно Shadow Control
       с различными редактируемыми полями.

    2. В  этом  диалоговом  окне  установите  поле  Map Size
       (размер  растра)   в  512 ,  Sample   Range  (уровень
       образца) в 1 и щелкните на ОК.

Примечание:  Каждая  тень,  которая  отброшена,  является на
самом деле изображением растра - файлом картинки. Увеличение
растра  увеличивает  разрешение   шаблона,  примененного  для
создания этих  теней. Это похоже на  эффект применения более
высокой  установки  anti-alias  только  для теней. Понижение
значения  Sample  Range  делает   более  резким  край  тени.
(Посмотрите   подробности  о значениях   отбрасывания  теней
смотрите в Renderer/Setup/Shadows вашего Reference Manual.)

Важно:  При  визуализации  на  экран  низкого разрешения VGA
используйте для  лучшего разрешения теней  Med (среднюю) или
High (высокую) установку Antialiasing.

Признак: Casts Shadows (отбрасывает тени)

Мы  можем  увеличить  иллюзию  путем расположения физической
лампы  на  сцене,  чтобы   показать  источник  пучка  света.
Случилось так,  что лампа скрыта в  каркасном файле, давайте
покажем ее:

    1. Нажмите  Alt+B, чтобы вернуться  в режим Full  Detail
       (детали полностью).

    2. Выберите Display/Unhide/All (показ/нескрыто/все).

       Результат:   конусообразная    лампа   появляется   у
       звездочки прожектора.

Эта  лампа - просто  примитив полусферы, который может  быть
удлинен функцией Modify/Scale.

Совет: Для  анимации света в Keyframer'e  вы могли бы связать
прожектор и его цель в в геометрию лампы. При движении лампы
в вашей анимации свет и тени будут двигаться с ней.

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

    ю Выберите  Renderer/Render,  щелкните в  окне  Camera и
      визуализируйте сцену.

      Результат:  Только  окружающий   свет  появляется  при
      визуализации, создавая серую кашу.

Примечание:  Прожектора, которые  отбрасывают тени, являются
только  источником  света,   который  блокируется  каркасной
геометрией.  Сами тени  создаются любой  геометрией, которая
блокирует  пучок  света.  Так  как  наш  прожектор находится
внутри   полусферы   лампы,    грани   основания   полусферы
лампы блокируют весь  его свет.

У этой проблемы есть несколько решений:

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

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

Что делать в этом случае?

Решением будет использование  функции Surface/Attributes для
выключения признака каркаса лампы "отбрасывает тень".

    1. Выберите  Surface/Attributes  и щелкните  на лампе  в
       любом окне, кроме Camera.

       Результат:   Появляется    диалоговое   окно   Object
       Attributes.

    2. Щелкните  для ее выключения на  кнопку Casts Shadows,
       затем щелкните на OK.

Примечание:  Это сообщит  визуализатору, что  лампа не будет
отбрасывать  теней.  В  результате  любой отбрасывающий тени
прожектор будет светить прямо через свой каркас.

    ю Выберите Renderer/Render и визуализируйте окно Camera.

      Результат: Сцена визуализирована правильно с тенями.

Самосветящийся материал

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

Самоподсвеченные материалы создаются  в Material Editor. Они
игнорируют   источники   света   и   представляют  полностью
диффузный   цвет   вне   зависимости   от  освещенности  или
затемненности любой  области сцены. Поскольку  они сохраняют
постоянный цвет  и в темноте  и на свету,  создается иллюзия
раскаленности. Мы  включили белый самосветящийся  материал в
учебную  библиотеку материалов,  которую можно  использовать
для создания ламп, которые  выглядят как настоящие источники
света:

    1. Выберите Surface/Material/Choose  и выберите материал
       White Light (S1).

    2. Примените   Select/Faces/Region  3.

    3. Из  окна  Front  определите  область  вокруг  граней,
       которые образуют основание полусферы (линзу лампы).

Определите область здесь

    1. Выберите Surface/Material/Assign/Face.

    2. Включите  кнопку  Selected и  щелкните в  окне Front,
       чтобы  назначить  самосветящийся  материал  выбранным
       граням.

    3. Выберите  Renderer/Render,  щелкните  в окне Camera и
       визуализируйте сцену.

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

Важно: Отбрасывающие тень прожектора блокируются геометрией.
Понимаете  ли вы,  что  обратное  тоже верно?  Источники, не
отбрасывающие  тени,  не   блокируются  геометрией.  Другими
словами, свет такого источника освещает грани объекта, затем
проходит через  него и освещает грани  любого объекта сзади.
Вы можете проверить это в предыдущей сцене, поместив один из
объектов ниже пола и  выключив кнопку Shadow для прожектора.
Визуализируйте сцену из окна  Front или отрегулируйте камеру
так, чтобы вы могли видеть ниже пола. Объект под полом будет
освещен так,  как будто пола  не было. Это  не такая большая
проблема,  как  можно  подумать  (вы  могли  бы заметить это
ранее).  Однако,   вы  должны  быть   предупреждены.  Сцены,
требующие тонкого  освещения, могут выглядеть  неверно из-за
несколько  неправильного  света  Omni  или не отбрасывающего
теней прожектора.

Атмосфера:  Разметка  расстояния  (Disnance  Cueing) и туман
(Fog)

Функция  Atmosphere  в  ветке  Renderer/Setup  позволит  вам
добавить  драматические  эффекты  в  трехмерную  сцену путем
применения   разметки  расстояния   (ослабления  света)  или
тумана.  В любом  случае иллюзия  глубины возрастает,  сцене
придается  "воздух".  Сначала  мы  познакомимся  с разметкой
расстояния.

    ю Выберите Load из меню File и загрузите Rentut4.3ds.

Иллюзия глубины (Disnance Cueing)

Этот   файл  содержит   ряд  чисел   (1-4),  выстроенный  на
панели.  Природа  каркасных  объектов  не  имеет  особенного
значения  для  нашей  задачи,  кроме  того,  что  эти  числа
ослабевают   на   расстоянии.   Расстояние   -  это  главный
компонент, который влияет на атмосферные эффекты:

    ю Выберите  Renderer/Render,  щелкните  в окне  Camera и
      визуализируйте сцену в режиме Flat.

      Результат: Числа  выглядят, как вы  и ожидали. Простой
      ненаправленный свет справа освещает сцену.

Установка расстояний от камеры

Первым шагом  в применении иллюзии глубины  или тумана будет
установка дистанции, на которой эффект имеет место. В случае
иллюзии  глубины  мы  хотим,  чтобы  свет  начал ослабляться
(темнеть), когда  он достигает цифры 1  и полностью потемнел
после  цифры  4.  Эти  два  края  дистанции  устанавливаются
функцией Ranges (дистанция) ветки Camera.

    1. Щелкните в  окне  Top,  чтобы  сделать  его активным,
       потом  щелкните  на  символе  "Переключение на полный
       экран"  для расширения окна  Top.

    2. Выберите    Camera/Ranges   и  щелкните   на  символе
       "камера".

       Результат:  Появляется  курсор  в  виде  перекрестия.
       Когда  вы перемещаете  мышь, из  камеры растет  круг.
       Строка подсказки предлагает вам установить радиус 1.

    3. Этот  первый радиус есть  начало дистанции, где  свет
       начинает слабеть.

    4. Ведите мышь, пока край белого круга не окажется прямо
       перед углом цифры 1.

Установите первый радиус здесь

    ю Щелкните для установки радиуса 1, затем ведите мышь.

      Результат:  Первая  граница  дистанции  установлена, и
      появился  другой круг.Строка  подсказки предлагает вам
      установить радиус 2.

Второй  радиус  будет  концом  дистанции,  на  котором  свет
полностью  ослаб.  В  данном  примере  мы применим установки
иллюзии глубины по умолчанию, и все за вторым радиусом будет
в полной темноте.

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

Установите второй радиус здесь

    1. Щелкните для установки радиуса 2.

    2. Щелкните  на  символе "Переключение  на полный экран"
       для возвращения окна Top к 1/4 экрана.

Его включение

Теперь включим иллюзию глубины:

    1. Выберите  Renderer/Setup/Atmosphere.

       Результат:Появляется   диалоговое   окно   Atmosphere
       Definition.

    2. Щелкните  на кнопку Disnance  Cue, затем щелкните  на
       OK.

    3. Выберите Renderer/Render,  щелкните  в окне  Camera и
       визуализируйте сцену в режиме Flat.

       Результат: По мере  удаления  цифр  на  дистанции они
       становятся темнее.

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

Изменение дистанции

Попробуем  отрегулировать  расстояния  от  камеры так, чтобы
ослабление света не начиналось до цифры  1, а цифра 4 была в
полной темноте:

    ю Выберите Camera/Ranges и щелкните на камере в окне Top
      и отрегулируйте первый радиус так, чтобы круг проходил
      между цифрами 1 и 2.

Примечание: Красный круг покажет предыдущую установку.

    1. Установите второй радиус так, чтобы его круг проходил
       между цифрами 3 и 4.

    2. Выберите  Renderer/Render  и  снова  щелкните  в окне
       Camera.

       Результат:  Свет начинает  гаснуть перед  цифрой 2, а
       цифра 4 не видна.

Теперь попробуем переопределить значения иллюзии глубины:

    ю Выберите   Renderer/Setup/Atmosphere   и  щелкните  на
      кнопку Define справа от кнопки Disnance  Cue.

      Результат:Появляется диалоговое окно Disnance Cueing.

Мы уже использовали значения по умолчанию, в которых не было
ослабления  света  у  ближнего  радиуса  (Near  %:0)  и было
полностью  темно  у  дальнего   радиуса  (Far  %:100).  Чтобы
поправить  эти  значения  так,  чтобы  цифра  4 была еще еле
видна, вы делаете значение Far % меньшим 100 процентов:

    1. Измените  значение поля Far %  до 90 процентов, затем
       щелкните на OK.

    2. Выберите   Renderer/Render   и  визуализируйте   окно
       Camera.

       Результат: Свет гаснет не более чем на 90 процентов у
       дальнего радиуса, оставляя видимой цифру 4.

Применение тумана

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

    1. Выберите Renderer/Setup/Atmosphere  и включите кнопку
       Fog.

    2. Визуализируйте окно Camera.

       Результат:  Панель  и  числа  кажутся  исчезнувшими в
       густом, как гороховый суп тумане.
На  самом деле  случилось то,  что белый цвет  был применен с
увеличением  по расстоянию.  Заметьте, что  белизна начинает
расти на границе  между цифрами 1 и 2  и увеличивается, пока
цифра   4  полностью   не   исчезнет.   Как  и   у   иллюзии
глубины  параметры тумана  по умолчанию  есть 0%  у ближнего
края и 100% - у  дальнего. Те же самые установки расстояний
от камеры применяются и для иллюзия глубины и для тумана.

    ю  Выберите  Renderer/Setup/Atmosphere   и  щелкните  на
       кнопку Define справа от кнопки Fog (туман).

      Результат:Появляется диалоговое окно Fog Definition.

Изменение цвета тумана

Диалоговое   окно  Fog   Definition  почти   такое  же,  как
диалоговое  окно Distance  Cueing за  исключением того,  что
здесь можно установить цвет  тумана. Итак, вам действительно
нужен туман густой, как гороховый суп?

    1. Установите ползунки RGB в 50, 60, 0.

    2. Установите значение Far% в 90 и щелкните на OK.

    3. Визуализируйте окно Camera.

       Результат:   Визуализированная  сцена   появляется  в
       зеленом тумане.

Кнопка туманного фона

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

    1. Выберите   Renderer/Setup/Atmosphere,   щелкните   на
       кнопку Define и выключите кнопку Fog Background.

    2. Выйдите из диалогового окна и визуализируйте сцену.

       Результат: Туман  действует только на  геометрию, фон
       остался черным.

Это довольно  странный эффект, как  можно видеть. Обычно  вы
хотите вместе с геометрией затуманить фон.

Затуманивание фона с наложенным растровым изображением

Во  многих  случаях  вы  не  будете  применять  черный  фон.
Посмотрим, что случится при использовании растрового фона:

    1. Выберите   Renderer/Setup/Background  и  щелкните  на
       кнопку  справа от кнопки Bitmap.

       Результат: Появляется селектор.

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

    3. После  загрузки  растра  убедитесь  перед выходом  из
       диалогового окна Background method, что кнопка Bitmap
       включена.

Перед визуализацией давайте  восстановим различные параметры
в диалоговом окне Fog.

    1. Выберите   Renderer/Setup/Atmosphere,   щелкните   на
       кнопку Define справа от  кнопки Fog и включите кнопку
       Fog Background.

    2. Установите ползунки RGB в 100, 100, 100.

    3. Установите значение Far% в 100 и щелкните на OK.

    3. Визуализируйте окно Camera.

       Результат:  Хотя у  вас есть  фон ,  этого не  видно,
       потому что он полностью затуманен.

Примечание:  Если  разрешение  вашего  файла  растра фона не
совпадает  с  разрешением  экрана  вашего  дисплея, Renderer
подскажет вам выполнить Resize или  Tile.
    ю Если  вы   выбрали  Resize,   растр   сжимается    или
      растягивается,   чтобы    соответствовать   разрешению
      экрана.

    ю Если вы выбрали Tile, разрешение растра сохраняется, и
      он или повторяется (если он меньше экрана) или берется
      только часть его (если он больше экрана).

Для этого упражнения неважно, что вы выберите, но повторение
быстрее.

Важно: Мы  сознательно дали вам  восстановить значение Far%,
равное  100,   чтобы  проиллюстрировать  один   момент.  При
использовании  фона  с  атмосферными  эффектами  вам следует
применять значение Far%, меньшее 100 процентов, чтобы видеть
что-нибудь от фона. Это применимо  к иллюзии глубины как и к
туману.
Попробуем еще раз с меньшим туманом сзади:

   1. Выберите   Renderer/Setup/Atmosphere,   щелкните   на
      кнопку  Define и  установите значение  Far%, равное 80
      процентам.

    3. Визуализируйте окно Camera.

       Результат: 20 процентов фона видны через туман.

Мы  оставим вас  в  этом  месте, чтобы  экспериментировать с
эффектами тумана и иллюзии глубины при различных значениях и
разном фоне. Испытайте также  разные геометрии. Заметьте что
диалоговое окно Distance Cueing имеет кнопку Dim Background,
которая работает также, как кнопка Fog Background.


Яндекс цитирования