Кто не хочет читать ONLINE, можете скачать доступные части книги:

Скачать часть1 (1.1 Мб) - Ознакомление с программой 3ds MAX

Скачать часть2 (1.4 Мб) - Объекты произвольной формы

Скачать часть3 (2.2 Мб) (не завершена) - Текстурирование

Глава 24. Оптимизация базовой развёртки

В прошлой главе мы познакомились с модификатором Unwrap UVW и редактором развёртки. Здесь же мы продолжим начатую в прошлой главе работу.

Мы уже разрезали и развернули нашу модель, и даже работая с развёрткой нашли некоторые изъяны. Изъяны следовало исправить, а с развёрткой будем работать дальше.

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

Например, главная причина - это экономия машинных ресурсов. В играх поддерживается только один Map Channel (в более новых - уже два, но один из них отводится под освещение). Другой вопрос - что и для художественных целей лучше задействовать как можно меньше каналов карт, поскольку все они съедают память. Особенно когда дело касается моделей с густой сеткой (с высоким разрешением).

Следует иметь в виду, что при применении модификатора Mesh Smooth или Turbo Smooth (а так же любых других, которые могут увеличить разрешение низкополигонного объекта) дополнительные вершины создаются в каждом из задействованных каналов карт. Хотя в файле, который мы сохраняем, эти вершины не запоминаются (при открытии они просчитываются заново), но перед визуализацией всё это дело просчитывается и загружается в оперативную память. Чем больше каналов карт у объекта задействовано, тем больше памяти будет загружено под обслуживание визуализации такого объекта. А если в сцене таких объектов будет много, памяти может и не хватить.

Поэтому надо стремиться свести всё к использованию как можно меньшего числа каналов карт. В 3ds MAX 5 появилась такая утилита - Render to Texture, она позволяет срендерить развёртку объекта, которую потом можно применить в один канал карты. При этом объект может быть затекстурирован в несколько каналов. Render To Texture как бы собирает все каналы карт и перерисовывает их так, как следовало бы нарисовать для применения в один канал.

Но для того, чтобы срендерить такую развёртку, должна быть заготовка. Можно, конечно, положиться на автоматику утилиты - но тогда она нарежет вам объект мелкими лоскутками, и вы не сможете редактировать текстуру в графических редакторах - ибо не разберётесь, что и откуда. А развёртку скорей всего придётся и подредактировать.

Кроме того, что развёртка должна влезать в главный квадрат, надо соблюсти масштабы. То есть размеры лоскутов развёртки должны более-менее соответствовать размерам этих частей на самом объекте (в общем это не обязательно для технической реализации, но очень желательно, иначе на частях, которые на развёртке много меньше своих размеров в XYZ-пространстве может быть видно квадраты.)

Чтобы это сделать достаточно равномерную развёртку, нужно приготовить материал с контрольной текстурой, который мы временно применим на объект.

Выберем свободный материал и в канал Diffuse применим карту Tiles (плитка). В старых версиях 3ds MAX вместо неё была другая карта - Bricks - кирпичи. О материалах речь шла в Главе 21. Материалы и Карты. Карты Tiles и Bricks - фактически одно и то же. Меняя настройки Tiles можно превратить её в кирпичи. Рассмотрим эту карту, поскольку она нам понадобится.

Карта Tiles (Bricks) (плитка-кирпичи).

Как и все карты, она имеет группу параметров Coordinates - координаты. Она у неё как у всех двухмерных карт, об этом шла речь в Главе 21. Особенности двухмерных карт.

Группа параметров Noise (шум)

On - включить.

Amount - количество. Насколько ярко выражен будет шум

Levels - уровни. Сколько подшумов будет у шума. Если равно единице - будет одна большая волна. Если двойке - на большой волне будут ещё маленькие волночки. Далее - на каждой маленькой волне свои подволны.

Size - размер шума.

Размер шума измеряется относительно одного периода текстуры.

Эта группа параметров нам в данном случае не нужна.

Группа параметров Standard Control (стандартное управление)

