PDA

View Full Version : Урок: Hard Points, Texturing


Orphey_OZ
11-27-2007, 12:32 AM
Hard Points, Texturing


Итак, у нас есть Maya(у меня 5.0) и Relic Maya Tools, взятых, кстати, с той страницы, что я давал в начале где-то, там ещё папка Shaders -обязательно скачайте! Ну, когда с горем пополам разобрались с Туулз, то запускаем Майю.

1) Если мы всё сделали правильно, кроме вкладок "Custom","Fluids","Meshes" и т.д. у нас должна быть ещё и вкладка Relic Tools.

2) Импортируем в Майю собственно кораблик. Если нету, можно для начала конусы насоздавать (сорри, нет пока картинок). Называем его "имя_объекта_LOD0", что показывает, что данный меш будет отображаться при максимальном наезде камеры на него. Если нужно, чтобы меш был "подальше", называете его "то_же_имя_LOD1" и т.д. до трёх. (аналогично ко всем остальным мешам(пушки, двиглы) добавляется постфикс _LOD#)

3) ВАЖНО: Идём во вкладку "Движения", там должен быть объект Joint, выглядит как три шарика, друг с другом соединённые синими полосочками. В общем, поймёте. Называете его Root(!!!иначе нельзя!!!),
после чего заходите в Hypergraph (не знаю, как вы его найдёте в русских версиях - Гиперграфик его переводят =)), я лично щёлкаю на кнопку со стрелкой вниз в правом низу экрана, там выбираю Hypergraph. В нём!!! видим два объекта (в идеале), ваш меш и Joint Root. Нужно их спарить, то есть ваш меш сделать дочерним объектом по отношению к Джоинту. Как это делается? Очень просто - щёлкаем на среднюю клавишу мыши, перетаскиваем меш на Root и вуаля! Видим серую линию, которая и показыает, что отныне они связаны узами "один-к-одному"

4) На вкладке Relic Tools клавиша "Create HW2 Shader", жмём её.

5)Теперь разберёмся с объектом. Жмём по нему пкм, выбираем самый верхний пункт, который ещё с троеточием. Открываются атрибуты. Там во вкладках выбираем InitialShadingGroup, для материала поверхности вместо "lambert" набираем "hw2Shader". Шарик вверху должен поярчать. Появилась новая вкладка - hw2Shader. Заходим в неё, идём вниз, смотрим парамы списка "HW2 Shader Attributes", там выбираем нужный атрибут (ship.st, рекомендую). После чего можно экспортировать в Hod, он должен появиться в списке экспорта. Дальнейшее после, я пошёл по сетке в Хому гамиться.
Дальнейшее расскажу позже чуть.

Итак, сегодня мы проHODим текстуры. Без них у вас получится только чёрное пятно. Вопрос: Как затекстурить корабль в Майе(5.0), если есть моделька, и уже успешно сделаны предыдущие пять шагов?

6)Снова входим во вкладку hw2Shader. Сразу вверху видим параметр Сolor, рядом - квадратик чёрно-белый. Жмём на него. открывается окно выбора текстуры, выбираем File. После этого видим чёрный квадратик и чуть ниже иконку папки. Тут вы разберётесь, я думаю, чё может быть проще - выбираете текстуру или PSD, или TGA uncompressed RLE+depth32.

7) Итак, у вас теперь есть картинка. ВЫбираем меш, держим ПКМ, выбираем Face, выбираем все! Теперь жмём на вторую сверху иконку стола справа (на нижней панели) - там четыре окна проекции. Выбираем то, на которое проектируем текстуру и! самое главное! Жмём пробел->Edit Polygons->Texture->Automatic UVW Mapping. Всё, теперь у нас есть UV-точки.
8)Опять возвращаемся к виду с одним окном проекции (первая слева сверху кнопка (на нижней панели)). Не снимая выделения с объекта жмём на кнопку со стрелкой вниз, выбираем уже не Hypergraph, а UV texture editor. Там видим коричневые линии, всё непонятно и не хочет выделяться. Идти пить кофе сразу не надо, нужно снова зажать ПКМ и выбрать UV. Теперь можно выделять, берём весь объект. С помощью кнопок управления на левой верхней панели подгоняем текстуру под объект, готово! Можете экспортировать.
Это, конечно, я очень сжато всё сказал, можно разные части проектировать на разные окна проекции и всё такое эцетера, но для начала пойдёт. На следующем "уроке" будем проходить Хардпоинты пушек (наконец-то!). Если что-то непонятно, не стесняйтесь, пишите в соседнюю тему.

