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

19.06.2009 в 21:35
Пишет
Betrayed and Betrayer:
Creating custom armor, или "как я это делаю"Продолжение. Предупреждаю заранее, с максом я обращаюсь на уровне ну очень ламерообразного пользователя, и о том, что, возможно, для многих задач, здесь описанных, существует более простое решение - могу не подозревать. Но. Если хоть кто-то считает, что моя жалкая писанина достойна внимания - выскажитесь, пожалуйста, еще по поводу того, стоит ли мне вот это дублировать в сообщество.
Итак, предположим, что модель, которую нужно загнать в игру, у нас уже имеется в наличии вместе с текстурой. Процесс извлечения моделей доспехов из Lineage подробно в открытой записи описывать не стану, т.к. надеюсь, что источники у всех свои ^_^ если нужно - прошу отметиться в комментах. Для примера, тем не менее, используется модель именно из этой игры. Выглядит сие как-то так:
читать дальше
Я все сама знаю
Основное и необходимоеДля начала не мешало бы подготовить все необходимые текстуры. Для каждой модели, вне зависимости от деталей, текстура должна быть одна. Ее сохраняем в формате DDS и называем, как полагается (в моем случае P_HHM_PF_Body45.dds и P_HHF_PF_Body45.dds, ибо доспех будет всего в двух вариациях - мужской и женской). Открытые участки тела закрашиваем в фотошопе красным (255;0;0), остальное - синим (0;0;255) и зеленым (0;255;0) и сохраняем с _t в конце. Для получения карты нормалей используем фильтр NormalMapFilter (это тот, что появился с установкой поддержки формата DDS). Про альфа-канал, если он имеется, тоже забывать не следует. В конечном счете получиться должно что-то вроде этого (мужская и женская вариации соответственно):


Когда все готово, можно переходить к работе в максе. Не лишним будет для начала взять для основы любую существующую модель (лучше, если деталей на ней как можно меньше). Например, можно вытащить из NWN2_Materials.zip модели P_HHM_NK_Body01.MDB и P_HHF_NK_Body01.MDB и работать впоследствии на них.
Импорт тем, кто читал предыдущее мое излияние, должен быть уже знаком, так что в автоматически созданную после запуска пустую сцену импортируем сначала P_HHM_NK_Body01.MDB. Получаем что-то такое:

От низкополигональных копий основного объекта можно избавиться, т.е. удалить. Теперь выбираем P_HHM_NK_Body01 и скрываем все остальное, как в прошлый раз (правой кнопкой на пустое пространство сцены, Hide Unselected в выпавшем меню). Этот объект переименовываем аналогично тому, какое имя давали текстурам. В моем случае:

Далее - редактируем материал. Что это такое? В моем понимании сие понятие представляет собой набор свойств, регулирующих внешний вид объекта, например прозрачность, фактура, способность отражать свет, бликовать и прочее, а также цвет - однородный или представляющий собой какую-либо текстуру (возможно, даже несколько текстур).
Открываем меню Rendering и выбираем пункт Material Editor, он же редактор материалов (горячая кнопка M на клавиатуре).

Обведенная красным кружком кнопка вызывает инструмент, действующий аналогично пипетке в фотошопе. Клик на объекте загрузит в редактор присвоенный этому объекту материал. Окно изменится и выглядеть станет подобным образом:

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

Собственно, это - уже знакомые diffuse color, tint map и normal map. Открываем поочередно каждую и аналогичным образом переименовываем, после чего кликаем на кнопку с надписью Bitmap и задаем путь к нужной текстуре. Главное - не перепутать. После всех манипуляций модель в окне будет выглядеть примерно так:

В общем, все приготовления закончены, можно проводить экспорт модели в папку override. Как задавать имя, должно быть понятно. Замечу, что отдельно женская модель без мужской в тулсете не появится. Стоять она будет в списке под номером на один ниже того, который задан файлу модели. При желании можно проверить, все ли сделано верно.
Теперь импортируем нужную модель, процедуру описывать не буду - но, в общем, при помощи инструментов Move, Rotate и Scale подгоняем модель к соответствующему размеру и водружаем на нужное место. Над этой новой моделью издеваемся до тех пор, пока она не окажется точно на месте первой по всем трем осям, проверяем по виду в каждом окне.