Контроль стандарта. Здесь в разворачивающемся меню выбирается тип кладки. Можно просто попереключать и посмотреть что будет получаться. Stack Bond - обычная плитка. 1/2 Running Bond - классические кирпичи. Чтобы кирпичи были продолговатыми - служит следующая группа параметров.

Группа параметров Advanced Control (дополнительное управление)

Нам сейчас надо без всяких наворотов банальную квадратную плитку. Единственное, что промежуток между плитами сделаем побольше, чтобы его было лучше видно в окнах проекций, когда мы нажмём для нашей текстуры Show Map In Viewports . Нам надо получить текстуру с большим количеством квадратиков, чтобы она легла на нашу модель и квадратики на модели можно было видеть. Квадратики не должны быть слишком мелкими или слишком крупными.

Рис. 24.1. К объекту применена карта Tiles с притками 4x4. В настоящий момент объект имеет ту развёртку, которую мы приготовили в прошлой главе.

Видно, что плитки слишком крупные. Чтобы сделать их мельче, можно поставить в параметрах большее количество плиток по горизонтали и вертикали. Либо в группе параметров Coordinates поставить Тайлинг (Tile) (повторение) по горизонтали и вертикали больше единицы. Поставим 10.

Рис. 24.2. К объекту применена карта Tiles с притками 4x4 и тайлингом по U и V по 10. В настоящий момент объект имеет ту развёртку, которую мы приготовили в прошлой главе.

Теперь видно, где наши грани растянуты-сжаты неравномерно. Теперь наша задача отредактировать развёртку так, чтобы квадратики на объекте были более-менее одинакового размера во всех местах и были бы не прямоугольниыми вытянутыми, а именно квадратными.

Придание развёртке равномерности

Если у нас все модификаторы схлопнуты, опять применим Unwrap UVW, если не схлопнуты, просто откроем данный модификатор в стеке. И перейдём в редактор развёртки. Отображать текстуру на заднем плане нет особой надобности. Мы будем ориентироваться по изображению объекта в пространстве XYZ. Мы не даром нажали Show Map In Viewports для нашей текстуры. Мы будем при редактировании видеть, что происходит с рисунком непосредственно на объекте! Для этого расположим окно редактора развёртки так, чтобы было видно сам наш объект.

Рис. 24.3. Расположение редактора развёртки так, чтобы видеть объект.

Так мы можем работать в обоих окнах. Главное, не запутаться, где чья лапа, где чья лупа. В течении работы с редактором развёрток можно поворачивать, приближать, отодвигать и перетаскивать вид в окнах проекций XYZ.

Чтобы текстуру на объекте было лучше видно, можно сделать материал светящимся. Для этого в параметре материала (не карты!) надо поставить значение Self Illumination (собственное свечение) отличным от нуля, и побольше. Можно 50 %, наверное, этого должно хватить. Можно и все 100.

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

И ещё такое замечание. Квадратными плитки должны казаться на небольшом участке. А вообще, лучше будет, если линии будут идти вдоль тела. К примеру, шея на развёртке была изогнута, а лучше её сделать параллельной рядам плиток.

а)
б)
Рис. 24.4. а) так ложится текстура если шея на развёртке изогнута; б) если выпрямить линии параллельно координатным осям вида, текстура ложится более естественно.

К слову сказать, на пальцах текстура уже сама сабой лежит хорошо (лучше уже сделать не удастся):

Рис. 24.5 а - текстура на пальцах
Рис. 24.5 б - развёртка пальцев

Хотя мы и делали эту развёртку вслепую, но получилось всё отлично. Потому что был применён правильный подход. Примерно так же стоит отредактировать и другие части развёртки: сделать линии максимально прямыми (по возможности). Не все линии можно и нужно так вот распрямлять, но там, где они относительно параллельны, от изгибов лучше избавиться. Например полусогнутые ноги лучше разогнуть полностью.

Теперь, далее смотрим в окна проекций XYZ на наш объект с разных сторон, и редактируем нашу развёртку.

