SC2Mapster / m3addon

Blender Addon to import and export m3 files
GNU General Public License v2.0
49 stars 18 forks source link

Storm_Hero_D3DemonHunterF_RequiredAnims.m3a fails on import #23

Closed DerekX closed 3 years ago

DerekX commented 4 years ago

Import C:\Users\Derek\Models\Heroes of the Storm\Demon Hunter Valla\storm_hero_d 3demonhunterf_requiredanims.m3a Creating actions(animation sequences) Traceback (most recent call last): File "C:\Users\Derek\AppData\Roaming\Blender Foundation\Blender\2.83\scripts\a ddons\m3addon-master__init__.py", line 4393, in execute m3import.importM3BasedOnM3ImportOptions(scene) File "C:\Users\Derek\AppData\Roaming\Blender Foundation\Blender\2.83\scripts\a ddons\m3addon-master\m3import.py", line 1873, in importM3BasedOnM3ImportOptions importer.importM3BasedOnM3ImportOptions(scene) File "C:\Users\Derek\AppData\Roaming\Blender Foundation\Blender\2.83\scripts\a ddons\m3addon-master\m3import.py", line 435, in importM3BasedOnM3ImportOptions self.createAnimations() File "C:\Users\Derek\AppData\Roaming\Blender Foundation\Blender\2.83\scripts\a ddons\m3addon-master\m3import.py", line 1665, in createAnimations raise Exception("Same animid %s got animated by different STC" % animId) Exception: Same animid 230209206 got animated by different STC

Talv commented 3 years ago

Confirmed. Still happens on current master:

Creating actions(animation sequences)
Traceback (most recent call last):
  File "/home/kk/.config/blender/2.91/scripts/addons/m3addon/__init__.py", line 535, in handleAnimationSequenceNameChange
    bpy.data.actions["Armature Object" + self.nameOld].name = "Armature Object" + self.name
KeyError: 'bpy_prop_collection[key]: key "Armature ObjectStand" not found'
File "/home/kk/.config/blender/2.91/scripts/addons/m3addon/__init__.py", line 534, in handleAnimationSequenceNameChange
Traceback (most recent call last):
  File "/home/kk/.config/blender/2.91/scripts/addons/m3addon/__init__.py", line 535, in handleAnimationSequenceNameChange
    bpy.data.actions["Armature Object" + self.nameOld].name = "Armature Object" + self.name
KeyError: 'bpy_prop_collection[key]: key "Armature ObjectStand" not found'
File "/home/kk/.config/blender/2.91/scripts/addons/m3addon/__init__.py", line 534, in handleAnimationSequenceNameChange
Traceback (most recent call last):
  File "/home/kk/.config/blender/2.91/scripts/addons/m3addon/__init__.py", line 535, in handleAnimationSequenceNameChange
    bpy.data.actions["Armature Object" + self.nameOld].name = "Armature Object" + self.name
KeyError: 'bpy_prop_collection[key]: key "Armature ObjectStand" not found'
File "/home/kk/.config/blender/2.91/scripts/addons/m3addon/__init__.py", line 534, in handleAnimationSequenceNameChange
Traceback (most recent call last):
  File "/home/kk/.config/blender/2.91/scripts/addons/m3addon/__init__.py", line 535, in handleAnimationSequenceNameChange
    bpy.data.actions["Armature Object" + self.nameOld].name = "Armature Object" + self.name
KeyError: 'bpy_prop_collection[key]: key "Armature ObjectStand" not found'
File "/home/kk/.config/blender/2.91/scripts/addons/m3addon/__init__.py", line 534, in handleAnimationSequenceNameChange
Traceback (most recent call last):
  File "/home/kk/.config/blender/2.91/scripts/addons/m3addon/__init__.py", line 535, in handleAnimationSequenceNameChange
    bpy.data.actions["Armature Object" + self.nameOld].name = "Armature Object" + self.name
KeyError: 'bpy_prop_collection[key]: key "Armature ObjectStand" not found'
File "/home/kk/.config/blender/2.91/scripts/addons/m3addon/__init__.py", line 534, in handleAnimationSequenceNameChange
Python: Traceback (most recent call last):
  File "/home/kk/.config/blender/2.91/scripts/addons/m3addon/ui/base.py", line 172, in invoke
    m3import.importM3BasedOnM3ImportOptions(scene)
  File "/home/kk/.config/blender/2.91/scripts/addons/m3addon/m3import.py", line 1905, in importM3BasedOnM3ImportOptions
    importer.importM3BasedOnM3ImportOptions(scene)
  File "/home/kk/.config/blender/2.91/scripts/addons/m3addon/m3import.py", line 433, in importM3BasedOnM3ImportOptions
    self.createAnimations()
  File "/home/kk/.config/blender/2.91/scripts/addons/m3addon/m3import.py", line 1689, in createAnimations
    raise Exception("Same animid %s got animated by different STC" % animId)
Exception: Same animid 230209206 got animated by different STC
DerekX commented 3 years ago

Sorry to go off-topic, but how do I view the M3 properties and layers in the latest version of your add-on? Blender M3 Add-On Troubleshooting

Talv commented 3 years ago

Materials of type MADD don't have any layers. Or at least they don't have clearly defined layers. It's a dynamic format, not understandable by this plugin and not support beyond being able to tell the material name - which is the reason why nothing else is shown.

You can even refer to the comment of Blizzard developer about it [1]

While it unlocks a lot of new features and possibilities for us, its saved data doesn't make a lot of sense outside of the game client, and with much of it being transformed when the file is loaded it isn't really human readable in the M3 file.

[1] https://www.reddit.com/r/heroesofthestorm/comments/e8bowd/m3_importer_for_blender_for_heroes_of_the_storm/fabr5ls/

DerekX commented 3 years ago

OK, maybe I could alternate between the latest version and a version before the MADD fix?

OR, is it possible to change the material type from MADD to Standard?

Talv commented 3 years ago

OK, maybe I could alternate between the latest version and a version before the MADD fix?

I don't see how would that help with anything.

OR, is it possible to change the material type from MADD to Standard?

No. The proper way would be to simply make new material, and assign it to the mesh in place of the one that came with the model. And well, remake everything - link textures etc. That's the only way if the intention is to re-export the model in a version of .m3 that SC2 would understand.

DerekX commented 3 years ago

OK, I'll close this issue before it drags out anymore. I should be good for now.