Install-Pro Magazine


Читаем свежий номер Install Pro

Читаем свежий номер Install Pro










СВЕЖИЙ НОМЕР



АРХИВ НОМЕРОВ







НОВОСТИ



ВЫСТАВКИ



ПРОЕКТЫ



СЕМИНАР



ОБОРУДОВАНИЕ







НАШИ КООРДИНАТЫ



ПОДПИСКА







Наш адрес электронной почты



Журнал о профессиональной шоу-технике
Шоу-Мастер



Световое оборудование для дискотек



Rambler's Top100
Rambler's Top100





 

Поверхности в Softimage|XSI

Сергей Борзиков

Когда я впервые открыл Softimage|XSI (в дальнейшем XSI) и попробовал в нем что-нибудь сделать, меня охватила тихая паника. Во-первых, привычный интерфейс предыдущей версии (сказать "старой" не поворачивается язык, так как последняя версия 3.9 актуальна и сейчас, почему, поймете дальше) был переделан заново. Причем исходя из совершенно новой идеологии. Во-вторых, привычный инструментарий работы с полигонами и NURBS отсутствовал напрочь.

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

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

Я думаю, дело в том, что перед нами не обновленная программа, а совершенно другая. Это не то что заменить мотор у автомобиля, скажем, поменять у "девятки" мотор с 1300 на 1500 кубов, а это - создание абсолютно новой модели авто, которая не имеет никаких общих со старой версией агрегатов.

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

Я не посмел бы делать такие далеко идущие выводы, но меня поддерживают в этом мнении регулярно встречающиеся в руководстве к XSI ссылки типа: For example, you can import the component surfaces from scanning software...You cannot manipulate knots directly...Samples and isopoints will be available in a future version..., где смысл сводится к одному - делайте (или сканируйте) модели в других программах, импортируйте их в XSI и работайте с ними дальше.

Выпуск недоработанного XSI - шаг вынужденный и необходимый. Все производители лидирующих 3D-программ объявляют о выходах новых и новых версий, проводят акции по завоеванию рынка, как тут устоишь в стороне от большой жизни?

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

Однако вернемся к теме статьи.
Итак.

Создадим Burt


рис. 1


рис. 2


рис. 3


рис. 4


рис. 5

Это будет внеземное существо из другой галактики.

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

  • создаются поверхности при помощи инструментов Curve Net, Loft, Merge и Fillet;
  • редактируются поверхности, используя инструменты Clean, Extend Curve и Stitch;
  • используются слои (Layers) для организации вашей сцены;
  • создаются поверхности NURBS без шва (рис. 1).

Создание поверхности с помощью инструмента Curve Net

Вы будете использовать новый инструмент Curve Net, чтобы создать поверхность головы Burt. Он это делает из двух любых наборов кривых, которые могут иметь разное количество точек: в наборе по координатам U и V.

1. Откройте сцену Burt, находящуюся в базе данных обучающей программы и устанавливаемой при инсталяции в папку: <setup directory>\content\tutorial_project\Scenes

Модель Burt (рис. 2) :

Нажим клавиши G скрывает или отображает сетку в области просмотра, которая в настоящее время имеет фокус.

Окно просмотра будет в фокусе, если над ним находится курсор. Если эта функция не работает, то ее можно активизировать, зайдя в свойства File>User Preferences, и на закладке General поставить галочку в окошечке Give Windows Focus When The Mouse Enters.

2. Затем выберем Selection>Free Form Tool из панели Selection в основной области командной панели. Free Form Tool позволит вам выбирать элементы сцены, чертя линию поперек их (новая возможность и очень удобная в сложных выборках объектов или элементов).

3. Выберем первую кривую в начале головы. Для удобства работы можно сначала немного изменить масштаб изображения.

  • Чтобы перемещать изображение, держите клавишу Z при перемещении вместе с левой кнопкой мыши.
  • Чтобы приблизить изображение, держите клавишу Z, в то время как нажимаете на среднюю кнопку мыши.
  • Чтобы уменьшить изображение, удерживайте клавишу Z при нажатии на правую кнопку мыши.
  • Чтобы увеличить или уменьшить изображение в окне Camera, удержите клавишу P при перемещении курсора. Используя левую, среднюю и правую кнопки мыши, можно менять скорость изменения.
  • Чтобы вращать изображение в окне Camera, удерживайте клавишу О при перемещении мыши. Используйте левую кнопку мыши для свободного вращения, среднюю - для горизонтального вращения и правую - для вертикального.

Если вы нажали и отпустили одну из клавиш Z, P или O слишком быстро, то курсор из постоянного режима Select переходит в постоянный режим перемещения или вращения вместо временного режима перемещения и вращения во время более длительного удержания клавиши. Так. Сам не понял, что написал. Короче. Если вы находитесь в режиме Select и захотели чуточку повернуть объект, нажимаете клавишу O, поворачиваете, мягко отпускаете и продолжаете выделять дальше. А если резко нажали на "горячую" клавишу и отпустили, то режим Select заменяется на режим перемещения. Если дело обстоит так, то просто нажмите и отпустите клавишу "пробел", чтобы возвратиться к инструменту Select перед выбором первой кривой нашего объекта (рис. 3).