Вот такие места (если только подобные грани в пространстве XYZ не лежат более-менее в одной плоскости) - лучше отделить, разрезать и развернуть.
На руке где прикрепляется большой палец - текстура сильно искажена.
Развёртка этого места выглядит вот так - красные грани. Пришлось их отделить (место отделения показано синими линиями) и теперь надо бы развернуть.
Это тоже отделим. Это плечо. Лучше его тоже развернуть и прикрепить к руке.
Выделив три не крайние точки на руке, мы видим, по какой линии делать разрез - по той, которая не соприкасается с синими точками и линиями.
Здесь эта линия показана красным.
Более-менее оптимизированная развёртка выглядит вот так. На рисунке потписано, где развёртка каких частей. Квадратная плитка при такой развёртке на нашем объекте выглядит довольно неплохо. Обратите внимание, что у нас рука и нога идут под разными направлениями.
А если мы захотим покрыть динозавра чешуёй? Применим вместо карты Tiles карту Bitmap с показанным слева рисунком. Чтобы чешуек было много надо поставить в группе параметров Coordinates значения Tile побольше. При том, поскольку текстура не квадратная, по горизонтали надо поставить значение Tile раза в полтора больше, чем по вертикали. (Мы ведь делали развёртку ориентируясь на то, чтобы квадраты на объекте были более-менее равномерными!)
И мы видим, что по туловищу чешуйки идут в обратном направлении, а по ноге - вообще поперёк. Поэтому лучше развернуть туловище головой вверх. Для этого в редакторе развёрток на панели снизу есть кнопки: Rot. + 90 и Rot. -90. Надеюсь, понятно, что для того, чтобы повернуть объект на 180 градусов, надо нажать любую из них два раза подряд. Ни в коем случае не используйте Flip/Mirror, потому что эти команды повернут нам грани изнаночной стороной к нам. Это будет неудобно - право с левом будем путать при создании текстуры. И будут проблемы с опцией Show Map on Back в случае карты Bitmap.
Ногу тоже повернём при помощи этих кнопок (Rot. + 90 и Rot. -90) так, чтобы она была нижней стороной вниз, верхней - вверх.
К слову - видно что на пальцах чешуйки слишком крупные. Чтобы это исправить - надо выделить развёртку пальцев и увеличить её при помощи масштабирования или рамки.
Совет: Чтобы при масштабировании при помощи рамки сохранялись пропорции, следует удерживать клавишу Ctrl.
И далее всё скомпонуем и при помощи рамки смасштабируем, так чтобы влезало в главный квадрат и занимало там половину пространства. Вторую половину квадрата следует оставить для развёртки второй половинки объекта.
К сожалению при помощи Symmetry развёртка не отражается. Она будет находится ровно на том же месте, где сейчас находится развёртка первой половины. Придётся отражать её вручную. Как это сделать - будет рассмотрено потом.
Вот так будет выглядить объект, если к нему применить Symmetry и потом ещё MeshSmooth (или TurboSmooth).
(Развёртку мы не отражали, на правой половинке текстура точное зеркальное отражение левой половинки).
Некоторые искажения обусловлены особенностями работы окна проекций, если срендерить, смотреться будет несколько лучше.
Так же в некоторых местах можно видеть нестыковки. К сожалению, при наложении такого рода текстур (периодически-повторяющихся) - эти швы неизбежны. Но их можно замазать, наложив поверх текстуру в другой Map Channel.
Здесь файл с моделью, показанной на этом рисунке (формат 3ds MAX7)

Замазать швы можно накладывая на эти места полупрозрачные карты в другой Map Channel, и редактируя для соответствующих частей развёртку другим образом. Чтобы закрыть швы, объект надо развернуть так, чтобы у второй развёртки в местах швов первой развёртки, разрезов напротив, не было.

Позже мы рассмотрим приёмы текстурирования, как можно избавиться от нежелательных швов, а пока ознакомимся с утилитой Render To Texture.

Ознакомление с Render To Texture

