All about web design
Суббота, 18.05.2024, 16:00
Приветствую Вас Гость | RSS
Главная | Каталог статей | Регистрация | Вход
Меню сайта

Категории каталога
уроки [41]
примеры и описания моделирования
Книги [0]
Сайты [0]

Наш опрос
Оцените мой сайт
Всего ответов: 31

Главная » Статьи » 3D Max » уроки

Рациональное использование ресурсов

(© Mikhail Yakshin)

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

Один из не менее важных параметров сцены - Maintainability, то есть простота работы со сценой, ее структурность и легкость изменения какой-либо части.

Итак, о том, что делать обязательно, а чего делать нельзя. Материал в основном идет в применении к 3DSMAX'у, но все основные концепции (не MAX-специализированные) могут быть применены и к другим программам.

Рациональное создание геометрии

Распространены очень крики о том, что вот "у меня картинка состоит из 200 тысяч фейсов". Если картинка - несложная, то на самом деле это плохо, и свидетельствует о чрезмерном использовании ресурсов машины.

Как избегать таких затрат на геометрию?

  • Два цилиндраСовет наверняка просто насмешит тех, кто начинал с 3DS, но все-таки: следите за параметрами создаваемых примитивов и сложных объектов. Не используйте стандартные установки - используйте столько сегментов, сколько будет хорошо выглядеть. Например, абсолютно не нужно делать поперечные сегменты у цилиндра если они явно не понадобятся (т.е. его не будут потом, например, изгибать). Если поверность плоская - то это всегда один полигон - зачем больше? Если не плоская - подумайте о том, какую детализацию она должна иметь. Заклепки, например, которые будут занимать 2 пиксела на финальной картинке, делать из полусфер (или, еще хуже - сфер) из 24 сегментов - это очень нерационально. Хватит и 4-6 сегментов, если не проще сделать текстурой (см. ниже).

Пример: два цилиндра, один имеет 18 сегментов по окружности и 5 по длине, другой - 9 по окружности и 1 по длине. Благодаря сглаживанию шейдера, видимых различий по качеству на самом стержне цилиндра нет, различия появляются только на краях, но и их при небольшом удалении будет незаметно. Различия по количеству фейсов - 216 против 36, т.е. в 6 раз.


  • Старайтесь обходить использование Boolean'а. Boolean в MAX'е все равно, даже в последних версиях - глючный. Пример: если есть необходимость в прямоугольной панели насверлить n-ное количество дырок - не надо для этого из коробки вычитать цилиндры. Для этого придется и коробку делать не 1x1x1 сегмент, а побольше, итого, будет моделька под 10-15 тысяч полигонов. Все можно сделать куда проще - нарисовать сплайнами rectangle+circle'ы, и его extrude. Если уж делаете Boolean - то применяйте давно испытанный рецепт - Convert to Editable Mesh, в режим Sub-Object/Vertex, выделяете все вертексы объекта, и нажимаете кнопку Weld. Это немного исправит те глюки в модели, которые оставил после себя Boolean.
  • Используйте текстуры больше и чаще. Ни одна серьезная сцена не обходится без десятка-другого текстур. Текстуры могут здорово упростить геометрию. Например, приведенные выше в пример заклепки - лучше просто изобразить на текстуре. Выглядеть они от этого будут не хуже, а сцена станет значительно проще. Гигантские возможности открывают текстуры Opacity - например, сложная модель дерева вдали с успехом может быть заменена его фотографией, наложенной как текстура на плоскость. А для того, чтобы в тех местах фотографии где дерева нет, плоскость не загораживала обзор нужно использовать текстуру Opacity. Еще одно - никогда не используйте без острой необходимости текст в 3D как геометрию. Простая строчка текста в виде полигонов может содержать порядка 100 тысяч фейсов. Меня недавно очень удивил комментарий к одной работе, что-то типа "в модели порядка 20 тысяч фейсов, а если считать с текстом - то 120 тысяч". Такой текст однозначно надо делать текстурой.
  • Всегда используйте Snap и Grid, если только у вас нет веского повода его не использовать. (Таких поводов может быть несколько, как то необходимость добится реалистичности путем создания хаоса или создание биомоделей, но так как данная статья нацелена в основном на читателей-новичков, то мы их разбирать не будем). Это делает модели намного аккуратнее, намного проще в редактировании и анимации. Пользуйтесь почаще замечательной клавишей "пробел" которая делает selection lock. В этом режиме очень просто таскать и вращать объекты - не надо цепляться за какую-нибудь определенную точку объекта, которая еще может быть и не на сетке и Snap тогда не сработает, а можно тащить за любую точку пространства.
  • Координаты объектаВ догонку к предыдущему замечанию о Snap'е - не бойтесь числовых окошечек, чаще пользуйтесь ими. Сбили чего-нибудь в сцене каким-нибудь действием без Snap'а, например - влезьте в окошки координат и поправьте какие-нибудь числа типа 49.9735128 и 150.28690 на 50.0 и 150.0. Для тех, кто не знает, как эти окошечки открываются: левой кнопкой мышки выбирается нужная трансформация (move/rotate/scale), потом нажимается правой кнопкой на кнопку трансформации и в окошечки вводятся с клавиатуры нужные числа.


  • Не стесняйтесь также использовать MeshEdit. Многое почему-то думают, что это - высший пилотаж и что там что-то легко "сломать" после чего модель уже будет безнадежно испорчена. Это далеко не так. Много чего там уже сильно оптимизированно и "сломать" модель так, что ее потом будет не восстановить вообще вряд ли возможно. А вот просто пододвинуть десяток другой вертексов, тем самым не прибегнув к помощи Boolean'а - это всегда лучше и не так уж и сложно.
  • Сглаживание. Им тоже стоит уметь пользоваться, тем более, что это совсем несложно. Вам практически ничего не надо знать про smoothing groups и прочую ерунду. Все куда проще. Просто надо знать, что алгоритм шейдера может обеспечить вам (почти) вне зависимости от угла грани плавный переход от одной плоскости к другой, скруглив тем самым угол. Делается это просто - выделяются те фейсы, которые надо скруглить, жмется Auto Smooth с выставленным предельным значением угла скругления. Потом те фейсы, которые скруглять не надо - отдельно выделяются и делается Clear Smoothing.

