Jump to content
Korean Random

Leaderboard


Popular Content

Showing content with the highest reputation on 07/27/2019 in all areas

  1. 2 points
    Привет, 6 августа 2019 года выйдет обновление 1.6. Папки модов будут называться /mods/1.6.0.0/ и /res_mods/1.6.0.0/
  2. 1 point
    В прошлом гайде я описал алгоритм извлечения игровых моделей 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) к уроку. Архив с моделью танка.
  3. 1 point
    Недавно вспомнил, что когда-то картоха обещала свой шутер. Решил посмотреть, что же они там сделали к этому дню) Походу готовятся к бета тесту. Может кто-нибудь с форума играл на альфа тесте? Стоит записываться на бету?
  4. 1 point
    В игре оно наконец-таки отобразилось корректно. После импорта в Максе необходимо поменять первый и второй каналы развёртки местами, чтобы отобразилось корректно. Проблема решена.
  5. 1 point
  6. 1 point
  7. 1 point
  8. 1 point
    UNKNOWN = 0 REGULAR = 1 TRAINING = 2 TOURNAMENT = 4 CLAN = 5 TUTORIAL = 6 CYBERSPORT = 7 EVENT_BATTLES = 9 GLOBAL_MAP = 13 TOURNAMENT_REGULAR = 14 TOURNAMENT_CLAN = 15 RATED_SANDBOX = 16 SANDBOX = 17 FALLOUT_CLASSIC = 18 FALLOUT_MULTITEAM = 19 SORTIE_2 = 20 FORT_BATTLE_2 = 21 RANKED = 22 BOOTCAMP = 23 EPIC_RANDOM = 24 EPIC_RANDOM_TRAINING = 25 EVENT_BATTLES_2 = 26 EPIC_BATTLE = 27 сорян, в локализацию влом
  9. 1 point
    Проблема была в моде от товарища @Ekspoint, а конкретно - Калькулятор эффективности в бою. Покатал без него - проблем никаких не было
×
×
  • Create New...