Эта утилита находится в меню Rendering/Render To Texture. Впервые появилась в 3ds MAX 5. Всем пользователям предыдущих версий придётся копировать окно редактора развёртки при помощи кнопки Print Screen (кнопка на клавиатуре компьютера, обычно помечена как PrtSc - находится обычно где-то рядом с F12 в зависимости от модели клавиатуры). По нажатии кнопки Print Screen изображение, показываемое на мониторе, копируется в буфер обмена Windows (исключая курсоры мыши и проигрываемое видео AVI). Далее можно открыть графический редактор и вставить изображение из буфера при помощи специальной команды "Вставить/Paste" которая есть почти в каждой программе и обычно срабатывает по горячим клавишам Ctrl+V, когда вы находитесь в соответствущем окне. В 3ds MAX такая команда действует только для цифр, копируемых из окошка в окошко. Объекты размножать можно при помощи команды Clone, где данная комбинация клавиш тоже работает - но иначе. Это уже обсуждалось ранее в первой части.

Таким образом, тем у кого 3ds MAX версия меньше пятой - придётся копировать изображение развёртки когда открыто окно с ней, потом на графическом редакторе обрезать края, растягивать картинку до нужного размера, и уже потом рисовать текстуру поверх неё.

У кого 3ds MAX 5 и выше, могут воспользоваться утилитой Render To Texture.

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

Сначала почувствуем, как работает утилита, а уже потом, когда разберёмся с этим, обговорим способы создания шаблона.

Чтобы опция Render To Texture стала активна, надо выделить объект, для которого будем осуществлять данную операцию. Далее заходим в меню Rendering/Render To Texture. Открывается окно с несколькими группами параметров.

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

Итак, теперь попробуем сделать шаблон для развёртки. Что нам надо? Нам надо получить такой рисунок, чтобы было понятно, где у нас какие части нашей модели. Для этого возьмём новый материал в редакторе материалов и в группе меню Shader Basic Parameters поставим флажок Wire - это значит, что материал будет как бы проволочный. Проволочки соответствуют видимым рёбрам. И применим к нашему объекту этот материал. Если к объекту применён материал, который жалко потерять, то надо сохранить его копию в редакторе материалов. Она, наверное, там и так должна быть. Если же мы её вдруг удалили, можно высосать материал со сцены при помощи Get Material (в нафигаторе материалов включить флажок Scene и выбрать наш материал - в скобках сзади указывается название объекта, к которому материал применён, это помогает ориентироваться в очень больших сценах) или с помощью пипетки, тогда достаточно просто навести пипетку на наш объект, и материал высосется.

Далее применяем проволочный материал к объекту. Для проволочного материала - цвет его не должен совпадать с цветом заднего фона для рендеринга (посмотреть и настроить задний фон можно в меню Render/Envirounment - параметр Background Color). Лучше чтобы он сильно отличался, тогда шаблон будет ярко виден на заднем фоне.

В проволочном материале в группе Extended Parameters есть подгруппа Wire, в ней параметр Size и два переключателя: Pixels (размер указывается в пикселях) и Units (в единицах). Если указывать размер в пикселях, то это будет толщина проволоки на конечной картинке. Если в единицах - то толщина расчитывается в единицах, и это зависит от положения камеры. У нас же, не забывайте, рендерится квадрат, размер которого в единицах ничтожно мал: 1х1! Поэтому размер проволоки в единицах должен быть и того меньше! Если единицы оставить равными 1, то никакой проволочности в конечной картинке вообще не будет. Проще указать в пикселях - один или два пикселя.

Если к объекту применён модификатор Summetry - его надо выключить. Не забывайте - этот модификатор не отражает объект в пространстве UVW, то есть на развёртке у нас будет две половинки, строго наложенные одна на другую. Нет смысла рендерить их обе. Хотя, можно и не отключать, Render To Texture по идее загнуться не должно.

