Melentiev A 0 Опубликовано: 13 января 2008 источник: www.maks3-5.h12.ru В этом уроке я покажу вам как можно создать реалистичную траву. Урок рассчитан не только на опытных пользователей но и для начинающих. Важно уяснить себе что для создания реалистичной травы необходимо большое количество поликов, и от этого никуда не деться, это и есть самое грустное. как вы уже заметили на картинке с низу ничего военного нет всё до предела просто, и я покажу вам как это можно реализовать стандартными средствами Макса, а точнее функцией Scater Вам конечно же известно что реальная трава растёт беспорядочно, и далеко не по отдельным видам... если она растёт то уж поверьте мне не один вид а несколько десятков. и все травинки имеют разную форму и высоту, так что для начала нам необходимо создать несколько заготовок травинок. обратите внимание на картинку ниже, тут указаны примерные заготовки стебельков травы(но необязательно ограничиваться именно такими, можете придумать ещё несколько или совершенно другие. Короче говоря стебельки представляют из себя простую плоскость(Plane)конвертированную в поли(Poly). верхние вершины слиты вместе(Welded). остальные стебли имеют большее полигональное разбиение, так как нужно изменить их форму изгибом(Bend), следовательно для избежания резких граней нужны дополнительные разбиения поликов. изогнём их на разный манер, то есть в разные стороны и разные углы изгиба. Ну и конечно же нам понадобятся небольшая плоскость(поверхность) для размещения нашей супер реальной травы Как вы видите на рисунке, я выделил некоторые фейсы(Faces) для размещения травы именно на них, а не в других местах или по всей плоскости Сейчас мы выберем самый маленький стебель, и разместим его на нашей плоскости, для этого нужно войти в панель Создать(Create), из вываливающегося списка выбираем Составные объекты(Compound Objects), в появившемся списке функций выбираем Распространение(Scatter). Во вкладке Параметры(Parameters) выберем опцию Указать содержащий объект(Pick distribution object), и укажем нашу поверхность. Теперь наш стебель размещён на плоскости. И нам необходимо решить какое количество копий травинок этого вида нам нужно. Возьмем к примеру 50000, эту цифру нужно вписать в соответствующее поле(см. рисунок). Вот теперь другое дело.. наши стебли более менее разместились по поверхности нашей земли. Не обращайте внимание пока на положение травы, относительно плоскости земли, потом подправим. Но нам нужно разместить нашу траву не по всей поверхности, а на заданной территории. так что мы выберем опцию Использовать выбранные сегменты(Use selected faces only). Посмотрите наша трава переместилась на заранее выбранные территории. Я решил изменить количество копий травы и указал немного меньшую цифру, 40000(вы же можете оставить прежнее количество стеблей, решать вам, всё зависит от того какую вы хотите получить растительность, густую или жиденькую, также излишнее увеличение плотности растительности может повлечь за собой некоторую задумчивость компьютера, в народе именуемой тормозами). ...Да кстати учтите тот факт что для каждой заготовки травы нужно использовать разные настройки, это позволит добиться природного, реалистичного эффекта. и ещё... не забывайте время от времени делать тест-рендеры, так вы будете видеть картину в целом и уже представлять будущий результат, а возможно придумаете ещё какую-нибудь деталь, так обычно и происходит. В данном случае я делаю тест-рендеры для определения оптимального количества стеблей. Так теперь вернёмся к вопросу о положении нашей травянистости относительно плоскости земли, пока что она не правильно располагается.. она лежит, а нам необходимо её поставить. для этого нам потребуется изменить некоторые значения в поле ротации. посмотрите на рисунке выделены ротационные поля, наиболее важным для нас является поле которое отвечает за ось Х, укажем там угол поворота девяносто (90) градусов, это поставит нашу траву в нормальное вертикальное положение. Кстати вы можете поковырять эти опции самостоятельно, изменить масштабирование, ротацию(поворот), это позволит добиться более реалистичного эффекта. Проанализируем, мы только подготовили первые стебли, а в нашей сцене уже большое количество поликов - 40000. попробуем оптимизировать нашу сценку, для дальнейшего моделинга растительности нам необходимо корректное и желательно быстрое отображение нашей сетки в видовых окнах, поэтому мы немного изменим настройку отображения травы, вернее её количества. Как вы можете видеть на рисунке, я изменил процент отображения объектов, я выставил 1%. То есть теперь мы можем наблюдать в видовых окнах всего лишь 1% от всей растительности одного стебля. Внимание очень важно включить опцию Скрыть содержащий объект(Hide distribution object), он не понадобится для нашего рендера. Теперь мы приступим к следующей части нашего урока, нам необходимо конвертировать нашу поверхность(землю) в полик(Convert to Edotable poly), так как нужно будет выбрать следующие сегменты(Faces). посмотрите на рисунок и вы увидите какие полики я выбрал. благодаря этому действию наша трава будет выглядеть реальней. И снова мы выбираем стебель, далее как мы уже это делали, Scatter> Pick distribution object>наша поверхность. на этот раз я уменьшил значение Duplicates=3000, так как вторая травинка длиннее первой и её будет более заметно. ну естественно нужно выбрать опцию Use selected faces only. Выставим значение ротации в 90 градусов по оси Х. Так же не забываем про тип отображения 1% и Hide distibution object. После всего этого снова конвертим нашу землю в полигон, для продолжения заселения её растительностью. Выбираем следующий стебель(эту операцию необходимо повторить до тех пор пока каждая заготовка травинки не будет посажена в землю). делаем всё те же операции, только количество копий на этот раз 20000. Не забываем про выбор сегментов.И не забываем про 1%(так как уже на этом этапе мы имеем очень большое количество полигонов, так что если не использовать этот приём то ваш компьютер просто загнётся) и опцию Hide distribution object. Так вот вроде бы и всё..., но мне кажется чего-то не хватает. добавим ещё один элемент. запомните, у нас итак дофига уже полигонов, так что никакой детализации всё максимально просто, низкоплигональный цилиндр, пара поликов(листиков) и всё, лёгкий модификатор Изгиб(Bend) для реалистичности. Расположить листики вдоль ствола можете сами как вам удобно, я использовал массив Array, но вообщето в идеале самый оптимальный способ это текстурой и картой Opacity. Действуем по той же схеме что и раньше, только количество копий поставим 70, это как раз то что надо, больше это уже будет не натурально. также смотрите на рисунке параметры ротации и масштабирования. И последнее действие, изменим отображение нашего куста на Proxi. это буден нормально, у нас всего то их 70 штук так что как говорится не волнуйтесь всё будет пучком Это всё. далее вам предстоит применить материалы поставить свет и отрендерить сущие пустяки. Перевод: Sub Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
sky_myth 0 Опубликовано: 27 марта 2009 Так же можно воспользоваться ментал или в-рай прокси(вешать желательно на инстенс, при этом подгрузка прокси произойдет только один раз) для каждой травинки чтобы не так сильно нагружать память при рендере Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
snickerz 0 Опубликовано: 14 апреля 2009 ага, здоровски) пасиб! Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Thill 0 Опубликовано: 14 апреля 2009 Помнится, пытался сделать нечто похожее. Все равно производительность упадет. Так что я за прокси :crazy: Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах