1. Уважаемые гости и новички, приветствуем Вас на нашем форуме
    Здесь вы можете найти ответы практически на все свои вопросы о серии игр «Готика» (в том числе различных модах на нее), «Ведьмак», «Ризен», «Древние свитки», «Эра дракона» и о многих других играх. Можете также узнать свежие новости о разработке новых проектов, сыграть в увлекательные ФРПГ, восхититься творчеством наших форумчан, либо самим показать, что вы умеете. Ну и наконец, можете обсудить общие увлечения или просто весело пообщаться с посетителями «Таверны».

    Чтобы получить возможность писать на форуме, оставьте сообщение в этой теме.
    Удачи!
  2. Форум аддона "Возвращение" 2.0:
    — Обсудить игру, почитать о прохождениях и/или разрешить свои вопросы по игре вы можете в одной из тем одноименного форума. Посетить...
    — Прочитать историю изменения и/или скачать последнюю версию аддона "Возвращение", вы можете на страницах наших ресурсов. Скачать...
  3. К сожалению, во многих темах с уроками побились ссылки на изображения, теперь висят просто теги [IMG].
    Модераторы этого раздела займутся устранением проблемы, как только смогут.

Важно Создание территории: от простого к сложному

Тема в разделе "3D", создана пользователем MEG@VOLT, 4 июл 2013.

Статус темы:
Закрыта.
  1. MEG@VOLT

    MEG@VOLT ★★★★★★★
    Модератор

    Регистрация:
    24 мар 2006
    Сообщения:
    1.572
    Благодарности:
    627
    Баллы:
    290
    В этом уроке будет основной способ моделирования 3 объекта (дом, город, локация), которые в свою очередь будут объединены. Также здесь будет рассмотрен основной интерфейс используемого нами модификатора Editable Poly. Этот урок в свою очередь будет делиться
    на 4 раздела. Минусом этого урока я бы назвал то, что здесь не буду рассматривать текстуринг, так как это уже совсем другой урок (постараюсь дать его отдельно). Теперь перейдем к самому уроку.

    1. Рассмотрим основные инструменты модификатора Editable Poly

    Quick Slice позволяет разрезать модель создавая при этом новые ребра;
    Constraints используется в работе с ребрами и гранями;
    Cut создает новые грани при нажатии мышки;
    Repeat last повтор команды;
    Hide unselected убирает отображение невыделенных на сцене объектов.

    Также есть другие команды при работе с одним из подобъектов:
    Remove удаляет выделенное, объединяя при этом полигоны;
    Extrude выдавливание;
    Connect создает новые грани между выделенным;
    Remove unused map verts удаляет вершины не используемые при текстуринге;
    Detach отсоединяет грани и полигоны, создавая новый объект;
    Insert скос без смещения полигона;
    Flip создает противоположность выделенному;
    Extrude along spline выдавливание только вдоль выделенного сплайна;
    Hinge from edge поворот полигонов.

    2. Моделируем дом

    Наилучшей основой для создания того или иного объекта является ящик (box), цилиндр (cylinder) и труба (tube). В нашем случае это будет труба.
    1. Создаем tube с параметрами указанными ниже
    [​IMG] [​IMG]

    2. Преобразуем данную модель: convert to > editable poly (можно и в editable mesh, но мне больше нравиться этот вариант). Далее выбираем подменю редактирования вершин (vertex). Выделяем и передвигаем вершины в том месте, где далее у нас будет дверь и пол.
    [​IMG]

    [​IMG]3.Создав данную заготовку, переходим в подменю редактирования полигонов. Выбираем все полигоны (с 2-х сторон), относящиеся к двери и удаляем их. Так же поступаем с нижней частью нашей модели.
    Таким образом мы получили разрывы полигонов в месте где у нас будет дверь и пол.


    4. Теперь на виде сверху создадим плоскость в месте, где у нас будет пол. Далее выбираем объект «дом», в стеке модификатора editable poly нажимаем attach и щелкаем по созданной плоскости. Таким образом, у нас получилась одна модель. Далее нам надо сшить вершины плоскости с вершинами пола дома. Для этого переходим в меню редактирования вершин и щелкаем target weld. После чего поочередно соединяем вершины плоскости с вершинами пола (так же для уменьшения количества полигонов соединяем вершины пола до той степени пока не останется одна (на рисунке)).
    [​IMG]>>[​IMG]
    Так же поступаем с разрывами в двери.

    5. Основа дома создана, не хватает только крыши. В данном случае я хочу обратить ваше внимание на инструмент выдавливания (extrude) и скоса (bevel). Создаем объект цилиндр, как показано на рисунке.
    [​IMG]

    6. [​IMG] Переходим в меню редактирования вершин. Используя инструмент [​IMG], выделяем и сжимаем верхние вершины.
    [​IMG] Перейдем в меню редактирования полигонов. Выделяем верхний полигон, чередуя производим выдавливание и скос данного полигона.
    [​IMG]

    7. Теперь дом готов полностью, осталось только объединить крышу и дом. Выбираем объект «дом» > нажимаем attach > щелкаем на объект «крыша».
    [​IMG]

    [​IMG] 8. Для дальнейшего текстуринга переходим в меню редактирования полигонов. Выделяем и назначаем ID: для стен (ID 1), для пола (ID 2), для потолка (ID 3), для крыши (ID 4). Наносим текстуры при помощи модификаторов UVW map и более сложного - Unwrap UVW. У меня получился вот такой домик.


    3. Город

    Любой город имеет свои границы, поэтому, сначала взяв за основу объект, труба (tube), создадим ограждения (внешние стены). Чтобы облегчить создание города, будем использовать рисунок (вид сверху), который выставляется в под объектный уровень сцены. Так как у меня не было под рукой сканера, я рисовал его в обычном редакторе paint (в данном случае, я вам даю вид сверху уже готового города). Оставив слова, перейдем к самому уроку:
    1. Переходим в окно вида сверху, нажимаем Alt+B. Должно появиться меню, в разделе файлы ссылаемся на наш рисунок и нажимаем Ok.
    [​IMG]

    2. Создаем объект труба (tube), и выставляем настройки, как указано на рисунке.

    3. Преобразуем объект в editable poly.

    [​IMG] 4. [​IMG] Включаем редактирование вершин (vertex). Выделяем и передвигаем вершины относительно заранее выставленного рисунка.
    [​IMG]


    5. Далее выделяем и поднимаем вершины (в центре) до той высоты, какой будут проходы (в данном случае их будет 2).

    6. [​IMG] Переключаемся на редактирование границ. Выбираем инструмент Quick slice и разрезаем модель в тех местах, где у нас будет проход и ответвления от внешней стены (т.ж. можно использовать инструмент Cut, но первый способ быстрее, хотя, и создает лишние границы).

    7. [​IMG] Переключаемся в режим редактирования полигонов. Выделяем полигоны, которые относятся к проходам, и удаляем их с 2-х сторон нажатием delete.
    [​IMG]

    8. Как, наверное, Вы уже заметили, что кроме внешних стен будут присутствовать еще и внутренние. В начале создадим ответвления от внешней стены путем выделения и выдавливания (extrude) заранее подготовленных полигонов (п.6).
    [​IMG]

    9. Создав ответвления, приступаем к созданию внутренних стен. Создаем объект ящик (box) (желательно все, что Вы создаете производить на виде сверху), и выставляем данные: высота=8м, толщина=1м, 1/1/1. Используя [​IMG] и [​IMG] настраиваем расположение нашего объекта на конце внутренней стены.
    10. Далее включаем редактирование полигонов. Выбираем крайний боковой полигон и производим несколько раз выдавливание (но желательно это периодически менять с [​IMG] и [​IMG] ). Заметим, что полученная стена является 2-м объектом на сцене, чего нам не надо. Поэтому выбираем объект «город», и на стеке модификатора в его настройках нажимаем attach, после чего щелкаем на внутреннюю стену. Теперь у нас только один объект на сцене. Таким образом, создаем и остальные стены.
    На заметку: не забывайте настраивать полигоны при выдавливании, в тех местах, где у нас будут ответвления от внутренних стен.
    [​IMG]

    11. Теперь надо убрать созданные нами разрывы в проходах. Делаем это, так же как и при создании дома. Так же надо создать разрывы внизу каждой стены, поэтому выделяем полигоны снизу и удаляем их.

    12. Город создан, только не хватает домов, и того на чем это будет располагаться. Сначала создадим землю. В этом случае можно использовать несколько 2 метода, в зависимости от того, что мы хотим получить: ровную или холмистую поверхность. Первый метод: а) нужно просто создать плоскость; б) создать множество плоскостей, объединить с нашей моделью и сшить границы. При втором же методе создается плоскость, к которой применяется модификатор Noise.
    +: 1.а) используется наименьшее количество полигонов; 1.б) модель получается более качественно, т.к. не будет присутствовать разрывов полигонов.
    [​IMG]
    -: 1.б) количество полигонов значительно возрастет; 2) для города совсем не нужны неровности.

    В данном уроке будем использовать способ 1.а. Итак, создаем плоскость 5 на 5 полигонов, размер подгоняем под город. Выбираем модель «город» > нажимаем attach > щелкаем на плоскость.

    13. На нашей плоскости осталось создать только дорожки.
    [​IMG] Выбираем редактирование граней. Включаем инструмент Cut и производим разрезы, как показано на рисунке.
    [​IMG]

    [​IMG] 14. При текстуринге города будем брать за основу Multi-Sub-object.
    [​IMG] Включаем редактирование полигонов. Теперь подготовим модель для дальнейшего нанесения текстур. Выделяем полигоны и назначаем ID:земля (ID 5),дорожки (ID 6),внешние стены (ID 7),верхушка стен (ID 8),внутренние стены (ID 9). Заметим, чтоID 1-4 использовались для дома.


    15. Осталось вставить объекты, которые Вы считаете нужными для города, в нашем случае это будут дома. Если Вы все создавали на одной сцене, то щелкните правой кнопкой мыши и выберите «отобразить все». Если же Вы создавали дом отдельно, то сохраните текущую сцену и загрузите сцену с домом. Выделите дом и экспортируйте его в формат 3ds. Загрузите сцену с городом и импортируйте дом. Производим расстановку домов используя [​IMG] и [​IMG], а так же регулируя размеры с помощью [​IMG]. Чтобы дублировать объект зажимаем Shift и тянем данную модель.

    16. Осталось объединить все объекты сцены в один (как и раньше выбираем объект «город» > attach > щелкаем на дома).

    17. Город создан, осталось только нанести текстурки.
    [​IMG]

    4. Способы создания территории

    В этом разделе мы рассмотрим как можно создать территорию используя тот или иной способ. Всего я приведу 5 примеров, итак приступим:
    1. Наиболее часто применяют модификатор Noise. Его основной функцией является создание холмистой местности. Для этого создаем плоскость со значительным количеством полигонов; применяем модификатор; ставим галочки рядом с fractal (по умолчанию значения стоят: roughness=0, iterations=6), выставляем значение strength по Z (зависит от взятого вами масштаба).
    [​IMG]

    2. Используя первый способ, получается монотонная холмистая местность, поэтому лучшим способом является применение модификатора Displace. Его основной функцией является создание горной местности, но так же можно создавать и холмистую местность (указывая в настройках не большие высоты). Для этого заранее создаем материал (нажимаем М на клавиатуре) с картой (map) – Dent. В настройках указываем size=800, tiling по X, Y, Z=0,2. Создаем плоскость, применяем модификатор, и в его настройках, где просят указать map, ссылаемся на только что созданную карту (так же можно использовать готовый рисунок (bitmap)). Настраиваем высоту (strength). Таким образом, мы получили тот или иной ландшафт. Смысл заключается в том, что модификатор в зависимости от тона цвета поднимает или опускает участки территории (чем светлее, тем выше).
    [​IMG] [​IMG]

    3. Этот способ, наверное, является самым простым и заключается в простом поднятии или опускании вершин (vertex). Для этого создаем плоскость, преобразуем ее в editable poly или editable mesh, переходим в режим редактирования вершин и творим.

    [​IMG] 4. Если Вы знаете Автокад, то создав там линейную заготовку, импортировавв 3d-max и применив в разделе объектов - terrain, получим красивую холмистую местность.


    [​IMG] 5. Если Вы хотите более качественного результата, то придется применитькакой-нибудь из существующих плагинов (mountain, miner, 3d surf, terrine material).


    Вот мы и подошли к концу. Надеюсь, Вам понравился мой ну совсем не маленький урок и пригодится в будущем.


    Автор - BlackMag.
     
    Последнее редактирование: 4 авг 2016
    Поблагодарили Gor Na Drak, Defman и hell9999.
Статус темы:
Закрыта.

Поделиться этой страницей