Ну, я думаю, пора уже пустить по рукам и последний из крупных туториалов. Взят также из моего личного опыта. Урок третий: Конфигурация точек привязки (хардпойнтов).
Сначала - некоторое лирическое отступление. для того, чтобы корабль имел двигатель, нужны хардпойнты.Для того, чтобы он стрелял, нужны хардпойнты. Так что без них в военное время никак не обойтись! Итак, обычный корабель в Homeworld II имеет такую иерархию узлов в Hypergraph (я думаю, вы уже запомнили как в него входить и создавать узлы (Joints) и родительские->дочерние связи между ними - из прошлых шагов )
жирным шрифтом выделены узлы, обычным - всё остальное



+Root
--Rootmesh_LOD0
--Rootmesh_LOD1
--Rootmesh_LOD2
--Rootmesh_LOD3
-+EngineNozzle1 --позиция двигателя
---EngineShape1 --Квадрат (объект Plane, вкладка "многоугольники"), сторона которого - ширина инверсионного следа в игре, располагайте там же, где и родительский EngineNozzle. Пжалста, делайте наименее детализированным, четырех точек хватит!
--+EngineBurn1 --квадрат, но здесь важна только его позиция. Тоже делайте наименее детализированным и располагайте чуть ближе к двигателю чем EngineShape - он указывает на начало свечения вокруг двигателя.
----curve1 --сплайн (любой объект из вкладки "Кривые"), первая точка которого имеет начало в центре координат. Указывает на свечение вокруг двигателя. в игре каждая точка этого сплайна будет светиться, тем меньше, чем дальше она от начальной (той, что в начале координат). Вместе эти точки и создают свечение.

-+EngineNozzle2 --позиция второго двигателя
---EngineShape2
--+EngineBurn2
----curvesecond

-+Weapon_Gun1_Position --позиция первой пушки
---gunmesh_LOD0
---gunmesh_LOD1
---gunmesh_LOD2
---gunmesh_LOD3
---Weapon_Gun1_Direction
---Weapon_Gun1_Rest
--+Weapon_Gun1_Latitude
---+Weapon_Gun1_Muzzle
-----turretmesh_LOD0
-----turretmesh_LOD1
-----turretmesh_LOD2
-----turretmesh_LOD3
--Это всё одноствольные поворачивающиеся пушки
-+Weapon_GunFront_Position --позиция второй пушки
---gunmesh_LOD0
---gunmesh_LOD1
---gunmesh_LOD2
---gunmesh_LOD3
---Weapon_GunFront_Direction
---Weapon_GunFront_Rest
--+Weapon_GunFront_Latitude
----Weapon_GunFront_Muzzle
-----turretmesh_LOD0
-----turretmesh_LOD1
-----turretmesh_LOD2
-----turretmesh_LOD3




Такую картину можно видеть, открыв HOD-файл с помощью проги hardEd, что я давал на первой странице.
Насчёт того, как располагаются узлы пушек - вот картинка.
http://www.homeworld3.ru/forum/attachment.php?attachmentid=1437&stc=1&d=1196112644

А теперь, собственно, объяснение хардпоинтов! Внимание! имена узлов чувствительны к регистру!

1) узлы двигателей должны быть поименованы как "EngineNozzle#", где # принимает значения 1 и более

2)Узлы для создания инверсионных следов должны быть поименованы как "EngineShape#", где # совпадает с номером родительского EngineNozzle.

3) Аналогично у узлов для создания свечения - имя "EngineBurn#" где # совпадает с номером родительского EngineNozzle.

4) Имя сплайна, дочернего к EngineBurn - любое.

5) Имена мешей, дочерних к тому или иному узлу - любые с постфиксами "LOD#" где # обозначает уровень детализации. Само собой, что детализацию этих мешей мы сами делаем в Майе.

6) Имена узлов оружия должны быть "Weapon_Name_Jointname", где Name - имя пушки, может быть любым, но у узлов, дочерних к Position - такое же, как и у родителя. Jointname:

а) "Position"(дочерний к Rootб сюда цепляйте меш собственно пушки)
б) "Direction"(дочерний к Position)
в) "Rest"(дочерний к Position)
г) "Latitude"(дочерний к Position, его наличие условно, он есть, если пушка будет поворачиваться)
д) "Muzzle"(дочерний к Latitude, если пушка будет поворачиваться, к Position в противном случае. Сюда цепляется меш ствола)

Lesson is created by Dron01

Filipp
05-30-2014, 11:49 AM
Есть вопрос. А как отметить любой объект подсистемой? И обязательно надо отделять объекты для приведённых выше манипуляций?

Pandorazero
05-30-2014, 11:59 AM
Есть вопрос. А как отметить любой объект подсистемой? И обязательно надо отделять объекты для приведённых выше манипуляций?

Филип ты имееш программу Скайп для общения ?, если да то я могу помочь с вопросами по модингу - я в скайпе называюсь Pandorazero
Нащет твоего вопроса , да подсистема это одельная модель которая цепляется на определенное место !