4. На инструментальной панели Model выберите Create>Surface>Curve Net.

5. Проведите курсором линию свободной формы (с нажатой левой кнопкой мыши) и выделите все кривые, которые пересекают голову вдоль, и начинаются рядом с выделенной кривой (рис. 4).

Если вы сделаете ошибку при выделении, нажмите Ctrl и на кривой, чтобы снять выделение, и повторите операцию выделения дальше (рис. 5).

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


рис. 6


рис. 7


рис. 8


рис. 9


рис. 10

7. Нажмите на левую кнопку мыши и нарисуйте линию поперек головы и начинающуюся от центральной кривой (не выделяйте кривую в центре, рис. 6).

8. Нажмите на правую кнопку мыши, чтобы закончить создание поверхности.

Новая поверхность создается с заданным по умолчанию именем surfmsh и открывается редактор свойств инструмента Curve Net. Оставьте значения всех параметров по умолчанию (рис. 7).

Отредактируем полученную поверхность

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

9. При выбранной surfmsh нажмите Modify> Surface>Clean из инструментальной панели Model.

10. Убедитесь, что режим Clean в U и V включен, и изменяйте значение Tolerance, пока не достигните нужного равновесия между количеством точек и необходимым вам качеством геометрии (рис. 8).

Объединение поверхностей

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

11. При выбранной новой поверхности surfmsh нажмите Create>Surface>Merge из панели Model.

12. Выберите другую половину головы, нажимая на нее (рис. 9). Вы можете отменять любой режим или инструмент, который используете, нажимая на Esc.

13. Выберите среднюю кривую, чтобы она была промежуточным звеном между этими двумя поверхностями. Новая поверхность создана с заданным по умолчанию именем surfmsh1, и открывается редактор свойств инструмента Merge.

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

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

  • Опции на странице Boundaries определяют, какие границы двух оригинальных поверхностей объединены. Для этого примера установите Surface 1, как Min U Boundary (Red), и Surface 2, как Min V Boundary (Green). Цвета красный и зеленый относятся к цветам границ поверхностей, которые отображаются на экране, если включена опция Show > Boundaries и выбрана исходная поверхность.
  • На странице Shape установите Seam значение Curve. Эта опция определяет, что шов между двумя исходными поверхностями будет проходить через кривую, которую вы выбрали ранее (рис. 10).

15. Нажмите на Clean и в появившейся таблице свойств откорректируйте значения опции Tolerance. При чистке поверхности пробуйте получить наименьшее количество числа образующих линий при наименьших потерях первоначальной формы.

16. Закройте Property editor.

Относительное моделирование


рис. 11


рис. 12


рис. 13


рис. 14


рис. 15

Немного отвлечемся от нашего проекта и поговорим об относительном моделировании.

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

17. Выделите кривую, что находится в середине головы.

18. Поместите курсор мыши поверх окна Camera и нажмите F12, чтобы увеличить его на весь экран. Нажмите F, чтобы выбрать кривую.

19. Используйте клавишу M, чтобы в интерактивном режиме переместить точки кривой или точки Tag с клавишей T. Обратите внимание, как изменяется объединенная поверхность в ответ на изменение формы кривой (рис. 11).

Замораживание стека операций

Если говорить по-русски, это фиксирование всех изменений и действий, произведенных ранее над объектом. Замораживание стека оператора свертывает историю создания объекта и удаляет все связи модели с исходными кривыми или поверхностями, как будто поверхность была импортирована "как есть" непосредственно в XSI из другого редактора.

20. Выделите поверхность головы, которую вы только что создали (surfmsh1).

21. В панели Edit главной командной области выберите Edit>Freeze Operator Stack. Это удаляет историю операций по созданию поверхности.

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

Lofting

Loft - инструмент, который позволяет создавать поверхность из ряда кривых, наподобие известной функции Skin в Softimage|3D. Однако команда Loft отличается тем, что вам не надо следить за количеством точек на каждой созданной для лофтинга кривой. Вы можете также применять Loft непосредственно к кривой, к isoline и к границам поверхности.

23. Поместив указатель на видовое окно, снова нажмите F12, чтобы возвратиться к четырехоконному виду.

24. Выделите заднюю часть тела (skin245_1) (рис. 12).

25. Выберите V Knot Curve из списка Selection Filter (выше текстового поля Selection в панели Selection основной командной области) (рис. 13).

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

26. Выбрать первую кривую узла V на тыловой поверхности (рис. 14).

27. На панели Model выберите Create> Surface > Loft (рис. 15).

28. Включите обратно фильтр выбора Object перед выбором кривых.


рис. 16


рис. 17


рис. 18


рис. 19


рис. 20

29. Выберите три первые кривые, как на иллюстрации ниже. Не выбирайте последнюю кривую - вы используете ее в следующем шаге (рис. 16).