Пример: как я делал диод. Диод состоял из 6-гранной гайки, накрученной на стержень. Я взял 6-сегментный цилиндр, сделал из него с помощью несложных операций с editable mesh 6-гранное подобие диода (рис. 1). Потом аккуратно скруглил все грани, где должен быть круглый стержень и убрал любое сглаживание с гайки (рис. 2). В принципе все было уже готово, но меня результат не очень удовлетворил и поэтому я еще добавил модификатор MeshSmooth малой силы, который сгладил помеченные мной скругленные грани уже на уровне геометрии (рис. 3). И все - такая довольно сложная модель - всего 156 фейсов. Те, что я видел, созданные с помощью Boolean'а и Chamfered Box'ов - порядка тысячи фейсов, если не больше.

Создание диода

  • Мульти-материал для раскраски диодаMulti/Sub-Object Material. Невыносимо видеть, когда люди для того, чтобы просто покрасить часть объекта в другой цвет, вырезают эту часть, заменяют ее новой и новой части присваивают другой материал. Для таких вещей существуют материал Multi/Sub-Object или просто мульти-материал. Тут тоже нет ничего сложного, мульти-материал - это просто возможность присвоить различным полигонам (или фейсам) одного объекта разные материалы. Создается мульти-материал, устанавливается количество подматериалов, которые он будет содержать и дальше все - каждый из подматериалов - это самостоятельный материал, он имеет такие же свойства и возможности, как и обычный, одиночный. Для определения того, какие части объекта будут использовать какой материал используется Material ID - это один из параметров, присваеваемый каждому фейсу. Изменяется он очень просто через соответствующее меню в Editable Mesh/Face или Polygon. Material ID нужно присвоить равным нужному номеру по порядку материала в мульти-материале.

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

Рациональная организация сцены

Тут можно дать следующие советы.

  • В обязательном порядке называйте все создаваемые объекты, текстуры, материалы и все остальное именами, несущими смысловую нагрузку. Не оставляйте имена примитивов. Может быть это и не очень очевидно, но сослужит вам очень хорошую службу, когда вы попытаетесь выбрать по имени (select by name) один из объектов. В противном случае вы увидите списочки типа Cylinder01...CylinderXX, Tube01...TubeXX и будете долго гадать, какой же из этих объектов, там гайка на правом крыле под закрылкой, накрученная на форсунку штепселя хитрого механизма разворота аэродинамических свойств вашего рисуемого суперистребителя :-)
  • Используйте рационально группы (group) объектов. Если сделали какую-то часть планируемого агрегата и больше не планируете к ней притрагиваться, или, еще лучше, вообще хотите уже ее пустить в "массовое производство", т.е. раскопировать array'ем - объедините все ее части в группу, группе тоже обязательно надо дать название.
  • 3DSMAX ставьте в директорию \3DSMAX, а не \3DMAX. Если уж пользуетесь варезным софтом от ламерских групп, то хотя бы не показывайте это так сильно.
  • Используйте модификаторы так, чтобы было проще. Когда надо сделать лофт по прямому пути - используйте просто extrude, зачем мучаться? Если надо к такому лофту еще и какие-то изменения в bevel - то есть модификатор bevel. Все будет куда проще и сцена не будет захламлена кучей сплайнов.
При анимации сложных объектов обязательно пользуйтесь proxy в 3DSMAX3, как это делать - очень подробно описано в докуменации и tutorial'ах.

Источник: http://rpm-16.h11.ru
Категория: уроки | Добавил: puzzle (20.01.2008) | Автор: Mikhail Yakshin
Просмотров: 941 | Комментарии: 1 | Рейтинг: 0.0/0 |
Всего комментариев: 0
Имя *:
Email *:
Код *:
Форма входа

Поиск

Друзья сайта

реклама


Copyright MyCorp © 2024
Бесплатный конструктор сайтов - uCoz
Яндекс цитирования