Больше
зеркал, хороших и разных!
Зеркальные
поверхности — один из особых предметов
гордости Autodesk и Kinetix — ведь именно их
3DS'Ka смогла быть не только трехмерным
модельером, но еще и крутой
рендеринговой системой и рендерить
такие вещи, как bump, отражения,
прозрачность и т.п. До этого, конечно
были системы типа POVR, но они, в основном,
— рендереры, т.е. моделировать в них
особенно нельзя.
Мы рассмотрим три
основных способа создания зеркал, по
возрастающей сложности.
Способ
№1 — Reflect/Refract
Создадим
сферу и сплющим ее так, чтобы она была
похожа по форме на линзу. Теперь идем в
Material Editor и создаем новый материал.
Можете оставить все основные установки
так, как они есть — вполне подойдет
почти любой шейдинг, блеск и т.п. Наша
цель — раздел Maps и пункт Reflect в
нем. Нажмите на него, и из появившегося
списка New выберите Reflect => Refract Map.
Можете не менять никаких установок,
вернуться в основной материал и
присвоить этот материал вашему объекту
— сплющенной сфере. Все — рендерите.
Быстрый и
простой метод. Но это единственное его
достоинство. Дальше идут одни
недостатки. Во-первых — это очень
плохое качество изображения. Даже на
той сжатой из 640х480 до 200х150 картинке вы
можете
заметить
ребристость границы — поверьте, она
выглядит действительно отвратительно.
Во-вторых, это качество изображения (количество
пикселей) уменьшается с отхождением
объекта от сферической формы. Для
идеальной сферы этот способ очень
привлекателен, но его ни в коем случае
нельзя использовать на плоских
объектах, и не рекомендуется на
несферических объектах.
Способ
№2 — Flat Mirror
Этот способ
применим только для идеально ровных
поверхностей. Если у вас хотя бы на одну
миллионную координата сдвинута — уже
не сработает. К тому же, способ не так
прост, как № 1.
Итак,
приступим. Создайте Box Материал
нам понадобится не простой, а
многокомпонентный, а точнее
двухкомпонентный. Создайте новый
материал Multi => Sub-Object. Сделайте Set
Number и укажите 2 компонента. Нам надо
создать два простых материала: один —
собственно зеркало, а другой — то, что
будет как бы обрамлять его. Зеркало
будет вторым материалом, а обрамление
— первым — это важно.
Тыкаем
мышкой во второй материал, если нужно —
регулируем основные параметры, но
самое главное — создаем Flat Mirror Map в
разделе Reflect Map (гак же, как и Reflect Ф
Refract). Теперь самое интересное. Берете
свой Box, и добавляете модификатор
Edit Mesh (можно также сконвертить Box в
Editable Mesh). Теперь переключаете Sub-Object
на Face и выделяете ту поверхность, что
показана штриховкой на
вышеприведенном рисунке.
Теперь
ищите Material ID и вводите туда 2. Все —
мы готовы к рендерингу.
Хорошее
качество изображения — пожалуй, почти
идеальное. Но только для идеально
плоских поверхностей. Метод необходим
там, где нужны точные, качественные и
самое главное быстро читающиеся
зеркала. По сравнению с рейтрейсингом,
этот метод дает очень большой выигрыш в
быстродействии.
Способ
№3 — Raytrace
Raytrace
— это встроенный рейтрейсер 3DSMAX,
доступный еще во второй версии.
Рейтрейсинг или трассировка лучей —
это способ построения изображения, при
котором каждая точка поверхности,
выбираемая с каким-либо шагом
дискретизации испускает "луч",
который
просчитывается по обычным физическим
законам (преломления, отражения) и,
таким образом, получается идеальная
картинка. Минусы такого подхода тоже
очевидны — очень низкая скорость по
сравнению со всем остальным.
Продемонстрируем его на не самом
традиционном сферическом зеркале.
Сделайте сферу и расположите его
примерно так, как показано на картинке.
Создайте
новый материал и в Reflection Map задаем
новый map — Raytrace (процесс аналогичен
заданию Reflect/Refract
из
№1). Присвойте
материал объекту и ренедерите.
Идеальное
качество изображений. Очень низкая
скорость просчета — самая низкая из
всех методов. Проблема в том, что
встроенный рейтресер MAX'a очень и очень
медленный по сравнению со своими
аналогами.
|