Answered

Only avatars created by unity model importer are supported

Anonymous 3 years ago updated by Peter - Soxware Developer 2 years ago 8

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

Hello Peter

I just bought UMotion Pro on the asset store.

I use Voxel Importer (link) on my workflow because it's very simple, I just put the .vox file on Unity and it optimizes it.

Unfortunatelly UMotion is not allowing me to use the Mesh file generated saying it wasn't an avatar created with Unity.

Could you please tell me a way to keep using my VOX workflow? (I don't use FBX)

I forgot to mention that I'm creating the bones of my Voxel character using the same Voxel Importer asset.

The problem with the humanoid avatar's generated by third-party scripts (like the voxel importer) is, that not all information UMotion needs for generating a humanoid animation is included.


Solution: Either make an *.FBX out of your character or configure it as generic.


Converting your character to FBX is easy: You can do this by using Unity's FBX exporter package (you can get it for free via Unity's Package Manager). Simply instantiate your character in the scene, then make a right click on it and then click on "Export to FBX...". Adjust the export settings to your needs and click on export. Then use the character from the FBX.


I would recommend this workflow in any case (even when not using UMotion). The FBX file gives you full compatibility (you regain access to all of Unity's import settings) and flexibility (you can open the file in 3D modelling applications or even other game engines) and on top of it it's future proof (FBX is always going to be supported even in future Unity versions; the voxel import process might break).

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

Best regards,

Peter