Open cansik opened 2 years ago
Hi @cansik,
There's the file format VRM. I have not tested it myself, but in essence it is a glTF file with additional properties/extensions. There's already a Unity importer as well, but I have no idea how it compares to glTFast.
Other than VRM I'm not aware of an extension that specifies humanoid, facial or other rigs.
At some point I'd love to explore this topic and eventually add VRM support as well, but that's not on my near-term list. I'm open to contributions though and would love to assist.
hth
Hey so I've bumped into this issue now as well so I just wanted to chime in and try to clear up what I believe @cansik is talking about. It's not about supporting avatar specific formats like VRM but being able to create Unity Avatar assets (generic or humanoid) on gltf import, in a similar way to the FBX importer:
Because AFAIK doing this post-import is just not ideal as it requires a bit of editor logic that you would need to run after importing and you lose the configurator and auto-mapping.
@sutheim Ok, got it. True, these are different use-cases.
I guess this means (semi-) automatically assigning root bones, bones and other settings optionally with UI to override those settings, right?
@sutheim Thanks for the clarification and yes, currently I am running a script to generate a human avatar after importing it with glTFast. FBX & DAE do have this importer, I guess they are the only one and I could not figure out how to let Unity display this dialog with custom file formats.
@sutheim Ok, got it. True, these are different use-cases.
I guess this means (semi-) automatically assigning root bones, bones and other settings optionally with UI to override those settings, right?
Correct. I was hoping one could lean on Unity for most of this logic, but I don't know how publicly accessible it is as I'm not that well versed in writing importers. Here's what I found in the UnityCSReference repo on the importer Rig tab and the Avatar inspectors when looking into doing this manually.
When importing a skin from glTF a SkinnedMeshRenderer is applied to the Mesh. However, there is no option to import the skin as Avatar (Generic / Humanoid). As far as I can say, this could be implemented using the AvatarBuilder. FBX & DAE importer both support to load skins as avatars and it would be great if glTF would be able to have this ability too.
Is there already someone working on that or do you have already a strategy in mind how to implement this into the library?