Если применён MeshSmooth или TurboSmooth - включить для них режим Isoline Display. Иначе срендерится слишком густая сетка, и это будет не удобно. Модификаторы MeshSmooth или TurboSmooth если планируются для конечной версии объекта, лучше включить и для Render To Texture, тогда развёртка будет как раз такой, как и ляжет на конечный сглаженный объект. Один нюанс существует - у MeshSmooth есть в некоторых режимах флажок Old Style Mapping - это значит, что координаты наложения (и развёртка, соответственно) при сглаживании остаются такими же, как у исходного объекта. Это надо, если у нас уже создана развёртка на низкополигонный, несглаженный объект. Но поскольку мы сейчас вольны создавать развёртку для любой версии объекта, лучше включить сглаживание, и выключить в MeshSmooth такой флажок. Это позволит получить более плавную развёртку.

Итак, объект мы подготовили, переходим к настройкам утилиты Render To Texture.

По группе параметров General Setting надеюсь, всё понятно. Выходной путь - указывает папку, куда кидать файлы, названные по умолчанию, если мы для них ничего не настраивали в группе Output.

Objeckt To Bake - должен быть выбран наш объект, и он отображается в списке.

Projection Mapping (появился в 7-й версии 3dsmax) - мы использовать не будем, его следует выключить от греха подальше.

Mapping Coordinates - обязательно включите здесь Use Existing Channel - использовать существующий канал! Зря, что ли, мы столько разворачивали? Вот и используем нашу развёртку. У нас она, помнится, в первом канале, чего и надо указать в соответствующем поле Channel.

В Output - наверное, добавим Diffuse Map (окраску) при помощи кнопки Add выберем из списка соответствующий элемент. Больше ничего нам пока не надо.

File Name And Type - здесь можно ввести только название и тип файла, тогда он сохранится в папку, указанную выше в настройках General Setting в пункте Output. А можно указать полный путь. Какой формат взять? Можно любой, главное, чтобы потом открылся на фотошопе. Единственное, надо знать, что форматы TGA и JPG идут с потерей качества, поэтому лучше выбрать BMP или PNG. TIFF - формат хороший, но сложный. Он может и как JPG кодироваться, то есть с потерей качества, может и иначе. А может быть таким хитрым, что не все программы его поймут, поэтому лучше взять формат попроще. Пока, к тому же, для такой простой задачи сложных настроек и опций не надо.

Выберем размер. Я рекомендую не менее 512. Всё остальное будет уже чересчур мелко. При желании, шаблон можно будет увеличить потом и на фотошопе. Но если он будет слишком мелкий - все детальки сольются в одну кашу, и ничего не будет понятно. Но вообще - чем больше картинка, чем чётче и точнее будет шаблон. На данной учебной стадии - поставим 512.

Дальше, ниже можно уже ничего не делать, раз мы применили к объекту материал, который не жалко, а от авторазворачивания отказались. Но для порядку в группе Backed Material лучше поставим Save Source (Create Shell) - лучше привыкнуть ставить эту опцию, чтобы не потерять исходного материала. Ума не приложу, зачем надо всенепременно что-то с исходным материалом вытворять, почему вообще нельзя отключить это начисто. Но уж чего есть, и приходится с этим бороться.

Теперь можно нажать кнопку Render. При этом в окне будет отображаться развёртка с тенями, а сам результат надо будет искать в том месте, где вы указали сохранить полученный файл. У меня для динозавра получилось примерно вот это:


Рис 24.8 Шаблон развёртки

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


Рис 24.9 Рисование текстуры

Можно, конечно, полностью закрасить нижний шаблон, но мы этого делать не будем, мы сделаем полупрозрачную текстуру, для иллюстрации следующих стадий текстурирования. Вообще, можно закрасить нужным цветом все эти куски, только надо помнить, что на стыкующихся швах рисунок должен стыковаться. Как это нарисовать - не знаю. Поэтому рекомендую пока рисовать внутри частей выкройки, не налезая на края. Куски под пятнами можно закрасить однотонно, тогда на швах они состыкуются. При том, можно смело вылезать и за швы. Но в данном примере изготавливается именно полупрозрачная текстура, а именно пятна. Зачем - ясно будет позже. Полупрозрачную текстуру можно сохранить в формат PNG. Для этого, если работа идёт в Фотошопе, надо выключить нижний, шаблонный слой, останется только верхний, полупрозрачный. Его можно сохранить в PNG при помощи утилиты Save For Web, либо просто при помощи Save As (Save a Copy). Обязательно для полупрозрачного PNG Доложно быть активировано Transparency (или, иначе это называется Alpha channel).

