3D Studio MAX Изнутри
ГЛАВА
5
Начинайте любое моделирование с
размышлений об объектах, которые необходимо создать.
Должны ли они быть пространственно точными или просто
хорошо выглядеть? Должны ли они быть детализированными
или грубыми и схематичными? Насколь важно время
визуализации и какую часть моделирования можно заменить
текстурными картами? Если сможете ответить на эти
вопросы, значит у вас имеется идея о точности,
детализации и сложности сцены.
Насколь точной должна быть модель? В
отличие от систем САПР, для которых точность является
главной, 3D Studio MAX более гибок. Хорошее правило
гласит: "Если это выглядит правильно, то оно и является
правильным". Но это не означает, что в своих моделях
можно "жульничать" с размерами или полностью
игнорировать точность. Это означает необходимость
осознания, что 3D Studio MAX, помимо прочего, является
инструментом визуализации. Уровень точности, необходимый
для отображения объектов на сцене, гораздо ниже того,
который требуется для их правильного изготовления.
В большинстве случаев необходимую
точность можно достигнуть, если довериться своей
восприимчивости. То, что делает модель точной, часто
слабо связано с точностью размеров. Зрительная система
человека не всегда различает точные расстояния, длину и
расположение в пространстве, однако превосходно
разбирается в пропорциях и соотношениях. Если пропорции
и соотношения на сцене устраивают вас, они также устроят
и вашу аудиторию.
Иногда излишнее внимание уделяется
пространственной точности. Хорошими примерами могут
служить анимации в науке, презентации в суде и некоторые
типы архитектурных и инженерных презентаций. Однако,
следует четко понимать, что даже для проектов, требующих
исключительной точности, существует предел, за которым
излишняя точность не нужна. Необходимо учитывать два
следующих порога:
-
Порог вывода изображения
-
Цифровые пороги 3DS МАХ
Одним из способов оценки точности
является анализ предполагаемой среды вывода. Определите
видимую высоту и ширину своей сцены и разделите эти
значения на высоту и ширину разрешающей способности
устройства вывода. Вы получите размер модели,
приходящийся на один пиксел. Моделируя с размерами
меньше половины пиксела, вы только зря потратите время.
ПРИМЕЧАНИЕ
При анимации видимая ширина и
высота сцены изменяются в зависимости от положения
камеры и поля обзора (FOV). Требования к точности
при анимации определяйте по самой критической
Ниже приведен пример оценки порога
точности вывода изображения сцены. Представьте себе
планирование визуализации небольшого офисного здания для
вывода на экран с разрешающей способностью 800 х 600
пикселов. Требуется знать, насколько точной должна быть
модель.
В этом примере используются два типа
вспомогательных объектов - Grid (сетка) и Таре Measure
(рулетка). В примере также оценивается размер вида Safe
Frame (безопасный кадр). Подробные сведения о создании и
использовании вспомогательных объектов приведены в
следующей главе. Safe Frame рассматривается в главе 20,
"Камеры и установка снимка".
Первым шагом является создание
простой модели и определение основного вида камеры для
сцены. На рисунке 5.1 показана сцена PRECISE.MAX,
которую можно загрузить из сопровождающего CD-ROM. На
сцене изображена модель офисного здания с размерами 180
футов в ширину, 130 футов в глубину и 34 фута в высоту.
Посмотрите на вид через камеру в
правом нижнем видовом окне. Отметьте прямоугольники с
одним и тем же центром, которые обрамляют вид. Эти
прямоугольники являются видом Safe Frame. Внешний
прямоугольник на краях видового окна показывает точный
размер окончательного визуализированного изображения.
Для правильного определения порога точности необходимо
знать ширину и высоту Safe Frame в окне камеры, в
котором находится здание. Эти измерения можно сделать
при помощи создания объекта сетки, выровненного по
камере и последующего создания на сетке рулетки.
-
Щелкните на Grid в категории
Helpers General на панели Create.
-
Переместите курсор в любое окно,
чтобы создать в нем сетку. На рисунке 5.2 показана
квадратная сетка размером 50 футов, созданная в окне
CameraOl.
-
Выполните Views -> Grids ->
Activate Grid Object, чтобы сделать созданный объект
сетки активной плоскостью конструкции.
-
Выполните Views -> Grids -> Align
To View для выравнивания сетки по видовому окну
CameraOl. Результаты этих четырех шагов показаны на
рисунке 5.2. После использования команды Align To
View сетка смещается и поворачивается так, что
выравнивается и центрируется по месту расположения
камеры. Теперь требуется переместить сетку вдоль
линии взгляда камеры до тех пор, пока предмет
(здание) не попадет в центр сетки. Это делается
путем перемещения сетки вдоль локальной оси Z.
-
Щелкните на Move и установите
Transform Managers (диспетчеры трансформаций) в
локальные (Local) координаты, а ограничение - по оси
Z.
-
Переместите сетку так, чтобы она
была по центру здания, как показано на рисунке 5.3.
Сетку можно поместить в любое удобное видовое окно.
Наконец, вы готовы к созданию двух вспомогательных
рулеток (Таре) для измерения высоты и ширины Safe
Frame в виде через камеру:
-
Щелкните на виде CameraOl для его
активизации.
-
Щелкните на Таре в категории
Helpers General на панели Create.
-
Создайте одну рулетку для
измерения ширины Safe Frame и другую для измерения
высоты, как показано на рисунке 5.4.
-
В панели Modify каждый раз
выбирайте по одной рулетке. Запомните их длину в
поле Length.
-
Разделите измеренные ширину и
высоту на ширину и высоту полученной визуализации.
Результаты будут следующими:
Ширина: 284 фута/800 = 0.36
Высота: 213 футов/600 = 0.36
Результатом является 0.36 фута или
немногим более 4" и это означает, что каждый пиксел
изображения занимает на экране немного больше 4". Если
предположить, что объект находится по центру пиксела,
его можно перемещать на 2" в обе стороны и он
по-прежнему будет находиться в пределах того же пиксела.
Такая модель и вид через камеру имеют порог точности
вывода изображения ±2".
Используя информацию из предыдущего
примера можно определить, что для данного положения
камеры и разрешающей способности моделирование любой
детали с шириной менее 2", является пустой тратой
времени.
ПРИМЕЧАНИЕ
В предыдущем упражнении были
получены одинаковые значения ширины и высоты
изображения, равные 0.36 фута. Эти величины равны
только в том случае, если соотношение размеров для
устройства визуализации установлено в 1.0. При
задании разрешающей способности вывода соотношение
размеров, отображаемое в диалоге Render Scene не
всегда равно 1.0. Конфигурация для разрешающей
способности видео в 512х 486 определяет коэффициент
сжатия 1.25. Когда подобное происходит, результатом
будут два различных значения для расстояния,
покрываемого одним пикселом - одно значение для
измерения по горизонтали и другое - для измерения по
вертикали. Вы должны решить, какое из значений
влияет на наиболее критические детали сцены.
Подобную технологию можно
использовать в проектах, для которых точность не
особенно критична. Сделайте несколько грубых оценок
размеров основных видов и разделите эти размеры на
разрешающую способность устройства вывода. Такие
вычисления обеспечивают получение приблизительных
значений порога точности, пригодного для множества
проектов.
СОВЕТ
В предыдущем примере используется
метод выравнивания объекта сетки с видом камеры для
создания объектов на плане перспективы. Подобный
метод можно применять каждый раз, когда требуется
создать или проследить объекты, выровненные с видом
перспективы.
В 3D Studio MAX для хранения цифровых
значений используются числа с плавающей запятой
одиночной точности (float). Такой выбор повышает
производительность 3D Studio MAX за счет незначительной
потери точности при работе с очень большими или очень
малыми моделями. Числа с плавающей запятой могут
представлять собой исключительно большие или малые
числа, но они всегда ограничены семью значащими цифрами,
в результате чего 3DS МАХ всегда точно воспроизводит
числа, содержащие до семи цифр, но когда этот диапазон
превышается, возникают ошибки округления.
Как может повлиять округление чисел?
Это зависит от того, что моделируется, вашего стиля
моделирования и количества вычислений, которые
необходимо сделать для представления объекта на сцене.
Ниже приведены несколько случаев округления:
Если единица измерения в системе по
умолчанию составляет I", устанавливаются несколько
диапазонов точности, включая:
-
Точность до 1" в диапазоне до
60.8 миль
-
Точность до '/8" в диапазоне до
7.8 мили
-
Точность до 1 см в диапазоне до
6.12 км
-
Точность до 1 мм в диапазоне до
765 метров
Отметим, что можно работать и с
метрическими единицами (SI), хотя в системе установлена
единица измерения I". Подробные сведения об установке
единиц измерения приводятся в разделе "Установка единицы
измерения" позже в этой главе.
Из-за метода вычислений чисел с
плавающей запятой трудно определить момент, когда
наступает округление для данной модели. В приведенный
ниже список включены общие рекомендации, как избежать
округления:
-
Модель с соответствующим
уровнем детализации для масштабирования сцены.
Если сцена охватывает весь город размером, например,
с Манхеттен, не имеет смысла моделировать дверные
ручки.
-
Модель должна находиться
вблизи мирового начала координат. При
импортировании модели из систем CAD с очень высокой
точностью непринято, чтобы объекты располагались на
расстоянии миллионов единиц измерения от мирового
начала координат. Переместите объекты к этому началу
координат либо в системе CAD перед их
экспортированием, либо в 3D Studio MAX
непосредственно после импортирования.
-
Изменяйте System Unit Scale
(масштаб единиц в системе) в диалоге Preference
Settings (предпочтительные установки) только в
случае крайней необходимости. Изменять масштаб
придется редко. Более подробно вопросы изменения
масштаба рассматриваются в разделе "Установка
масштаба единиц системы".
Например при моделировании очень
маленьких объектов молекулярного масштаба следует
установить системные единицы измерений в миллиметры, а
при моделировании очень больших объектов
астрономического масштаба потребуется установить их в
мили или километры.
Проблема подходящей для сцены детали
тесно связана с точностью. В предыдущем примере сцены
один пиксел равен расстоянию в 4". В заключительной
визуализации деталь менее 4" теряет определение.
Также необходимо учитывать, какая
видимая деталь является подходящей для сцены. Существует
много ситуаций, в которых деталь выглядит излишне
большой в сцене, и поэтому не используется. Почему?
Потому что некоторые детали не подходят для сообщения,
которое требуется передать. Рассмотрим, например,
офисное здание, описанное ранее. Была создана модель
этого здания и расположена в нужном месте. Теперь вы
хотите добавить на фон несколько людей и автомобилей.
Расчет порога точности для автомобилей показывает, что
детали, подобные дворникам на ветровых стеклах и
украшениям на капоте окажутся видимыми. Не моделируйте
их. Упомянутые детали автомобилей выпадут из главного
предмета визуализации, коим является здание. В этом
случае заботы о композиции и фокусе аннулируют точное
внимание к деталям.
Можно также рассмотреть возможность
применения в модели технологии артиста. Часто артист
представляет собой деталь, предполагающую наличие формы
или тени, которая к чему-то относится. Зритель
подсознательно погружается в детали. Можно только
удивляться тому, как небольшая деталь "делает погоду" в
модели.
Другой ситуацией, при которой не
следует включать все детали, является анимация для
презентации в зале судебных заседаний. Детализация и
излишний реализм часто затеняют излагаемую проблему.
Слишком реалистичные визуализации могут создать у
присяжных предвзятое мнение и часто не признаются в
качестве доказательств. Для определения подходящего
уровня детализации такого проекта следует тесно
поработать со своим клиентом. В большинстве случаев
нужно использовать минимальное количество деталей, чтобы
четко довести предмет анимации.
Сложность модели относится к
числу граней, используемых для построения модели.
Полезное правило заключается в использовании для
достижения необходимой степени реализма как можно
меньшего количества граней, поскольку скорость
визуализации непосредственно связана с числом граней на
сцене. Чем больше граней на сцене, тем больше времени
требует визуализация сцены.
Различные методы уменьшения сложности
модели обобщены в следующих стратегиях:
-
Управляйте созданием граней с
помощью различных параметров объекта - сегментов и
сторон для примитивов, шагов путей и форм для
объектов и элементов управления мозаикой для
некоторых модификаторов. Эти установки
непосредственно управляют количеством граней,
используемых для отображения объекта, и многие из
этих параметров можно сделать анимационными для
увеличения или уменьшения сложности в процессе
анимации.
-
Для уменьшения сложности модели
используйте модификатор Optimize (оптимизировать).
Этот модификатор использует многочисленные параметры
для анализа объекта и уменьшения количества
используемых вершин и граней. Параметры Optimize
также можно сделать анимационными для изменения
значения оптимизации во времени.
-
Используйте карты вместо
настоящей геометрии. Множество деталей модели можно
представить при помощи карты или картинки детали и
это лучше, чем настоящее моделирование детали с
гранями. На рисунке 5.5 показан пример применения
такого метода для модели калькулятора. Очень простая
геометрия создает сложную визуализацию с помощью
внимательного использования карт. Здесь действует
правило: "Никогда не моделируйте геометрию, которую
можно представить в виде карты".
В 3D Studio MAX единицы определяются
и измеряются в двух местах: диалог Units Setup
(установка единиц) и System Unit Scale (масштаб единиц
системы) в диалоге Preference Settings (установки
глобальных параметров).
Основным методом определения единиц
измерения является диалог Units Setup, который позволяет
указать, как единицы измеряются и отображаются.
System Unit Scale устанавливает
внутреннее значение, для которого представляется общая
единица. Это значение изменяется очень редко, если
вообще изменяется.
Для определения способа измерения и
отображения расстояний на сцене используется диалог
Units Setup. Этот диалог содержит четыре опции,
показанные на рисунке 5.6.
Первые две опции определяют методы
измерений Metric (SI) и US Standard (футы и дюймы). Эти
варианты очень прямолинейны и в рамках своих конкретных
методов предлагают подопции. Например, в US Standard
имеется две опции Decimal Feet (десятичный фут)
(стандарт для гражданской техники) и Feet with
Fractional Inches (фут с дробными дюймами)
(архитектурный стандарт). Метод Metric позволяет
выполнять измерения в миллиметрах, сантиметрах, метрах
или километрах.
Используйте третью опцию Custom
(пользовательская) для определения любой требуемой
единицы измерения. Единственным ограничением является
то, что единицу измерения необходимо описать с помощью
единиц, уже знакомых 3D Studio MAX. Для определяемой
единицы укажите суффикс, за которым следует Значение в
известных единицах, которому равна определяемая единица.
В 3D Studio MAX User's Guide ("Руководство
пользователя 3D Studio MAX") приведен пример определения
устаревшей единицы измерения "локоть", однако
пользовательские единицы также удобны и для современных
методов измерения. Например, нужно смоделировать очень
маленькие объекты. В US Standard для очень маленьких
измерений используются милы, один мил (mil) равен
0.001". Если необходимо работать в милах, можно
определить следующую общую единицу:
Мил=0.001"
Последней опцией является Generic
Units (общие единицы). 3D Studio MAX не присваивает
никакого конкретного значения общим единицам и размер
объектов управляется текущей установкой System Unit
Scale.
Работа с общими единицами - не очень
хорошая идея. Каждый раз при создании объекта следует
помнить конкретную единицу измерения. Люди обычно не
мыслят в общих единицах измерения. Посмотрите на три
последующих заявления:
"Мой стол имеет размеры 30 на 60
единиц". "Мой рост составляет 6 единиц". "Для этого
болта нужен ключ на 14 единиц".
Это неопределенные заявления,
предполагающие весьма странные пространственные
соотношения - до тех пор, пока им не присвоить
правильную единицу измерения:
"Мой стол имеет размеры 30" х
60". "Мой рост составляет 6 футов". "Для этого болта
нужен ключ на 14 миллиметров".
Такое же замешательство возникает при
моделировании в общих единицах. Это замешательство
усиливается, если вы произвольно решаете, что одна общая
единица отличается от 1" (системная единица по
умолчанию). Работа в общих единицах гарантирует
трудности при совместном использовании файлов с другими
пользователями 3DS МАХ, поскольку никто не будет знать,
что же представляет собой эта единица. Всегда
определяйте единицу измерений, которую собираетесь
использовать.
Установка System Unit Scale (масштаб
единиц системы) не зря глубоко спрятана внутри панели
General диалога Preference Settings. Нельзя изменять эту
установку по своей прихоти. Внутри 3D Studio MAX
расстояния хранятся в общих единицах, не имеющих
конкретного значения. System Unit Scale является базовым
масштабом, когда 3D Studio МАХ отображает измерения в
различных полях параметров. Изменение значения System
Unit Scale изменяет значения всех измерений на сцене.
System Unit Scale хранится в файле
3dsmax.ini, а не в отдельных файлах сцены МАХ. Все
измерения в файле сцены хранятся в общих единицах,
которые умножаются на System Unit Scale, когда файл
сцены открывается или объединяется. Например, создается
куб со сторонами в 10" с использованием System Unit
Scale, по умолчанию равного 1.0". При сохранении сцены
этот куб сохраняется со сторонами длиной 10 единиц. Если
изменить System Unit Scale до 1 фута и открыть сцену с
кубом, окажется, что она имеет стороны в 10 футов. Но
куб не изменился, просто изменилось значение единицы.
Трудно объединять и совместно
использовать файлы, если рабочие станции используют
различные System Unit Scale. Попытайтесь оставить
значение System Unit Scale по умолчанию 1" и изменяйте
его только после тщательного рассмотрения последствий
для всего проекта и возможностей использования файла в
будущем.
Единственная причина изменения System
Unit Scale может заключаться в устранении проблем
округления при моделировании очень больших или очень
маленьких сцен. (Цифровые пороги и числа с плавающей
запятой с одиночной точностью рассматривались ранее в
этой главе.) Округление влияет не только на точность
сцены, но также и на возможность трансформации объектов
и уровни увеличения/уменьшения.
Например, предположим, что
моделируется вся Земля. При использовании System Unit
Scale равной 1" окружность Земли в 24900 миль составит
больше, чем 1.5 миллиардов дюймов. Установка единицы
измерения в мили поможет работать с такими числами, но
3D Studio MAX по-прежнему работает в дюймах. Округление
с одиночной точностью наступает при 40 футах и при
работе с такими большими числами появляется множество
проблем - наиболее очевидной проблемой будет ограничение
максимального вида до ширины немного меньше четырех
миллионов единиц; нельзя будет увидеть всю протяженность
сцены.
Если изменить System Unit Scale на 1
милю, числа станут гораздо управляемыми. Окружность
Земли составит 24900 системных единиц, будет достаточно
места для увеличения вида, а точность по-прежнему
окажется приемлемой и составит 40 футов. |