Gildor's Forums

Author Topic: Dragon Ball FighterZ  (Read 1346 times)
RedBear
Full Member
***
Posts: 226


View Profile
Dragon Ball FighterZ
« on: October 07, 2018, 17:54 »

Здравствуйте, Гилдор.

На днях пытался импортировать в 3ds Max персонажей из игры и в очередной раз убедился, что он сделан явно не для людей.
Проблема заключается в том, что меш персонажа импортируется вместе с, так называемыми, шелл-мешами.
Удалить эти шелл-меши средствами 3ds max мне так и не удалось. Хотя, в Блендере данная проблема решается в 2 щелчка:
https://www.youtube.com/watch?v=HZGa64U9cGw
Очередной раз убеждаюсь, что Блендер сделан для людей. Sad

Подскажите, нельзя ли добавить в Umodel/ActorX опцию экспорта/импорта разделенных по материалам мешей?
« Last Edit: October 07, 2018, 17:56 by RedBear » Logged
Gildor
Administrator
Hero Member
*****
Posts: 7969



View Profile WWW
Re: Dragon Ball FighterZ
« Reply #1 on: October 07, 2018, 18:56 »

Здравствуйте, Гилдор.
Здравствуйте.
Quote
Удалить эти шелл-меши средствами 3ds max мне так и не удалось. Хотя, в Блендере данная проблема решается в 2 щелчка:
Я думаю что в Максе это сделать можно, просто вы (и естественно я) не знаете как.
Quote
Очередной раз убеждаюсь, что Блендер сделан для людей. Sad
Я Блендер не знаю, и чтобы сделать простейшие вещи которые решаются в Максе и Майе "интуитивно", мне приходилось обращаться к людям, которые имеют в нём некоторый опыт Smiley На мой взгляд, в Блендере "всё не как у людей" Smiley
Quote
Подскажите, нельзя ли добавить в Umodel/ActorX опцию экспорта/импорта разделенных по материалам мешей?
Проще разобраться как это сделать в Максе. Пилить меши по материалам - весьма специфичная работа, ну и нетривиальная.
Logged
RedBear
Full Member
***
Posts: 226


View Profile
Re: Dragon Ball FighterZ
« Reply #2 on: October 07, 2018, 20:59 »

Я думаю что в Максе это сделать можно, просто вы (и естественно я) не знаете как.
Для этого существуют максскрипты вроде такого.
До сегодняшнего дня они прекрасно справлялись с этой работой, пока я не попытался применить их на импортированную модель из игры.
Забыл упомянуть, баг это или что, но импортируется модель довольно долго, заставляя Макс зависать на этапе импорта весов (при импорте моделей из других игр такой проблемы нет).
После же импорта, при попытке применения какого-либо скрипта, разделяющего меши по текстурам, или при попытке скопировать веса с помощью стандартной утилиты SkinUtilities Макс крашится. Поэтому как-либо разделить меши по текстурам не выходит. 
Я Блендер не знаю, и чтобы сделать простейшие вещи которые решаются в Максе и Майе "интуитивно", мне приходилось обращаться к людям, которые имеют в нём некоторый опыт Smiley На мой взгляд, в Блендере "всё не как у людей" Smiley
Я с Блендером тоже на ВЫ. Но ввиду отсутствия нужных плагинов\скриптов для Макса вынужден периодически иметь с ним дело.
И чем больше я имею с ним дело, тем больше убеждаюсь, что он, в отличие от Макса, сделан для людей.
Разделение меша по материалам тому один из примеров. В Блендере это делается в 2 щелчка, а в Максе нужно проделать кучу телодвижений.
Logged
Gildor
Administrator
Hero Member
*****
Posts: 7969



View Profile WWW
Re: Dragon Ball FighterZ
« Reply #3 on: October 07, 2018, 21:04 »

Забыл упомянуть, баг это или что, но импортируется модель довольно долго, заставляя Макс зависать на этапе импорта весов (при импорте моделей из других игр такой проблемы нет).
Мой импортёр для Макса оптимизирован так, что дальше что-то улучшать уже не получится. Увы, это MaxScript. В Blender-е используется Python, и он тоже не блещет производительностью, хотя и побыстрее MaxScript-а.
Одним словом, это не баг, это MaxScript.
Logged
RedBear
Full Member
***
Posts: 226


View Profile
Re: Dragon Ball FighterZ
« Reply #4 on: October 07, 2018, 21:21 »

Мой импортёр для Макса оптимизирован так, что дальше что-то улучшать уже не получится. Увы, это MaxScript. В Blender-е используется Python, и он тоже не блещет производительностью, хотя и побыстрее MaxScript-а.
Одним словом, это не баг, это MaxScript.
Да вопрос-то не в оптимизации, а в том, что после импорта моделей именно из этой игры невозможно провести какие-либо действия связанные с весами. Макс просто вылетает.

PS: Сейчас необходимо использовать Noesis, чтобы разделить меши так, как они должны быть (видео). Но на такой меш уже нельзя подгрузить анимации PSA.
Что вновь приводит к танцам с бубном. Sad
Logged
Gildor
Administrator
Hero Member
*****
Posts: 7969



View Profile WWW
Re: Dragon Ball FighterZ
« Reply #5 on: October 07, 2018, 21:29 »

Да вопрос-то не в оптимизации, а в том, что после импорта моделей именно из этой игры невозможно провести какие-либо действия связанные с весами. Макс просто вылетает.
В принципе, скрипт не должен давать возможность "уронить" макс, так что это что-то не то уже с самим Максом. Я бы посоветовал попробовать поставить другую версию Макса и попробовать в ней.
Quote
PS: Сейчас необходимо использовать Noesis, чтобы разделить меши так, как они должны быть (видео). Но на такой меш уже нельзя подгрузить анимации PSA.
Что вновь приводит к танцам с бубном. Sad
Вот именно, надо разделять так, чтобы осталась анимация. И поэтому это нетривиально. Но неужели в Максе нельзя выделить все треугольники на которые назначен определённый материал, и затем их удалить? По-моему это функционал который должен быть в любом редакторе.
Logged
RedBear
Full Member
***
Posts: 226


View Profile
Re: Dragon Ball FighterZ
« Reply #6 on: October 08, 2018, 05:15 »

В принципе, скрипт не должен давать возможность "уронить" макс, так что это что-то не то уже с самим Максом. Я бы посоветовал попробовать поставить другую версию Макса и попробовать в ней.
Я пробовал в 2011 и 2018 Максе. Результат тот же. Еще в листнере есть такой текст:
Code:
Read mesh: 23655 verts, 34500 wedges, 38551 tris, 5 materials, 581 bones, 56639 influences
Loading UV set #2 ...
Loading UV set #3 ...
Unable to find texture material_0
Unable to find texture material_1
Unable to find texture material_2
Unable to find texture material_3
Unable to find texture material_4
Типа акторХ не нашел 5 материалов.
Вот именно, надо разделять так, чтобы осталась анимация. И поэтому это нетривиально. Но неужели в Максе нельзя выделить все треугольники на которые назначен определённый материал, и затем их удалить? По-моему это функционал который должен быть в любом редакторе.
Так я вам про что и толкую. Разделить меш по материалам в Максе можно как вручную, так и путем плагинов\скриптов.
Но при этих манупуляциях удаляется модификатор Скин, поэтому прежде нужно скопировать веса.
Но это не реально в данной ситуации, так как невозможно скопировать веса импортированного персонажа.
МаксЫ тупо вылетают с ошибкой Апликейшн эррор.

У вас есть установленный Макс? Могу скинуть пару файлов, чтобы убедиться, что проблема не в моих Максах.
Logged
Gildor
Administrator
Hero Member
*****
Posts: 7969