Внимание: Старые ферсии фотошопа неправильно записывают формат PNG! В них либо одназначно надо сохранять при помощи Save For Web, либо в формате самого фотошоп PSD. 3dsMAX понимает этот формат.

 


Рис 24.10. Полупрозрачная текстура (формат PNG, некоторые броузеры могут не поддерживать).

Теперь применим эту текстуру. Выберем материал в редакторе материалов, в слот Diffuse применим карту Bitmap, а в Bitmap загрузим нашу текстуру.

Рис. 24.11 Применение текстуры Bitmap с PNG-картинкой (настройки по умолчанию).

Получилось страшновато. Чтобы как-то задействовать нашу полупрозрачность, обратимся к некоторым параметрам катры Bitmap. В общем-то всего-то надо в группе Bitmap Parameters проследить, чобы в подргуппе Alpha Source было включено Image Alpha, и чтобы был выключен флажок Premultiplayed Alpha чуть ниже. Тогда будет смотреться вот так:

Рис. 24.12 Применение текстуры Bitmap с PNG-картинкой. Отключено Premultiplayed Alpha, но включено Image Alpha Source.

Это у нас сквозь полупрозрачную текстуру просвечивает цвет самого материала (синий). Зачем это надо? В общем, можно обойтись без этого - нарисовать пятна на непрозрачном фоне нужного цвета. Но если нам надо будет компоновать несколько разных карт - тут эта самая полупрозрачность будет просто жизненно необходима!

Итак, применим материал на объект, а для текстуры включим: Show In Viewport, чтобы сразу было видно, легла ли она на наш объект нужным образом.

Рис. 24.12 Наложение текстуры (результат рендеринга)

В общем, должно получиться что-то вроде этого (со включённым Symmetry). Это срендеринный результат, а в окнах проекций текстура, возможно, будет отображаться на чёрном фоне. Рука пристыковывается не особо хорошо, там пятно попало на шов, и это видно. Если у нас должны быть более густые пятна, то швов будет не избежать. Либо в местах стыковки будут ярко выраженные пустые места, а это плохо. Что же делать? Для этого можно задействовать ещё один map channel. Но об этом в следующем пункте.

Здесь же: если у вас не получилось - проверьте, не произошло ли автоматического разворачивания объекта. При этом в стеке объекта должны появится лишние модификаторы Automatic Flattun UVs. Или, убедитесь, действительно ли вы применили карту в тот же Map Channel, в котором находилась сделанная вами развёртка.

Решение проблемы швов

Чтобы замазать швы, потребуется ещё одна (а то и более) развёрток. Только не пугайтесь, что придётся проделывать эту неприятную проблему с начала! Теперь нам будет проще. Поступим вот так: вернёмся на базовый уровень объекта, и применим модификатор Unwrap UVW. Первую развёртку мы делали в первом Map Channel. Для первого Map Channel нажмём кнопку Edit, войдём в редактор. Выделим в редакторе всю развёртку, и в пункте меню Edit редактора нажмём Copy. Теперь в параметрах модификатора Unwrap UVW изменим Map Channel на 2. Вылезет сообщение о том, что все наработки будут утеряны. Просто нажмём Ok. Нам терять нечего, мы ничего и не нарабатывали, только скопировали. Во втором канале, скорей всего будет наш объект в каком-нибудь виде. Надо выделить все его (все вершины, ничего не забыть) и в том же пункте меню Edit нажать Paste. Развёртка станет такая же, как в первом канале.

Рис. 24.13

Теперь можно поменять местами края кусков, например. На рис. 21.13. выделены красным цветам края руки и ноги. Их можно отделить при помощи Break, перенести на другую сторону куска и прирастить там. Теперь швы разреза руки и ноги будут в других местах. А на том месте, где был шов в Map Channel 1, теперь можно нарисовать другие пятна. Аналогично, можно поступить с пальцами. И вообще, когда будет готова развёртка для целой модели, а не для половины, можно будет разделить туловище не на право и лево, а на верх и низ, и получить цельный живот и цельную спину, по центру которых тоже можно будет рисовать непрерывный рисунок. Мы сейчас этим заниматься не будем. Во-первых, у нас пока только одна половина, во-вторых, и деталей мало. Не удобно, например (а надо, кстати!) сделать безшовные варианты тех мест, где руки и ноги присоединяются к туловищу.

Это будет делаться потом, когда получится более-менее законченная модель. Вот и начнём её дорисовывать, и посмотрим, что будет происходить. А швы замазывать потом будем. Одно только скажу сейчас - замазвать их надо именно полупрозрачными текстурами, которые комбинируются при помощи карты Composite, с которой мы уже знакомились ранее. В карте Composite все наши полупрозрачные карты складываются так, что карты с большими номерами располагаются над картами с маленькими номерами.

Дорисовывание объекта

Развёртку мы делали пока объект не сильно детализован, потому что потом будет распутать очень трудно. Но по мере дорисовки объект опять может немного запутаться, однако теперь распутать его будет гораздо легче. Итак, как дорисовывать? Детали можно добавлять при помощи Cut, как уже говорилось. Чтобы хвост у нас гнулся, надо сделаь на нём несколько линий из рёбер. При помощи Cut или Slice Plane.

Рис. 24.14a - разрезы, добавленные при помощи Cut или Slice Plane
Рис. 24.14б a тем временем в редакторе развёрток...

Всё просто замечательно! Единственное, что от нас требуется - немного подправлять вершины, если мы хотим, чтобы всё было ровнее.

1) Надо сказать, что иногда при разрезании замкнутой поверхности (у нас рука или нога, или палец) которая разрезана в редакторе развёрток, на краях вершины могут несколко перепутаться, и скакать между швами, поэтому чтобы всё не запуталось, после серии таких разрезов желательно заходить в редактор развёрток и смотреть, что же там творится, и приводить всё в чувство, если это надо.

2) Операции Chamfer в некоторых версиях 3dsMAX могут раздвигать вершины в XYZ но не раздвигать в UVW. Будьте внимательны.

3) Extrude - в UVW экструзированные грани располагаются ровно над теми гранями, из которых их экструзировали, так что если вы сразу после экструзии зайдёте в редактор развёртки, можете ничего особого не увидеть. Чтобы исправить развёртку, надо в режиме работы с гранями выбрать то самое место, на котором в пространстве XYZ проводилась экструзия и подвигать. Тогда станет всё видно. Можно, конечно, и в режими работы с вершинами порастаскивать уголки. Главное, своевременно обрабатывать такие моменты и в редакторе развёрток тоже, а то потом будет трудно разобраться.

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

Preserve UV - эта опция появилась в 3ds MAX 7. Она предохраняет координаты развёртки. Вообще, если мы сейчас будем двигать вершины в пространстве XYZ, то в пространстве UVW они двигаться не будут. Иногда это плохо, если мы уменьшаем или увеличиваем какой-нибудь участок на модели (при моделировании!!!) а текстура сжимается или растягивается - а нам бы хотелось, чтобы она и в UVW пространстве масштабировалась соответствующим образом. Тогда и надо включать Preserve UV.

Итак, что нам надо доделать? Как уже говорилось, четыре стороны для рук и ног маловато, сделаем хотя бы шесть. Для этого разрежем руки и ноги вдоль при помощи Cut. Ещё надо разрезать вдоль туловище, хотя бы один раз, добавить места для глаз, зубы и язык. В общем, зубы и язык можно добавить и отдельными объектами, незачем усложнять себе жизнь на начаьлном этапе.

Рис 24.15. Условно-дорисованный объект

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

<< Назад Оглавление   Вперёд >>
homepage: http://teapot3d.narod.ru
Используются технологии uCoz