glTFast icon indicating copy to clipboard operation
glTFast copied to clipboard

Skinning export support.

Open kyapp69 opened this issue 2 years ago • 14 comments

I assume that skinning won't be supported until you are less busy? Will have to take you up on the code structure mentoring. Is anyone else taking up skinning and animation? Otherwise I'll take a stab at it.

kyapp69 avatar Mar 10 '22 00:03 kyapp69

@kyapp69 Correct, I'm focusing on quality and CI at the moment.

BlendWeights and BlendIndices of a mesh should already get exported (haven't tested it though), so it boils down to detecting SkinnedMeshRenderers and see if they have bones assigned and convert them to a proper glTF skin.

atteneder avatar Mar 10 '22 08:03 atteneder

The starting point would be here by passing the newly created skin data to m_Writer.

hth

atteneder avatar Mar 10 '22 08:03 atteneder

The starting point would be here by passing the newly created skin data to m_Writer.

hth

I see that a unityengine.mesh is passed in to the writer and eventually the gltf mesh schema is created during the serialization. Would it be better if the gltf skin is done in the writer also? Let me get it working first and see how to refactor. I see that the only thing to get it working is to export the skin. I'll get right on it.

Cheers Kevin

kyapp69 avatar Mar 11 '22 03:03 kyapp69

Would it be better if the gltf skin is done in the writer also?

I think so, yes....I didn't think it through though, so no strong opinion at this point.

atteneder avatar Mar 11 '22 08:03 atteneder

@kyapp69 I've been testing all possible cases to export a character with rig, then i stepped into this thread. if I can be helpful, in terms of debug and test, let me know, thank you all.

hierro avatar Mar 15 '22 16:03 hierro

@kyapp69 I've been testing all possible cases to export a character with rig, then i stepped into this thread. if I can be helpful, in terms of debug and test, let me know, thank you all.

Sure, watch this thread. I just forked it so I can do pull requests.

kyapp69 avatar Mar 16 '22 08:03 kyapp69

Sure, watch this thread. I just forked it so I can do pull requests.

Following it, and also considering to modify shaders in untiy to be fully compliant with GLTF, in example using roughness maps. There is a lot that can be done, but indeed the skin is necessary in order to have a valid export tool for interoperability. Let me know how I may help on this, thank you.

hierro avatar Mar 16 '22 09:03 hierro

Sure, watch this thread. I just forked it so I can do pull requests.

Following it, and also considering to modify shaders in untiy to be fully compliant with GLTF, in example using roughness maps. There is a lot that can be done, but indeed the skin is necessary in order to have a valid export tool for interoperability. Let me know how I may help on this, thank you.

You can take a look at my fork to do initial testing of the skinning for the time being. I have enabled legacy path exporting, as I am using that to understand the code. not surer what is missing tho. I just preliminarily tested and it seems to work.

https://github.com/kyapp69/glTFast

Not quite yet.. The bind pose is a little off.. so there's a bug.. sorry.. Still need some work.. Both path are exporting.. so now it's a matter of correctness

kyapp69 avatar Mar 20 '22 06:03 kyapp69

What is the status on this issue?

Hugo-Pereira avatar Sep 19 '22 10:09 Hugo-Pereira

@Hugo-Pereira No imminent plans to start implementing it, so definitely not happening before late Q4. Help is welcome though.

Thanks for bringing it up though. It gives me a feel on how important it is to users.

atteneder avatar Sep 27 '22 20:09 atteneder

I'll try and tackle this. Should have a MR in the next few days.

Hugo-Pereira avatar Nov 23 '22 10:11 Hugo-Pereira

Are there any news on this?

TechInterMezzo avatar Nov 14 '23 06:11 TechInterMezzo

Are there any news on this?

w100076575 avatar Apr 26 '24 02:04 w100076575