Метод нелинейного превращения примитивов в 3D рисовании.


Давайте научимся рисовать Космические Станции Совершенной Грозной Красоты.

"- А я видел Вашу картинку и не нахожу в ней ничего особенного!"

Ну, не знаю?.. Наверное у нас просто разные представления о Прекрасном - ничего страшного! В конце концов, КССГК - это просто название. Хотя… «как вы яхту назовёте так она и поплывёт»?..

К тому же мы использовали самый простой "рендер". Накладывать нужные текстуры, ставить освещение и вводить спецэффекты должен был бы, по нашему мнению, специалист по визуализации КССГК, кем я, ни в коем случае (пока, во всяком случае), не являюсь. Мы создаём форму и предлагаем читателю домыслить остальное.
Ну что? Поехали?..

КССГК, по нашей версии, представляет собой... новогоднюю ёлку.  Роль самого дерева в ней играет модификатор Greeble. А роль новогодних игрушек играет... ... ладно, дойдём и до игрушек.

Возьмём три простых ящика- «бокса». (Что важно, число сегментов должно оставаться единичкой и по длине, и по ширине и по высоте).Один совсем узкий, другие чуть потолще. У «толстых» с помощью Edit Mesh одну сторону уменьшим. Потом возьмём два цилиндра – один длинный узкий, другой короткий толстый. Возьмём две сферы и обрежем их у одного полюса; дырки заделаем. (Convert  to -> Editable mesh; Selected (Vertex); Выделяем... удаляем... снова выделяем Modifier list -> Cap holes). Одну из сфер повернём на 90 градусов. (Рис 1). А теперь сократим в обеих сферах
количество полигонов раза в полтора (с 290 до 190). (Берём первую сферу,  (Modifiers ->  Mesh Editing ->  MultiRes -> Generate...) и уменьшаем . Потом вторую). Зачем, объясним позже. И соберём всё это в конструкцию. (Рис 1.1, 1.2).

Объединяем всё вместе (Create -> NCMDpound object -> Boolean -> Union ... повторяем шесть раз). И наконец применяем greeble
(max.klanky.NCMD) (Modify -> Modifier List -> Greeble). Greeble при дефолтных настройках сильно зависит от "максимальной высоты". Итак, назначим нашей КСГФК какую-нибудь текстуру и смотрим при Max. Height равной 5 и 2.5. Думаем...




Рис.1

(Зачем мы уменьшали количество полигонов - хорошо видно на картинке. При уменьшении,
MultiRes случайным образом объединяет полигоны, и вместо квадратных крыш Greeble рисует на их месте красивые "микрорайоны").

Итак, по нашей версии, станция состоит из "жилой" зоны (двух сфер и двух цилиндров), и  производственной (трёх "box"-сов). Скажем,  маленькая сфера - жильё руководящего состава. Сфера побольше - жильё рядового состава. Длинный цилиндр - "рекреационный центр". (Там, разные бассейны и тому подобное). А плоский - заводской офис.

"- А что Ваш космический завод будет производить?"
  
Гм... ну не знаю?... Наверное, что-нибудь нужное?..

(!) Догадался! Это будет космическая станция по производству НЛОв, УФОв - ну, в общем, того подобного.

  (А то действительно!! Летающие тарелки... Все их видели, а как эту хрень делают - тайна за семью печатями! Вот мы и "приоткроем завесу"!..)

Значит... делаем (при помощи операции Detach), из двух картинок (3 и 4) одну. ("Жилую" зону  возьмём  из  картинки 4,  а "производственную" - из картинки 3). А для  "производственной"  зоны  сделаем повторный Greeble с какой-нибудь маленькой 
Max.Height. Равной, скажем,  0.25. (Сначала надо, естественно, убрать предыдущий Greeble (правая клавиша; Convert to mesh, Convert to mesh) и далее по тексту...)

Заметим,  что у нас случайно образовался почти равносторонний треугольник по центру. Надо будет это использовать. Скажем, расположить в его центре  "стапель" нашей строящейся "летающей тарелки". Обозначим его временно цилиндром. Добавим  произвольный, "приличный" фон
(Views -> ViewPort Background -> Files...) и посмотрим на то что получилось сверху и снизу.


 
А что? Отличная ёлочка!

(... "отличная", да не совсем! На получившей после двух Greeblo-в форме получилось слишком много полигонов. (Modifiers -> Mesh Editing -> MultiRes -> Generate - его даже не может определить. Программа виснет.) Надо снова  конвертировать  её в сетку  и выполнить Weld  с каким-то там Selected. Картинка, конечно, немного потеряет в своей первозданной красоте, но, будем считать, что мы просто очистили свою ёлочку от сухих веток и комков грязи).

Заметим, что улучшить получившуюся картинку традиционными способами невозможно. Попробуйте сами добавить к сцене какой- нибудь Lathe- объект или что-нибудь экструдировать и вы без труда установите справедливость этих слов. Более того! Существует странный парадокс. И чем больше усердия и труда Вы будете прилагать в работе над улучшением картинки... тем Печальнее и Печальнее будет становиться результат! И понятно, "почему"...

Красота предыдущей картинки - это не "искуственная", а, так сказать, "природная" красота. (Аналогия с красивой "ёлочкой" в лесу - прямая). И лезть в эту сверкающую фрактально- геометрическую даль со своим собственным - искажённым по всем направлениям - внутренним миром - дело безнадёжное. И поступать надо по другому.