View Profile WWW
Re: Dragon Ball FighterZ
« Reply #7 on: October 08, 2018, 10:45 »

Code:
Read mesh: 23655 verts, 34500 wedges, 38551 tris, 5 materials, 581 bones, 56639 influences
Loading UV set #2 ...
Loading UV set #3 ...
Unable to find texture material_0
Unable to find texture material_1
Unable to find texture material_2
Unable to find texture material_3
Unable to find texture material_4
Типа акторХ не нашел 5 материалов.
В данном случае umodel не нашёл эти материалы и сгенерил "пустышки".
Quote
У вас есть установленный Макс? Могу скинуть пару файлов, чтобы убедиться, что проблема не в моих Максах.
Давайте, посмотрю - может psk "битый".

Есть ещё один вариант почему не получается удалить часть меша. При импорте я создаю "multimaterial" - один материал который содержит в себе несколько материалов. Это "наследие" от плагина который использовался как основа для ActorX Imporer. То есть по сути на весь меш мапится ОДИН материал, который внутри как-то разделяется. Я могу попробовать сделать раздельные материалы, может быть это поможет.
Logged
RedBear
Full Member
***
Posts: 226


View Profile
Re: Dragon Ball FighterZ
« Reply #8 on: October 08, 2018, 17:52 »

Давайте, посмотрю - может psk "битый".
Не думаю, что psk "битые", ибо я без проблем конвертировал эти psk в fbx посредством Noesis согласно инструкции из вышеуказанного видео.
Вот несколько psk файлов с конвертированными fbx-аналогами: https://www.dropbox.com/sh/z9xfrabw6aca5cd/AACN_dm4EVSL7UvAhyQ5E_M-a?dl=0
То есть по сути на весь меш мапится ОДИН материал, который внутри как-то разделяется.
Просто каждый "внутренний" в мультиматериале материал назначается по ID на указанные части меша. Виделяешь нужные полигоны меша, присваешь им ID и в мултиматераиале напротив нужного материала указываешь ID нужных полигонов.
Я могу попробовать сделать раздельные материалы, может быть это поможет.
Оно конечно хорошо было бы, но пока остается проблема, не позволяющая копировать веса, это вряд ли поможет. Sad
Logged
Gildor
Administrator
Hero Member
*****
Posts: 7969



View Profile WWW
Re: Dragon Ball FighterZ
« Reply #9 on: October 09, 2018, 11:57 »

Внутри psk что-то странное. Можно прислать мне оригиналы uasset чтобы я проверил экспорт?
Logged
RedBear
Full Member
***
Posts: 226


View Profile
Re: Dragon Ball FighterZ
« Reply #10 on: October 09, 2018, 15:58 »

Внутри psk что-то странное. Можно прислать мне оригиналы uasset чтобы я проверил экспорт?
Без проблем. Залил. Ссылка та же.
Code:
Unreal Engine: 4.17
AES Key: b9uW0RKNY91be8HN3Lemi68j6Xsi2l7fQJYsp5oR4al4C4c9kY5E0l90411l9P3L
Umodel у меня 874 сборки, если это важно.
Logged
Gildor
Administrator
Hero Member
*****
Posts: 7969



View Profile WWW
Re: Dragon Ball FighterZ
« Reply #11 on: October 10, 2018, 15:18 »

Проверил экспорт, с ним всё нормально. В дополнительных UV много нулей и мусора, но это ни на что не влияет.

Импорт в Макс происходит очень долго, при этом модель выглядит низкополигональной. У неё больше 500 костей, непонятно зачем. Пару часов потратил пытаясь сделать более быстрый импорт, но в результате это оказалось бесполезным: импорт тратит 45 секунд на выполнение простой команды:
Code:
modPanel.setCurrentObject skinMod
Я не могу её убрать или перенести в другое место, тогда импортер просто "крашится".