Выбрав ее, перемещаемся во вкладку Modify. Как мы видим, конечности начальной модели обрубаются на уровне колен и запястий - сделано это для смены перчаток/ботинок (которые, в свою очередь, тоже представляют из себя модели). Подобным образом лучше поступить и с новой моделью - выбираем нужные части, удаляем нажатием Delete.

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

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

Вся вышеописанная работа проводилась с отдельным импортированным объектом. Теперь любым удобным способом выбираем тот, по которому мы ориентировались, и возвращаемся к Modify, жмем на Editable Mesh. Картина знакомая:

Как можно заметить, одна из немногих доступных кнопок подписана как Attach. Она-то нам и нужна. Несложно догадаться, что производит сия кнопка действие по присоединению одной модели к другой. Таким образом, клик на новой модели "приаттачит" ее к старой.

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

Повертев модель в тулсете, можно обнаружить, что :
1. Части, которые должны быть двусторонними, на самом деле таковыми не являются, что не совсем эстетично. Исправить это просто - выбираем элемент (убедившись, что активен один из изменяющих инструментов), кликаем на него с зажатой кнопкой Shift на клавиатуре, выбираем Clone to Element в открывшемся окне (или не меняем, если оно и выбрано). Поясняю, что произошло: мы клонировали выбранный элемент, причем он оказался выбранным. Прокручиваем панель справа вниз, пока не появится заголовок стека Surface Properties.

Нашей целью является кнопка Flip, поворачивающая нормали выбранных полигонов. Щито это значит? Вообще в геометрии применительно к 3D-моделированию нормали символизируют направление в пространстве. То есть, нажатие кнопки Flip меняет это направленп на обратное, и, таким образом, делает видной обратную часть детали. (как-то, наверное, можно провести аналогичную работу, не делая копий элемента, но я не знаю, как)
2. По умолчанию модели игры не поддерживают альфа-канал, но это можно изменить, прогнав файл через MDB Cloner и поставив галочку на Use Alpha Transparency.
Если кто-то вообще это пробует и что-то еще не выходит - в комменты.
Вышеописанные манипуляции значительно улучшили внешний вид моей модели:
Кагбе повышенный уровень сложности - основы работы со скелетомВ принципе, на этом я могла бы завершить издевательство над коллективным разумом ПЧ, но я все-таки продолжу. Дело в том, что есть еще одна вещь, заслуживающая нашего внимания, и это скелет. Раскрыв список модификатора Skin и ткнув на Envelope внутри, мы увидим следующее:

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

Исправить это не так уж сложно. Чуть ниже находится стек Weight Properties. Обведенная кнопка вызывает Weight Tool.

Что эта штука делает - будет видно дальше. Т.к. галочка на Vertices у нас стоит, можно выделять отдельные точки. Берем те, которые окрашены, но принадлежать выбранной кости не должны.

Теперь обращаем свой царственный взор на окно Weight Tool и видим, что нужная кость уже выбрана:

Weight, или вес, в данном контексте означает... ну, силу влияния данной кости на выбранную точку
Кнопка 0, как можно догадаться, это влияние обнулит.

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


Чтобы сделать модель доступной для эльфов, надо всего лишь переименовать в "P_EEM/F..." объект, материал и сохранить под соответствующим именем.
И последнее. Для тех, кому пофиг на Лакс с ее писаниной, но понравились картинки - скачать результат можно
здесь, в игру вызывается читом giveitem lx_drake_leather_kamael.
URL записи
@темы:
любопытная информация,
полезные советы
Вообще с последними (подразумеваю как минимум 2009-2012) версиями макса у меня тоже не складывалось. Если правильно помню - пользовалась в основном восьмым, все необходимое там есть, из-под 64-битной семерки запускается без дополнительных танцев с бубнами (хотя вот я на семерке вроде даже пятый макс умудрялась запускать, когда захотелось вклиниться своими непрямыми ручками в модели первого НВН). Во времена написания поста последней версией плагина для импорта-экспорта mdb была 1.20, у меня она производила какие-то (уже не вспомню, какие) неприятности, поэтому ставила раннюю, которой на ваулте уже нет. Залила пока вот сюда. В случае неудачи с восьмым максом можешь глянуть хотя бы через MDBCloner, что прописано вместо текстур у модели из gmax'a. Если все как надо, но текстура не видна в игре - наверняка в материале что-то сбилось.
В плане простоты моддинга НВН2 очень удобно и понятно устроен, не в пример многим другим играм, так что пробуй. Удачи.