-
Notifications
You must be signed in to change notification settings - Fork 3.5k
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
Skinned model fix #3224
Skinned model fix #3224
Conversation
Tested with: simple_anim.txt |
Great catch, thanks @lilleyse! |
Please update CHANGES.md. |
Can you add a test? Put the .dae/.gltf here: https://github.com/AnalyticalGraphicsInc/cesium/tree/master/Specs/Data/Models |
@tparisi @julien-moreau @deltakosh here is a simple skinned glTF model for testing: #3224 (comment) @julien-moreau @deltakosh this is a glTF 1.0 model. If you need to upgrade your importer from glTF 0.8, see https://github.com/KhronosGroup/glTF/wiki/glTF-0.8-to-1.0-Guide |
@lilleyse can you also open a pull request into the glTF repo to include this sample model? See https://github.com/KhronosGroup/glTF/tree/master/sampleModels |
Ah, nevermind. I see. |
@lilleyse will this help this issue: https://groups.google.com/forum/#!topic/cesium-dev/VAyj40HJzgk |
OK with me. Given how subtle this is, can you please add a comment? |
Updated. |
glTF repo pull request: KhronosGroup/glTF#480 |
Looks great, thanks! |
While testing a simple skinned model exported from Blender and then going through the Collada-glTF converter, I noticed a bug with the skeleton generation.
When searching for a joint in
searchForest
, it loops through the children of the runtime node. The problem is the runtime nodes don't have children yet, sincecreateSkins
comes beforecreateRuntimeNodes
increateResources
.The solution I have loops over the children of the gltf node instead of the runtime node. Another solution is to change the order of calls in
createResources
, but I was worried this would create unintended problems. Or maybe the runtime node's children should be set inparseNodes
.The reason this wasn't noticed before is our Cesium guy lists all its joints in the
skeletons
property, sosearchForest
never had to loop over children.