Alex6669 Posted June 16, 2012 Share Posted June 16, 2012 В прошлом гайде я описал алгоритм извлечения игровых моделей World of Tanks и обратный процесс их конвертации в формат игры.Судя по откликам, которые собрал текст, большинство читателей не являются трехмерщиками и в процессе ознакомления сталкиваются с вопросами, выходящими за рамки нюансов извлечения и экспортирования игровых моделей движка BigWorld. Для успешного понимания материала и реализации своих творческих задумок, им можно порекомендовать ознакомиться с уроками по полимоделированию и текстурированию в 3DSMAX.Данный и предыдущий текст рассчитан на пользователя, уже обладающего определенным багажом знаний по трехмерной графике. В уроке будут рассмотрены только такие нюансы работы, которые касаются исключительно условностей BigWorld и могут быть получены только эмпирическим путем.Итак закончим лирику и перейдем к уроку про риггинг танка. Как я уже отмечал в комментариях к первому гайду, анимация в WOT в основном параметрическая - игрок нажимает на клавишу "вперед" и катки танка вращаются на определенное количество градусов. Аналогичным образом воспроизводится анимация выстрела, откат орудия, дым из выхлопных труб, крен корпусом и т.п. Ключевые кадры при этом не используются.Для того чтоб ваш модифицированный танк мог все это совершать, ему необходимо назначить "кости" и привязать к ним части модели. Этим мы сейчас и займемся. Для экспериментов возьмем AMX 12t. Он интересен тем, что его пушка (как и пушки остальных французов с качающимися башнями) является одним объектом с непосредственно качающейся башней. А turret - это лишь чаша с крепежами пушки (см. картинку)Чтобы читатель оценил наглядно "было-стало" пушку 12t, я уже подставил ему башенный пулемет и изменил величину ствола поставив дульный тормоз от Бачата. Методы извлечения моделей описаны в первом гайде.Нам необходимо выяснить какие "кости" (или хелперы другими словами) управляют пушкой. Для этого обратимся к оригинальному .visual файлу Gun_03.visualВ нем мы обнаружим следующие строки:<identifier>Scene Root</identifier><transform><row0> 1.000000 0.000000 0.000000 </row0><row1> 0.000000 1.000000 0.000000 </row1><row2> 0.000000 0.000000 1.000000 </row2><row3> 0.000000 0.000000 0.000000 </row3></transform><node><identifier>Gun</identifier><transform><row0> 1.000000 0.000000 0.000000 </row0><row1> 0.000000 1.000000 0.000000 </row1><row2> 0.000000 0.000000 1.000000 </row2><row3> 0.000000 0.000000 0.000000 </row3>и т.п.identifier - говорит нам о том, что это некий узел, который чем-то управляет. Из названия не трудно понять чем именно, но в рамках урока я разберу все айдентиферы пушки: Scene Root - базовый хелпер, он создается автоматически при экспорте, его мы игнорируем; Gun - главный хелпер-родитель всей пушки, к нему иерархически привязываются остальные хелперы; G - хелпер отвечающий за ствол, именно он "откатывает" орудие назад; HP_gunFire - узел из которого исходит огонь и дым во время выстрела; G_BlendBone и Gun_BlendBone - создаются автоматически, нам не требуются. Итак, перед нами сцена с уже спозиционированной пушкой, с правильным масштабом - модель с произвольным именем, например Gun (как позиционировать и подгонять масштаб я рассказывал в предыдущем гайде). Создаем для нее три Dummy объекта (Create->Helpers->Dummy) и расставляем их. Gun - в начале координат 0,0,0 остальные по логике вещей: G - у начала ствола, HP_gunFire - у дульного тормоза.Создадим правильную иерархию хелперам, к счастью их не много (в отличии от ходовой):HP_gunFire линкуем к Gun и G также линкуем к Gun . На мой взгляд правильно чтоб огонь из ствола однажды появившись не откатывался вместе со стволом. Но если вы считаете иначе, то линкуйте по порядку HP_gunFire -> G -> Gun.Теперь нам необходимо связать вершины ствола с хелпером G, а вершины башни с Gun. Назначаем модификатор Skin нашей модели и добавляем эти два хелпера как кости.Расставим вес вершинам для каждой кости - вершины башни Gun=1, G=0; вершины ствола Gun=0, G=1.Осталось назначить материал. В отличии от статичных частей модели танка, ствол, ходовая и т.п. подвижны, поэтому используем шейдер normalmap_specmap_skinned.fxОстается экспортировать нашу пушку. Настройки экспорта:Копируем и заменяем Gun_03.primitives. Открываем оригинальный (о том как его распаковать и подготовить к использованию читайте в первом гайде) и только что созданный .visual и начинаем переносить информацию.Для начала заменим запятые на точки в нашем сгенерированном .visual. Теперь обратим внимание, что названия хелперов костей немного отличаются. Так в оригинале G_BlendBone, а у нас GBlendBoneGun - меняем на наше название. Также меняем строки со всеми координатами на новые:<row0> 1,000000 0,000000 0,000000 </row0><row1> 0,000000 1,000000 0,000000 </row1><row2> 0,000000 0,000000 1,000000 </row2><row3> 0,000000 0,152282 1,166140 </row3>В разделе geometry заменяем gun_0Shape3.vertices и gun_0Shape3.indices на наши новые Gun.vertices и Gun.indices.Меняем название материала пушки tank_mat_skinned на ваш.И наконец заменяем подчистую раздел boundingBox. Сохраняем, запускаем игру и тестируем.Если пушка встала криво, например повернута на 90 градусов или по габаритам не подошла (хотя если вы нормально подготовили геометрию до всех манипуляций то все должно быть ок) - возвращаемся в 3DSMAX, удаляем skin, проверяем все, проверяем оси координат, снова настраиваем skin, экспортируем и проверяем.Так до победного.Я прилагаю файл настроенной сцены для 3DSMAX 2009 (32bit) к уроку. Архив с моделью танка. 7 1 @ Quote Link to comment Short link Share on other sites More sharing options...
Alex6669 Posted June 23, 2012 Author Share Posted June 23, 2012 Судя по всему на форуме очень туго с переходами по темам, поэтому акцентирую внимание еще и на ходовой. @ Quote Link to comment Short link Share on other sites More sharing options...
Armored Posted June 23, 2012 Share Posted June 23, 2012 (edited) Извените за глупый вопрос Например, я сделал модель башни PzIII с командиром, но командир просто нелепо торчит из башни... Вопрос: возможно ли сделать так, чтобы его "укачивало" при езде?? Edited June 23, 2012 by Armored @ Quote Link to comment Short link Share on other sites More sharing options...
Alex6669 Posted June 23, 2012 Author Share Posted June 23, 2012 (edited) Скорее всего нет, т.к. при езде в танке нет ничего похожего на анимацию покачивания. Если бы были какие-нибудь анимированные антенны, тогда да. Edited June 23, 2012 by Alex6669 @ Quote Link to comment Short link Share on other sites More sharing options...
Armored Posted June 23, 2012 Share Posted June 23, 2012 Я вот этого и боялся, надеюсь что с появлением физики и подвески танка, это станет воплотимым) @ Quote Link to comment Short link Share on other sites More sharing options...
Armored Posted June 23, 2012 Share Posted June 23, 2012 (edited) Вроде бы сделал, игра поняла модель щас потестим.. итог: пушка развернута оказалась на 180 градусов назад, торчит из задницы башни, я весь в печали пробовал развернуть в редакторе-бесполезно, итог тот-же придется заново делать? Edited June 23, 2012 by Armored @ Quote Link to comment Short link Share on other sites More sharing options...
Alex6669 Posted June 24, 2012 Author Share Posted June 24, 2012 ось координат у пушки переверни. @ Quote Link to comment Short link Share on other sites More sharing options...
NooBiSiEr Posted June 24, 2012 Share Posted June 24, 2012 Я вот этого и боялся, надеюсь что с появлением физики и подвески танка, это станет воплотимым) Это и с появлением подвески танка будет невозможным. Анимация подвески танка, если она будет, будет контролироваться скриптами игры, а не заранее прописанными ключами. Анимацию сделать можно, при наличии python программиста, и python декомпилятора. 1 @ Quote Link to comment Short link Share on other sites More sharing options...
Fall Posted June 25, 2012 Share Posted June 25, 2012 (edited) Вроде бы сделал, игра поняла модель щас потестим.. итог: пушка развернута оказалась на 180 градусов назад, торчит из задницы башни, я весь в печали пробовал развернуть в редакторе-бесполезно, итог тот-же придется заново делать? Как не странно у меня тоже самое)) Повозился я чуток с моделью, с *.visual тоже итог тот же - пока заброшу эту затею в дальний, пыльный угол. Лучше буду делать то что могу. Edited June 25, 2012 by Fall @ Quote Link to comment Short link Share on other sites More sharing options...
Armored Posted June 25, 2012 Share Posted June 25, 2012 (edited) Все, я научился, все офигенски получается! Тока есть еще вопрос общий по поводу моделей всех, при определенном расстоянии они становятся прежними, ну я кинул то же самое в папку lod1 и нифига не пашет вопрос: почему?? всмысле клиент не хочет работать с ними Edited June 25, 2012 by Armored @ Quote Link to comment Short link Share on other sites More sharing options...
Alex6669 Posted June 25, 2012 Author Share Posted June 25, 2012 Не интересовался. Если не пашет, скорее всего структура lod1 отличается от lod0 может там какие-то свои node's с другими именами. @ Quote Link to comment Short link Share on other sites More sharing options...
NooBiSiEr Posted June 25, 2012 Share Posted June 25, 2012 Все, я научился, все офигенски получается! Тока есть еще вопрос общий по поводу моделей всех, при определенном расстоянии они становятся прежними, ну я кинул то же самое в папку lod1 и нифига не пашет вопрос: почему?? всмысле клиент не хочет работать с ними Потому что лоды надо настраивать, а не тупо кидать одни и те же файлы в разные папки. @ Quote Link to comment Short link Share on other sites More sharing options...
Armored Posted June 25, 2012 Share Posted June 25, 2012 Как не странно у меня тоже самое)) Повозился я чуток с моделью, с *.visual тоже итог тот же - пока заброшу эту затею в дальний, пыльный угол. Лучше буду делать то что могу. дело в том, что у этой игры Back это Front, a Front это Back надо помнить это и ошибок не будет) @ Quote Link to comment Short link Share on other sites More sharing options...
Armored Posted June 25, 2012 Share Posted June 25, 2012 Потому что лоды надо настраивать, а не тупо кидать одни и те же файлы в разные папки. я догадывался, но это не является ответом :\ @ Quote Link to comment Short link Share on other sites More sharing options...
Fall Posted June 26, 2012 Share Posted June 26, 2012 (edited) Не интересовался. Если не пашет, скорее всего структура lod1 отличается от lod0 может там какие-то свои node's с другими именами. я догадывался, но это не является ответом :\ Ну в этом направлении я продвинулся, абсолютно ничего сложного в создании лодов нет. Для того что бы заработало можно изменить лишь одну строчку в файле *.visual <node> <identifier> lod1 </identifier> <transform> <row0> 1.000000 0.000000 0.000000 </row0> <row1> 0.000000 1.000000 0.000000 </row1> <row2> 0.000000 0.000000 1.000000 </row2> <row3> 0.000000 0.000000 0.000000 </row3> </transform> <node> Но это еще не все, если надо добиться идеального результата тогда нужно еще и замоделить упрощенную lod1 версию, если изменения на танке не глобальные lod2 можно не менять. Edited June 26, 2012 by Fall @ Quote Link to comment Short link Share on other sites More sharing options...
Kuzmich Posted August 10, 2012 Share Posted August 10, 2012 (edited) Спасибо за туториал. Что я сделал не так, не заю куда копать: это при выстреле. А так все нормально Edited September 20, 2012 by Kuzmich 1 @ Quote Link to comment Short link Share on other sites More sharing options...
D-fence Posted September 12, 2012 Share Posted September 12, 2012 Здравствуйте все! Я совсем недавно начал пробовать себя в моделировании, поэтому вопрос может показаться банальным. Тем не менее, выполняя гайд по экспортированию пушки я наткнулся на небольшую неприятную проблему - в игре экспортированная пушка освещается снизу, а не сверху, а сверху у нее тень. Я пробовал всевозможные манипуляции с visual файлом, выворачивал нормали самой модели, но все бестолку. Причем экспорт обычных элементов танка, без костей, у меня проходит нормально, и башня, и корпус полностью соответствуют оригиналу (в смысле работоспособности)). Проблема именно с пушкой. Скриншоты для пояснения Танк освещается нормально, тень снизу. У пушки тень сверху. Всевозможные переворачивания координат костей пушки результатов не дают. Чтобы никого не смущало - корректировок почти не заметно на скриншотах потому как я только тренировался. Вот так. Помогите кто может. @ Quote Link to comment Short link Share on other sites More sharing options...
Конь-Огонь Posted September 12, 2012 Share Posted September 12, 2012 Здравствуйте все! Я совсем недавно начал пробовать себя в моделировании, поэтому вопрос может показаться банальным. Тем не менее, выполняя гайд по экспортированию пушки я наткнулся на небольшую неприятную проблему - в игре экспортированная пушка освещается снизу, а не сверху, а сверху у нее тень. Я пробовал всевозможные манипуляции с visual файлом, выворачивал нормали самой модели, но все бестолку. Причем экспорт обычных элементов танка, без костей, у меня проходит нормально, и башня, и корпус полностью соответствуют оригиналу (в смысле работоспособности)). Проблема именно с пушкой. Скриншоты для пояснения Танк освещается нормально, тень снизу. У пушки тень сверху. Всевозможные переворачивания координат костей пушки результатов не дают. Чтобы никого не смущало - корректировок почти не заметно на скриншотах потому как я только тренировался. Вот так. Помогите кто может. Похоже у вас просто пушка перевёрнута низом вверх) А то что вы называете тенью это текстура) Инвертируйте оси и экспортируйте заново) Поиграйтесь с вращением модели пушки в общем, пока не подберёте правильное положение) @ Quote Link to comment Short link Share on other sites More sharing options...
D-fence Posted September 12, 2012 Share Posted September 12, 2012 Похоже у вас просто пушка перевёрнута низом вверх) А то что вы называете тенью это текстура) Инвертируйте оси и экспортируйте заново) Поиграйтесь с вращением модели пушки в общем, пока не подберёте правильное положение) К сожалению все не так просто, я вертел пушку, это ничего не дает. Возможно скриншоты темные, не совсем видно, но там пушка стоит в правильном положении и правильно повернута, я ориентировался по прицельным щелям на маске. Весь прикол именно в том, что их можно разглядеть, но они в тени)) В общем продолжаю борьбу... @ Quote Link to comment Short link Share on other sites More sharing options...
Конь-Огонь Posted September 20, 2012 Share Posted September 20, 2012 Настройка орудия танка World of Tanks в 3DS MAX 6 @ Quote Link to comment Short link Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.