-
-
Notifications
You must be signed in to change notification settings - Fork 302
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
3 bones with first 2 bones not animated producing discrepancy between playback sample and Khronos GLTF reference #178
Comments
I think I have a similar issue, but my example only has 2 bones. When I use gltf2ozz to extract the skeleton, it's treating all 4 nodes in the scene as joints, but the animation only generates matrices for 2 bones at positions 2 and 3, and since the 'real' bones are at positions 0 and 1, nothing gets animated. Right after I load the skeleton, I log all the joint names: auto skeleton = ozz::animation::Skeleton{};
archive >> skeleton;
for (const auto& name : skeleton.joint_names()) {
Log::debug << "skeleton joint name: " << name << std::endl;
} And like I said this logs the names of every node in the file, whether they're referenced by the skin or not. I haven't had time to trace through ozz' code to see what sends it down this path, but like you said, I also suspect it has to do with when a transform is not applied to the root node. Technically, this might be an invalid gltf file since validation does produce |
I think I've narrowed this down. Working gltf files all call out a From the log of a file that works correctly, and has a
Imported this gltf into blender, then exported it again, and it no longer contains the
|
So adding the |
Hello, I am encountering a small but curious issue while implementing hardware skinning with GLTF.
I am using 0.15.0.
Screenshot from within animation software:
Using gltf2ozz.exe, I have generated an animation and a skeleton with this JSON configuration (in attached ZIP):
As you can see, nothing too weird.
A GLTF+bin is attached, here is a screenshot of the animated mesh from Khronos GLTF Sample Viewer:
This is correct.
Here is a screenshot using the generated skeleton and animation in the playback sample, this is the reason I have opened an issue:
I believe this is incorrect.
By adding a very small translation to the root joint, I can visualize the expected output (I do not believe adding a translation is a valid solution):
The skeleton has 3 bones, and the first 2 joints have no animation data. In the sample playback tool I expect to see all 3 bones offset as in the reference screenshots.
I am not very experienced in this area, apologies if my terminology is inaccurate.
Thanks for your attention.
Relevant files attached here: limited.zip
The text was updated successfully, but these errors were encountered: