3D Engineering

...Лучшее из общего.

  • Увеличить размер шрифта
  • Размер шрифта по умолчанию
  • Уменьшить размер шрифта

Важный момент!

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

Теперь выделяем всё колесо и в меню unwrap’а прокручиваем до свертка ”Map parameters” и выбираем там Cylindrical и нажимаем на ”Align Z” – чтобы gizmo встало в нужную позицию, захватывая всё колесо. В зависимости от положения колеса во вьюпорте возможно нужно выравниваться по другим осям –X или Y поэтому придется попробовать другие кнопки ”Align X” и ”Align Y” соответственно. В итоге должно получиться как у меня (Рис 4). Также отмените галку Normalize map - эта функция скейлит развертку чтобы она влезла в рабочую область unwrap’a (далее поймете что за область) тем самым искажает её.

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

Текстуринг колеса, Создание развёртки при помощи UNWRAP

Далее отжимаем кнопку Cylindrical и в свитке Parameters нажимаем кнопку Edit, появилось окно Unwrap’а в котором нам предстоит работать. Но мы в нём ничего не видим на данный момент - не беда, это всё из за отключения функции Normalize map,

Нажмите в нижнем правом углу окна анврапа кнопку Zoom Extents и вы увидите развёртку которую мы получили. Это должна быть просто прямая полоска. Далее посмотрите на окно анврапа – видите 2 толстые линии пересекающиеся в одной точке – приблизьте – при помощюь зума приблизьтесь к пересечению точек и вы увидие что между этих 2х линий есть квадрат отрисованый из чуть менее толстых линий – этот квадрат и есть рабочая зона. Используя Scale (находиться вверху на панельке инструментов окна unwrap) отмасштабируйте развертку до размера рабочей области.

Текстуринг колеса, Создание развёртки при помощи UNWRAP

Назначте колесу процедурную карту checker, сделайте её вдимой во вьюпорте и назначте тайлинг по обоим осям пример 10-12.

Видим следующее.

Текстуринг колеса, Создание развёртки при помощи UNWRAP

Видим что текстур потянулась – это происходит из за того что несколько полигонов в развертке лежат один на одном, да и собственно по той развертке что есть сейчас боковой рисунок никак не нарисуешь. Выход – нужно править развертку. Выделяем в анврапе внутренний круг ребер –переключитесь с Face на Edge и чтобы легче было выдеять отключите показ швов развертки найдите такой пунктик там ”Show no seam”.

Текстуринг колеса, Создание развёртки при помощи UNWRAP

Нажмите Edit снова, в появившемся окне анврапа при помощи Move (значок с перекрестьем) и зажатой кнопки ”shift” (ограничивает передвижение по одной оси) сдвиньте выделенные ребра вниз – то есть отодвиньте их от общей ”кучи”.

Текстуринг колеса, Создание развёртки при помощи UNWRAP

Далее выберите следующее ребро и нажмите Loop, и так же в окне анврапа отодвиньте его от остальных.

Текстуринг колеса, Создание развёртки при помощи UNWRAP

Проделайте эту операцию со всеми ребрами которые на развертке залазят друг на друга.

Должно было получиться примерно как у меня

Текстуринг колеса, Создание развёртки при помощи UNWRAP

Теперь давайте посмотрим на результаты - измените тайлинг карты checker примерно на 20 чтобы клетки во вьюпорте стали меньше и мы могли видеть насколько точно сделана развёртка и подправить её.

Текстуринг колеса, Создание развёртки при помощи UNWRAP

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

После 2х минут дерганья граней у меня получилось следующее.

Текстуринг колеса, Создание развёртки при помощи UNWRAP

И так можно считать что развертка почти закончена.

Далее над модификатором unwrap добавьте модификатор Symmetry – тут надеюсь все знаю как им пользоваться. Сделайте симметрию колеса, и в списке модификаторов нажмите правой кнопкой и выберите Collapse All в окошке выскочит сообщение – нажмите Yes.

Теперь опять назначьте модификатор Unwrap и сразу там нажмите на Edit. По прежнему вы увидите развертку которую вы сделали, но на самом деле их там 2, просто они лежат друг на друге. Выберите половину колеса и потом в окне анврапа оттащите вверх выбранные полигоны.

