74d79791

Разрушение стека


Несмотря на то, что Modifier Stack имеет очень важное значение, он имеет и свою цену - ОЗУ. Каждый шаг в стеке занимает небольшой объем ОЗУ, а модификаторы Edit стоили до сих пор дороже всего, поскольку они содержат фактические копии того, как объект модифицировался до этого момента. Чем больше модификаторов в стеке, тем больший объем ОЗУ требуется для их вычисления.

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

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

ПРЕДУПРЕЖДЕНИЕ

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

Щелчок на Collapse All (разрушить все) в диалоге Edit Modifier Stack уничтожает все модификаторы и сводит объект к тому, что видно в видовом окне. После выбора одного или нескольких модификаторов в стеке (над самым нижним), становится доступной кнопка Collapse To (разрушить до). Щелчок на ней разрушает стек от точки выборки до низа стека. Разрушение стека может вызвать замешательство, если выбрано несколько модификаторов, поскольку может показаться, что стек разрушается только внутри выборки. Рисунок 8.8 демонстрирует, что при разрушении выборки последний (верхний) модификатор задает точку, начиная с которой стек разрушается, в то время как низ разрушения всегда определяется низом стека. Для разрушения примитива до базовой геометрии применяется соответствующей модификатор Edit (Edit Mesh, EditPatch или EditSpline) и стек мгновенно разрушается. При этом стек разрушается вплоть до объектов классов Patch, Editable Mesh или Bezier Spline.

СОВЕТ


Добавление модификатора Edit требует некоторого объема ОЗУ для хранения результатов редактирования и времени, поскольку немедленно происходит переход в режим Sub-Object. Если не выполнять разрушение до Patch, добавление практически любого другого модификатора (например, Bend или XForm) будет выполняться быстрее при разрушении до классов Editable Mesh или Bezier Spline.

Результат разрушения зависит от примененных к объекту модификаторов. Начиная с модификатора EditPatch результатом разрушения будет Patch, если не добавлен модификатор, превращающий объект в каркас. В противном случае объект, вероятнее всего, разрушится до Editable Mesh. Типовыми модификаторами, разрушающими объект до каркаса, являются EditMesh, Optimize, Displace, Relax и MeshSmooth.

ПРИМЕЧАНИЕ

Класс Editable Mesh становится видимым только в случае, если это разрешено (как утверждается в файле 3D Studio MAX readme, wri) путем добавления следующих строк в файл 3dsmax.ini: [EditableMesh] Enabled=1 Разрешение этой опции не оказывает неблагоприятный эффект, а явное редактирование каркаса при этом выполнятся значительно быстрее и занимаемый объем ОЗУ гораздо меньше, чем при использовании модификатора EditMesh. Мы предполагаем, что в файле 3dsmax.ini эта опция разрешена.

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


Содержание раздела