Интересно что импорт модельки из UT3 (которая имеет похожее количество треугольников, но при этом выглядит high-poly по сравнению с ЭТОЙ моделькой) делается в разы быстрее. Вывод - у модельки которую вы прислали явно какие-то проблемы, и это не нравится Максу. Вряд ли я могу с ней что-то сделать.
Logged
RedBear
Full Member
***
Posts: 226


View Profile
Re: Dragon Ball FighterZ
« Reply #12 on: October 10, 2018, 18:01 »

Импорт в Макс происходит очень долго, при этом модель выглядит низкополигональной.
Низкополигональной модель кажется из-за шелл-мешей, которые мы и не можем удалить. В данном случае у нас 1 нормальнотакойполигональный меш персонажа и 4 шелл-меша.
Пару часов потратил пытаясь сделать более быстрый импорт, но в результате это оказалось бесполезным
Даже и не стоило тратить на это время. Подождать 45+ секунд это не проблема.
Проблема в вылете Макса при попытке копирования весов. Sad
импорт тратит 45 секунд на выполнение простой команды:
Code:
modPanel.setCurrentObject skinMod
Думаю, не зря он так долго думает, ибо модификатор Скин и содержит информацию о весах.
Вывод - у модельки которую вы прислали явно какие-то проблемы, и это не нравится Максу.
Возможно, спорить не буду, ибо у меня не стим-версия игры.
Хотя там, откуда я ее качал, было указано, что с архивами игры не проводилось никаких действий.
Попросил Blenux экспортировать эти же пакеты из стим-версии игры, если она у него есть.
Если есть, то сможем сравнить и уже точно понять в файлах ли проблема или нет.
Если нет, то не судьба значит. Smiley
Logged
Gildor
Administrator
Hero Member
*****
Posts: 7969



View Profile WWW
Re: Dragon Ball FighterZ
« Reply #13 on: October 10, 2018, 18:25 »

Я не имел в виду что данные "битые", здесь именно какая-то странная модель. Может быть она была пропущена через какую-то обработку перед тем как импортировать в игру. В общем, не знаю, но неспроста Макс на ней тормозит без видимых причин - просто при переключении на скин-объект, да ещё и падает (как вы говорите), на копировании весов в скине.

А почему стал смотреть про скорость импорта, так это потому что для такой модели данная скорость импорта слишком низкая. Думал что что-то не то в импортере.
Logged
Gildor
Administrator
Hero Member
*****
Posts: 7969



View Profile WWW
Re: Dragon Ball FighterZ
« Reply #14 on: October 11, 2018, 14:32 »

"Покопал" MaxScript в сторону назначения нескольких материалов на один объект. По всей видимости, использование MultiMaterial (то что сейчас делается) единственный способ это сделать. Чтобы были вообще разные несвязанные материалы, пришлось бы резать модель на части при импорте, а я этого делать не хочу.

Что я мог бы посоветовать в вашей ситуации: если в Blender всё работает "на ура": пропустить модель через него, удалить всё лишнее, и затем через fbx перегнать в 3ds Max. Не знаю, может вы уже это делаете и без моего глупого совета, но вы об этом не написали. Если хотите работать с анимацией в 3ds Max, то есть такой вариант:

  • Импортите psk в Blender, удаляете ненужные части, сохраняете в fbx.
  • Открываете 3ds Max, импортите туда этот fbx.
  • Через ActorX Importer загружаете psk, но указываете опцию "import skeleton only" - тогда импортер создаст все необходимые структуры для импорта анимации на базе существующей модели - другими словами, он подключит скелет из psk к существующей сцене. Одно "но" - имена костей должны совпадать, т.е. Blender не должен их как-то изменить.
  • Дальше уже должна подхватиться анимация.
Logged
Jump to:  

Powered by SMF | SMF © 2006-2009, Simple Machines LLC
Leviathan design by Bloc | XHTML | CSS