Раз у нас до того работала чёткая и - я подозреваю - очень простая математика - и пусть дальше работает она же! Раз у нас до того была просто "функция сетки" - и добавлять дальше надо просто "функции сетки"! Просто на этот раз не фрактально- случайные, а фрактально- симметричные. А "фрактально" к "фрактально" - будет смотреться необычайно эффектно!

Посмотрим на  приведённые объекты.

(Всех из совершенно бесплатно можно скачать на сайте www.kornju.narod.ru. Нажимате на любой картинке и скачиваете ZIP файл. В нём MAX файл из семи объектов. Например для первого рисунка это будут объекты названные t1, t2, t3, t4, t5, t6, t7. Их вам надолго хватит! А потом... "я вам ещё нарисую". Это не работа - это удовольствие!)
























 Мы называем их каустиками, потому что получены из обычных примитивов методом  т.н. каустикого превращения. (Назовём их поэтому МКП- объектами. Слово "каустика" применяется и в освещении 3D Studio. Это, в общем, похожие вещи.)

Получаются они в специальной программе, но очень просто. Берётся сетка обычного примитива (сферы, полусферы, цилиндра с дыркой и т.д. т.д.) выбираются на ней несколько точек и производится относительно их наше "каустиковое" преобразование. А дальше всё зависит от одного параметра. Можно выбирать "плюс" преобразование, а можно "минус". Это - в основном! Дальше идут многочисленные тонкости. Особый "шарм" нашим объектам придаёт их "естественная" раскраска  в два близких цвета.

Те МКП- объекты, которые понравились, собираются по 7 штук, и спасаются в формате MAX. (Тоесть использовать их очень легко. Делаете  File -> Merge и выбираете нужный номер). Заметим, что сами МКП- объекты необычайно экономны, и содержат совсем немного вершин и "фейсов". То есть просто созданы для клонирования, распределения по сплайнам и тому подобного. Кроме того многие из объектов содержат так называемые "фермы"; они просто скрыты. (Нам кажется что "фермы" смотрятся  лучше чем обычные Lattiс- ы. Но, впрочем, и последние можно использовать).



Наделали ёлочных игрушек и начинаем наряжать...

Делаем, для начала, "стапель" для своей НЛО. (В самом деле! Не на конвеере же такие тонкие вещие делать!)




Будем рисовать станцию "приятную во всех отношениях". (В смыле, чтобы хорошо смотрелась со всех возможных аправлений!) Для этого рисуем сплайн облёта, цепляем к нему Targed камеру (пусть она смотрит всё время на центр нашего строительства.) и вперёд. (Если есть навык, то работа движется очень быстро. У меня вся  работа осуществляется  с помощью  Layer Manager- а. Сразу же помещаем наш путь и нашу камеру на Layer с названием !Cameras. (Восклицательными знаками мы метим "системные" слои - !Lights, !Points, что бы они стояли в самом начале и не мешали остальным). Больше никаких камер не надо! Делаем слой с шестью источниками света, освещающими наш завод. И начинаем! Расставляем, расставляем, расставляем...
)


Рис 2.

Несколько бесплатных советов. Желательно импортировать (Merge) все наши объекты на 0- вой дефолтный слой и сделать всё невидимым. Спасём это как единый "дефолтный" слой, и в единый "дефолтный" файл! Потом, смотрим на вышеприведённую картинку, по одному делаем Unhide и куда- нибудь ставим. Как поработали час, рассовываем всё по слоям. Их количество быстро растёт. В конце мы насчитаем их аж  21! BigClone, BigClonеUp, LinCloneNorth, NLO, Stapel и т.д. Почти все  объекты ставятся на "заводской" Greeble, поэтому лучше всего его "заморозить", раз и навсегда. И почаще делаем "рендер" - что бы посмотреть что к чему. Система управления в 3D Max продумана очень хорошо и работа доставлет скорее одно удовольствие. Я использую 5-ти кнопочную мышь запрограмировав одну кнопку на Cntrt Z, а вторую на Pan View. Это даёт мне возможность почти не ипользовать клавиатуру. У меня строго используется только правое нижнее окно. Оно переключается Perspektive - Camera-.Perspektive - Camera... Остальные, в общем, произвольны. Но желательно применять "согласованную" схему нарисованную на Рис.2 Через два дня выходных не напряжной работы (мы применяли только имеющиеся, приведённые выше объекты) получили следующий результат:




Сравнивая ёлочку без украшений и ёлочку с украшениями приходим к выводу, что Greeble почти идеально соотносится и МКП  объектами..

А дальше - чтобы закричать, так сказать "ёлочка зажгись" - чтобы показать нашу ёлочку в Новогоднюю Ночь (всё же должно блистать и отражаться)?.. С этим сложнее! Тут нужно изучать V ray-и и  mental ray- и. Возиться с освещением, текстурами, цветами. И работа явно не на два дня! То есть не для меня! (Ну, может быть?.. Когда-нибудь! Потом. Когда будет время...)

Ну и ладно! Будем считать что мы изобразили старенький, задрипаный заводик, где-то на самой окраине Туманности Андромеды.

И в заключении, давайте ещё раз используем свою НЛу. Давайте представим, что мы стали участниками не так давно прошедшего мини-конкурса на render.ru  "Крушение НЛО".

nlocrash

Подпишем всё так. "11 сентября 2011 года группа религиозных фанатиков с террористическими целями похитила со сверхсекретной базы "Рокуэлл"  (штат Южная Каролина)
суперсекретную американскую НЛУ, сделанную, конечно, не без помощи инопланетян. (Фильм X-files видели?.. Одну из серий?.. Там как раз начало этой истории!)"
А дальше... как обычно! Видно что МКП объекты очень прилично
смотрятся даже на фоне Капитолия.