Текстуринг колеса, Создание развёртки при помощи UNWRAP

Потом всё в том же окне анврапа нажмите Tools --> Mirror Vertical. Пододвиньте отраженный кусок вплотную к оригинальному. Потом выделите вертексы которые находяться на стыке 2х кусков и нажмите Tools --> weld selected. Теперь когда вы сшили общие точки, выделите всю развертку и расположите примерно как у меня.

Текстуринг колеса, Создание развёртки при помощи UNWRAP Текстуринг колеса, Создание развёртки при помощи UNWRAP

Нажмите Tools --> Render UVW Template и отрендерьте развертку размером 2000*2000

(учтите отрендериться только рабочая область –тоесть тот самый квадрат)

Теперь Дело за фотошопом – создавайте файл например 2000*2000 точек и рисуйте текстуру протектора используя отрендериную развертку (чтобы ориентироваться в каком месте рисовать) и затайливайте её ну или берите готовую неважно.

Вот какая у меня текстура получилась.

Текстуринг колеса, Создание развёртки при помощи UNWRAP

А вот результат который виден во вьюпорте - на месте помеченным крассным видно что есть проблема со стыком концов текстуры. Тут 2 способа – идти и крутить тайлинг текстуры либо в unwrape подвигать развертку и чуть-чуть отмасштабировать её по одной из осей. Выбирайте любой способ – это не критично. После всех танцев с бубном применяйте TurboSmooth и VrayDisplaceMode и там выбирайте тип 3D и настривайте всё по вкусу и естественно кладите вашу текстуру туда.

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

Текстуринг колеса, Создание развёртки при помощи UNWRAP

Этот способ в основном хорош для наложения текстуры протектора и нанесения бокового рисунка который вы собираетесь рисовать сами.

Текстуринг колеса, Создание развёртки при помощи UNWRAP

Если у вас уже есть боковой рисунок такого типа и текстура протектора то придёться развернуть колесо немного по-другому.

Текстуринг колеса, Создание развёртки при помощи UNWRAP

Выделите те полигоны на которых будет рисунок протектора и сделайте развёртку как описано в предыдущем способе. Далее инвертируйте выделение и там где вы раньше нажимали Cylindrical нажмите Planar а потом Best Align. В итоге у вас должно было получиться развёртки для стенки и для протектора как на рисунке.

Текстуринг колеса, Создание развёртки при помощи UNWRAP

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

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

 

Архив статей

 сен   Октябрь 2019   ноя

ВПВСЧПС
   1  2  3  4  5
  6  7  8  9101112
13141516171819
20212223242526
2728293031 
Julianna Walker Willis Technology

Случайная новость

vladirr

Приветствую всех снова... Сегодня мы с вами продолжим работу по улучшению интерфейса макса и приведению его в соответствие нашим пожеланиям. Исходная посылка - та же, что и в прошлом уроке - мы подготавливаем удобные инструменты для lp-моделирования. На примере сегодняшнего урока я хочу показать, как можно упростить себе жизнь, не заморачиваясь на серьезное программирование.
Итак, вводная - мы моделируем, требования к моделингу жесткие, мы практически постоянно должны контролировать количество вершин, фейсов, направления ребер... По умолчанию в максе отображаются только видимые ребра (Vizible Edges), но для нашей ситуации это не подходит. Конечно, мы можем кликнуть правой кнопкой по объекту, выбрать его свойства, снять флажок "Edges Only" и нажать OK. Итого - 4 операции, для обратного действия - столько же. Много! Нам желательно - один клик, либо нажатие одной клавиши.
Перво-наперво идем Customize->Customize User Interface вкладка Keyboard...

