Answered

Only avatars created by unity model importer are supported

Anonymous 6 months ago updated by Peter - Soxware Developer 6 months ago 5

I'm using this asset for importing MagicaVoxel models into unity - https://assetstore.unity.com/packages/tools/modeling/voxel-importer-62914 It supports rigging and creating custom avatar for imported models. Generic and legacy animations works great but Humanoid animation throws "Only avatars created by unity model importer are supported". I understand that you need some additional info to be stored in avatar. Is there any workaround to make it work? I could just use generic animation type but I have some older humanoid animations that I would like to use in my project.

UMotion Version:
Unity Version:
2021

Answer

Answer
Answered

Hi,
thank you very much for your support request.

Is there any workaround to make it work?

Yes, there is an easy workaround: Download Unity's FBX exporter package using the Unity package manager. Then use the FBX exporter to create an actual *.FBX file out of your character. You can then configure your fbx character to humanoid and use it with UMotion's humanoid features.

Please let me know in case you have any follow-up questions.

Best regards,

Peter

Answer
Answered

Hi,
thank you very much for your support request.

Is there any workaround to make it work?

Yes, there is an easy workaround: Download Unity's FBX exporter package using the Unity package manager. Then use the FBX exporter to create an actual *.FBX file out of your character. You can then configure your fbx character to humanoid and use it with UMotion's humanoid features.

Please let me know in case you have any follow-up questions.

Best regards,

Peter

I was trying to avoid it. Why I'm trying to make it this way is simple. In normal scenario I would need to do it like this:

Model in MagicaVoxel -> optimize in blender and add skeleton -> export fbx for unity. In this case I need to store 2 files: magicavoxel vox for editing and fbx as an actual model. Every modification to vox file would need to follow these steps again. 

My current setup allow me to just dump vox to unity, have only single file with automatic texture merging, mesh optimization and manual rigging done in unity. There is no modeling software involved, pipeline is much simpler. I want to do as much of the work in unity that why I bought this importer and your asset.

By looking at created avatar asset I belive that it is in fact created by unity importer but not in default manner. So all the data should be there. Is it possible to ignore this warning for humanoids assets and force creation of animation to see if data really is missing?

Unfortunately not every information that UMotion needs to guarantee a correct humanoid animation export is stored in the avatar file. UMotion is therefore also using some information from the model importer which only an *.fbx (or any other modeling file format) has.

Is it really necessary to use the humanoid file format in your case? The only reason why humanoid should be necessary is when you are trying to re-use one animation on multiple different characters. Is that the case?

If so, maybe just export one of your characters to *.fbx and use that for editing the animation in UMotion. The resulting humanoid animation can then be used on any of your characters.

If you do not plan to use the same animation on multiple different characters, using generic is the recommended way. This consumes less CPU cycles than humanoid and its animation playback is 1:1 (i.e. no animation re-targeting as in humanoid, which reduces playback quality).

Best regards,
Peter

I wanted to use humanoid because my bought animation were set to humanoid but I didn't notice that those animations are in fbx so I can import them into unity as Generic and then import them to UMotion and this will solve my issue. Thank you for help.

Yes but please note that generic animations are only compatible with the generic rig they have been originally created for. So a re-targeting step might be required like this:

  1. Configure your character as humanoid (in your case, you would need to export it to FBX for that step)
  2. Create a humanoid UMotion Project
  3. Import the humanoid animations
  4. Configure the character as generic
  5. Create generic UMotion Project and assign the generic character
  6. Import the humanoid UMotion project file (*.asset)

This procedure re-targets the animation into a generic format compatible with your generic character.

Best regards,
Peter