godotengine / godot-tests

Repository for Godot benchmarks, regression tests, etc.
MIT License
34 stars 33 forks source link

Add skeleton parenting test cases. #23

Closed lyuma closed 2 years ago

lyuma commented 2 years ago

Creates a new project called gltf_skeleton_tests with a bunch of test cases I created while working on the glTF import/export pipeline.

All models are made by me out of primitives. Most of the code in the .tscn is ugly hack to get animations to loop and autoplay. Probably would have been better to have gdscript do this.

In particular, note the bobbing of the animated spheres, and the rectangles and diamonds of animated "NestedSkeleton" models folding back, which depends on animating the position of mesh instances which are also bones.

One of the models currently produces directly nested Skeleton3D -> BoneAttachment3D -> Skeleton3D hierarchies. This could change in the future if the algorithm for finding related joints in a GLTFSkeleton changes.

akien-mga commented 2 years ago

~If this is not something that is run automatically via doctest, I'm not sure it should be in this repository. Maintaining full Godot projects with binary data in this repo will both increase the repo size and diffs on text files.~

~It would be better to consolidate this in https://github.com/godotengine/godot-tests IMO.~

LOL I can't read. This is godot-tests XD

lyuma commented 2 years ago

@fire asked me to submit some of my testcases here. I have one more testcase, the "Party Hat" example which I want to add.

As for filesize, I realize a couple of the models got kind of large. Unfortunately I made the mistake of using a sphere as my base model, and in one of the cases, I added a sphere on each bone.

it's not easy to edit them because the resulting .glb files were crafted by hand to reproduce specific import bugs... Blender exports tend to be pretty clean and generally cannot reproduce these types of issues.

akien-mga commented 2 years ago

Yeah it's fine with me, I just thought initially that this was godotengine/godot.

On godot-tests I don't mind if the testing suite is a bit heavy, it's only useful for contributors/CI, not part of the base repo.

fire commented 2 years ago

Looks good @lyuma can you make the casing consistent? I was using this_sort_of_casing.glb.