и убеждаемся, что такого параметра для назначения горячей клавиши нам не предоставили :( Смотрим то же на владке Toolbars - может быть, есть возможность вытащить на панель закладок кнопку с данной функцией? Опять неудача. Ищем пункт Properties в списке Action, в надежде посмотреть на макроскрипт и "выдрать" оттуда необходимый нам кусок...

М-да... Редактирование макроса для свойств объекта нам недоступно... Приблизительно к таким же по существу результатам приводит попытка найти информацию в справке по максскрипту. Тупик? Не совсем. Открываем окно MaxScript Listener и активируем MacroRecorder

- этот инструмент позволяет фиксировать большую часть событий, происходящих в пределах макса. Создаем бокс, кликаем по нему правой кнопкой мыши и выбираем пункт - Properties, снимаем галку Edges Only и жмем OK. смотрим в окно MaxScript Listener:

Ура, у нас есть параметр! Вводим для проверки в окне MaxScript Listener:

$.alledges = not $.alledges

и жмем ввод. Мы задали выражение на смену значения булевской переменной на противоположное. В окне проекции можно видеть, что вкрытые ребра исчесзли. Выполняем эту команду еще раз - появились, и так - по циклу. Замечательно. Следующий этап нам уже знаком - открываем пустой файл скрипта и пешем "рыбу" - шапку будущего макроса и закрытые круглые скобки в качестве тела макроса:

--------------------------------
macroScript ShowEdges
category:"MAX Script Tools"
internalcategory:"MAX Script Tools"
buttontext:"ShowHiddenEdges"
toolTip:"Show hidden edges"
(
)
------------------------------------

Сохраняем в каталог //root_max/ui/macroscript под именем Macro_AllEdges и заменяем разрешение на *.mcr. Перезапускаем макс и по аналогии с прошлым уроком размещаем кнопку нашего макроса на панели Main Toolbar. Теперь поработаем над красивостями :) а потому открываем фотошоп или аналогичный редактор, и рисуем иконки. В соответствии со справкой, нам надо нарисовать 4 *.bmp файла с общим названием и разными префиксами, я их обозвал MacroScriptTools*.bmp :
1. MacroScriptTools_16a.bmp - разрешение 16x15px, оттенки серого (определяем прозрачность иконки)
2. MacroScriptTools_16i.bmp - разрешение 16x15px, собственно сама иконка (маленькая)
3. MacroScriptTools_24a.bmp - разрешение 24x24px, оттенки серого (определяем прозрачность иконки)
4. MacroScriptTools_24i.bmp - разрешение 24x24px, собственно сама иконка (большая)

Над дизайном я особо не заморачивался, использовав уже существующую иконку и слегка ее изменив. Вы можете нарисовать свои иконки сами или скачать уже готовые мои :) Чтобы скачать архив иконок нажмите на изображение:

Замечательно, размещаем полученные изображения в папку
\\root_max\UI\Icons\

Идем обратно в макс и кликаем правой кнопкой мыши по созданной нами иконке макроса. Выбираем в контекстном меню пункт Edit Button Appearance и переключаемся в положение Images Button.

В разделе Group выбираем нашу группу: MacroScriptTools , в соответствии с названием, данным иконкам. В окне ниже - только одна иконка, и это правильно, поскольку данную группу создали мы и в ней всего одна иконка. Выбираем ее и жмем OK. Получили аккуратную иконку в интерфейсе :)


Щелкаем по иконку правой кнопкой мыши, выбираем пункт редактирования макроса и дорабатываем тело скрипта:
-----------------------------------
macroScript ShowEdges
category:"MAX Script Tools"
internalcategory:"MAX Script Tools"
buttontext:"ShowHiddenEdges"
toolTip:"Show hidden edges"

(
on execute do
(
if $selection.count == undefined then
(
)
else
try( $.alledges = not $.alledges ) catch ()

)


)
--------------------------------

Что мы написали?

Собственно говоря, только то, что если ничего не выделено (if $selection.count == undefined ) - ничего и не делать, в противном же случае (то есть когда что-то выделено) - изменить режим показа ребер выделения на противоположный.
В тело макроса так же добавлена конструкция

try( ...) catch ()

позволяющая избежать ошибки при попытке выполнить поставленную задачу над объектом, не имеющим ребер как таковых. Как и в прошлом уроке, по существу работы данной функции я вас отсылаю к справке :)
Ну что ж, сохраняем макрос (CTRL+S) и "компилируем" его (CTRL+E), создаем в сцене несколько различных объектов и, поочередно выделяя их по одному пытаемся нажать на нашу кнопку... результат очевиден :)

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

Ну вот вроде и все на сегодня - пользуйтесь, экспериментируйте, творите.

Всегда Ваш - VladiRR

далее