Зеркальное отображение объектов
Зеркальное отображение объекта представляет собой трансформацию масштаба со значением -100%. Зеркальные объекты можно создавать при помощи опций диалога Mirror (см. рис. 6.38). Имеется возможность интерактивно установить опции для оси и смещения зеркального отображения, а также для метода клониро-вания.
Диалог Mirror отображает текущую систему координат трансформации в своем заголовке. Перед щелчком на Mirror следует убедиться в том, что установлена необходимая система координат. Если вы щелкните на Mirror и затем поймете, что нужно изменить координатную систему, необходимо отменить Mirror, изменить координатную систему и снова щелкнуть на Mirror. Для зеркальных отображений объекта следует решить три проблемы:
- Зеркальная ось. Выполните одну из шести опций для зеркального отображения объекта по одной или двум осям из области Mirror Axis диалога. Зеркальная ось проходит через центральную точку текущей трансформации, а ось ориентации устанавливается посредством текущей системы координат.
- Зеркальное смещение. Если зеркальный объект не должен оставаться на своем месте по умолчанию, в области диалога Mirror Axis задается дистанция смещения. Смещение перемещает объект на дополнительную дистанцию вдоль зеркальной оси от места расположения по умолчанию. Дистанция либо вводится в поле, либо перетаскивается счетчик для просмотра перемещения зеркального объекта.
- Метод клонироваиия. Обычно зеркальное отображение объекта выполняется с целью получения зеркального клона исходного объекта. Подобное используется при моделировании симметричных объектов. При этом моделируется одна половина симметричного объекта, а вторая половина получается за счет зеркального отображения. Для создания нового зеркального объекта из оригинала выполните Сору (скопировать). Instance (экземпляр) или Reference (ссылка) из области Clone Selection (выборка клона). Выбор No Clone (нет клона) выполняет зеркальное отображение исходного объекта.
СОВЕТ
Даже в случае, если клонировать зеркальные объекты не требуется, для экспериментирования с различными зеркальными осями и смещениями удобно выбирать Copy./ В этом случае всегда виден исходный объект и его зеркальное отображение, что позволяет судить о сделанном выборе. После получения необходимой зеркальной оси и смещения перед щелчком на ОК выберите No Clone.
Большинство считает, что выполнение зеркального отображения объекта является инструментом моделирования, способом полного переключения геометрии. Поскольку выполнение зеркального отображения является трансформацией, это в большей степени инструмент позиционирования, нежели моделирования. Выполнение зеркального отображения объекта иногда может привести к неожиданным результатам, если использовать объект с другими характеристиками. Ниже приведены примеры проблем, возникающих при выполнении зеркального отображения:
- Объекты лофтинга. При выборе формы для использования в объекте лофтинга трансформации формы отбрасываются, в том числе и зеркальное отображение.
- Объекты морфинга. При выборе объекта в качестве цели морфинга трансформации объекта отбрасываются. Это касается и зеркального отображения.
- Инверсная кинематика. Отрицательное значение масштаба, создающее зеркальное отображение, может вызвать проблемы при расчете суставов, если зеркальный объект используется в цепочке инверс-кой кинематики.
Такого рода проблемы можно решать с помощью различных методов, но основным решением является получение зеркального (масштабного) эффекта из матрицы трансформации объекта. Это выполняется вручную за счет применения отрицательных значений масштаба на уровне подобъектов. К сожалению, Mirror работает только на уровне объекта даже в том случае, если активным является режим подобъекта. Зеркальное отображение чего-то на уровне подобъекта производится при помощи использования диалога Scale Transform Type-In (ввод значений трансформации масштабирования).
Для зеркального отображения объекта посредством модификатора XForm выполните следующие шаги:
- Выберите объект.
- Из меню Edit выберите Transform Type-In.
- Выполните XForm из панели Modify.
- Выберите Gizmo из списка Sub-Object.
- Щелкните на Non-Uniform Scale (неоднородный масштаб).
- Введите -100 в поле оси для выполнения зеркального отображения объекта вокруг этой оси.
Выполнение зеркального отображения гизмо на уровне подобъекта модификатора имеет такой же общий эффект, как и использование команды Mirror, но без побочных эффектов. Выполнение зеркального отображения гизмо дает дополнительное преимущество пребывания в Modifier Stack (стек модификаторов), поэтому в любое время можно вернуться обратно и изменить или удалить зеркальный эффект.
Для зеркального отображения подобъектов при помощи модификатора Edit выполните следующие шаги:
- Выберите объект.
- Примените к этому объекту соответствующий модификатор Edit.
- Щелкните на Sub-Object и определите выборку.
- Из меню Edit выберите Transform Type-In.
- Щелкните на Non-Uniform Scale.
- Введите -100 в поле оси для выполнения зеркального отображения объекта вокруг этой оси.
Используя такой метод, можно выполнять зеркальные отображения частей объекта. Модификатор Edit также применим для создания выборки подобъектов и передачи ее в модификатор XForm. Все подробные сведения о редактировании подобъектов приводятся в главе 12. "Моделирование на уровне подобъектов".
ПРЕДУПРЕЖДЕНИЕ
Использование Transform Type-In для применения отрицательных значений масштаба является удобным методом, но имеет ряд недостатков. Во-первых, при вводе отрицательного значения масштаба в поле оси масштаба все поля сообщают об отрицательных значениях. Конечный результат правилен, но поля показывают некорректные значения. Побочным эффектом отрицательного масштабирования является то, что нормали объекта обычно имеют некорректное направление, поэтому визуализированный объект выглядит вывернутым наизнанку. После применения отрицательного масштабирования проверьте объект в окне визуализации. Подобный эффект исправляется путем добавления модификатора Normal и отметки флажков Unify и Flip.