30. Щелкнуть правой кнопкой мыши для завершения выделения кривых. Создана новая поверхность (по умолчанию ей присваивается имя surfmsh2), и открывается редактор свойств функции Loft. Оставьте значения параметров по умолчанию (рис. 17).

Использование команды Extend-to-Curve

Это означает следующее - продолжить выделенную поверхность по кривой. Теперь вы можете присоединить последнюю кривую к спине Burt's.

31. Удостоверьтесь, что выбрана только что созданная поверхность (surfmsh2).

Вы можете посмотреть на текстовое поле Selection, чтобы проверить правильность вашего выбора - если выделено больше одного объекта, то в окне будет написано MULTI (nn).

Если выбрано более одного объекта, можно использовать кнопку Selection в панели Selection области основной команды, чтобы совершенствовать выбор. Нажмите кнопку Selection, и появится окно проводника, в котором будут выделены все выбранные элементы. Нажмите на имя объекта, чтобы выбрать только его.

32. Выберите Modify>Surface>Extend Curve на панели Model.

33. Выберите последнюю остающуюся кривую, чтобы присоединить ее к задней поверхности Burt. Откроется окно редактора свойств операции Extend Curve (рис. 18).

34. Если поверхность была продолжена неправильно, в поле Boundary установите значение Max V Boundary (рис. 19).

35. Очистите поверхность при помощи Modify> Surface>Clean.

Filleting Intersections

По-русски это что-то типа создания соединяющей поверхности между двумя пересекающимися плоскостями.

36. Выберите обратную поверхность (skin245_1) еще раз, если она не выбрана (рис. 20).

37. Нажмите Create>Surface>Fillet Intersection из панели Model.

38. Выберите поверхность на спине модели. Поверхность создана (по умолчанию ей присваивается имя surfmsh3), и открывается окно редактора свойств.

39. Вы можете откорректировать нужные значения в окне редактора параметров функции Fillet. Можно устанавливать номер U и V subdivisions и радиус Fillet. Если устанавливаете для пересекающихся объектов слишком большой радиус, становится невозможно вычислить Fillet (рис. 21).

Сшивание поверхностей вместе


рис. 21

рис. 22

рис. 23

рис. 24

рис. 25
Инструмент Stitch без швов "сшивает" поверхности вместе, в отличие от инструмента Merge, который создает новую поверхность. Этот инструмент соединяет границы нескольких поверхностей без создания новых кривых.

40. Выберите главную поверхность Burt (surfmsh1) (рис. 22).

41. Выберите Modify > Surface > Stitch из панели Model.

42. Выберите среднюю поверхность (surfmsh2), предварительно созданную при помощи инструмента Loft (рис. 23).

43. Щелкните правой кнопкой мыши, чтобы завершить операцию и открыть окно редактора операции Stitch.

44. Скорее всего поверхности были сшиты вместе неправильно. Для этого примера нужно установить Boundaries, как Max V Boundary. Вы также можете корректировать Tolerance на странице Clean, чтобы уменьшить количество isolines. Закройте окно редактора параметров операции Stitch (рис. 24).

45. Переместите голову на небольшое расстояние, используя клавишу V, чтобы видеть, как поверхности остаются сшитыми вместе. Отмените перемещение, нажав Ctrl+Z.

Создание поверхности без шва

Инструмент Assemble создает новую поверхность, основанную на выбранных исходных поверхностях. Поверхностная сеть (surface mesh не путать с полигонной сеткой) - это отдельный объект, состоящий из множества подповерхностей. Хотя результат похож на создание новой целой поверхности.

46. Выберите спину Burt, середину и головную поверхности (рис. 25).

47. Выбрать Create>Surf Mesh>Assemble из панели Model. Откроется диалоговое окно.

48. Оставьте все значения по умолчанию и нажмите OK.

49. Откроется редактор свойств. Дайте новой поверхности имя, если хотите, и закройте окно.

50. Из списка Selection Filter выберите Subsurface.

51. Выделите голову существа и немного поперемещайте. Обратите внимание, что поверхность непрерывна.

Использование Surface Continuity Manager

52. Верните фильтр выбора Object назад. Созданная поверхность будет автоматически выбрана.

53. Выберите Create>Surf Mesh>Continuity Manager и оставьте значения опций по умолчанию.

54. В списке Selection Filter опять выберите Subsurface. Последний выбранный компонент, в нашем случае голова, снова будет выбран автоматически.

55. Поперемещайте голову, чтобы видеть, как сохраняется гладкость и непрерывность поверхности.

Заключение

Эта обучающая статья показала работу нескольких инструментальных средств моделирования поверхностей, доступных в XSI. Естественно, помимо этих инструментов, в программе имеется много других средств для создания и изменения поверхностей, включая Revolution, Extrusion, Birail и т.д.

Наверх

Адрес редакции: 123459, Москва, а/я №7 Тел.: (495) 250-0207 Факс: (495) 978-7362
Copyrignt Install Pro 1999-2006
Поддержка сайта web@install-pro.ru
mrmidi.ru