From 5c2983f510f101b7684026d02a92a8b5269aa9af Mon Sep 17 00:00:00 2001 From: Hristo Stamenov Date: Tue, 9 Mar 2021 01:11:08 +0200 Subject: Gltf model and animations exploring problems (#1635) * Added bone binding to whole mesh and not only set vertices. + Also added missed setting of the animation count. + Removed double ; on one line * Added more of the gltf sample models https://github.com/KhronosGroup/glTF-Sample-Models We need to make it working for all of them. * Binding to initial bind pose added. * Fix cube disappearing bug because lerpPercent could be Inf. * Fixed for rigged figure also --- .../models/resources/gltf/AnimatedMorphCube.glb | Bin 0 -> 6752 bytes .../models/resources/gltf/AnimatedTriangle.gltf | 118 +++++++++++++++++++++ examples/models/resources/gltf/BoxAnimated.glb | Bin 0 -> 11944 bytes examples/models/resources/gltf/GearboxAssy.glb | Bin 0 -> 4958788 bytes examples/models/resources/gltf/LICENSE | 13 ++- 5 files changed, 129 insertions(+), 2 deletions(-) create mode 100644 examples/models/resources/gltf/AnimatedMorphCube.glb create mode 100644 examples/models/resources/gltf/AnimatedTriangle.gltf create mode 100644 examples/models/resources/gltf/BoxAnimated.glb create mode 100644 examples/models/resources/gltf/GearboxAssy.glb (limited to 'examples') diff --git a/examples/models/resources/gltf/AnimatedMorphCube.glb b/examples/models/resources/gltf/AnimatedMorphCube.glb new file mode 100644 index 00000000..219d2ac5 Binary files /dev/null and b/examples/models/resources/gltf/AnimatedMorphCube.glb differ diff --git a/examples/models/resources/gltf/AnimatedTriangle.gltf b/examples/models/resources/gltf/AnimatedTriangle.gltf new file mode 100644 index 00000000..d5c09549 --- /dev/null +++ b/examples/models/resources/gltf/AnimatedTriangle.gltf @@ -0,0 +1,118 @@ +{ + "scene" : 0, + "scenes" : [ + { + "nodes" : [ 0 ] + } + ], + + "nodes" : [ + { + "mesh" : 0, + "rotation" : [ 0.0, 0.0, 0.0, 1.0 ] + } + ], + + "meshes" : [ + { + "primitives" : [ { + "attributes" : { + "POSITION" : 1 + }, + "indices" : 0 + } ] + } + ], + + "animations": [ + { + "samplers" : [ + { + "input" : 2, + "interpolation" : "LINEAR", + "output" : 3 + } + ], + "channels" : [ { + "sampler" : 0, + "target" : { + "node" : 0, + "path" : "rotation" + } + } ] + } + ], + + "buffers" : [ + { + "uri" : "data:application/octet-stream;base64,AAABAAIAAAAAAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAA=", + "byteLength" : 44 + }, + { + "uri" : "data:application/octet-stream;base64,AAAAAAAAgD4AAAA/AABAPwAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAD0/TQ/9P00PwAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAPT9ND/0/TS/AAAAAAAAAAAAAAAAAACAPw==", + "byteLength" : 100 + } + ], + "bufferViews" : [ + { + "buffer" : 0, + "byteOffset" : 0, + "byteLength" : 6, + "target" : 34963 + }, + { + "buffer" : 0, + "byteOffset" : 8, + "byteLength" : 36, + "target" : 34962 + }, + { + "buffer" : 1, + "byteOffset" : 0, + "byteLength" : 100 + } + ], + "accessors" : [ + { + "bufferView" : 0, + "byteOffset" : 0, + "componentType" : 5123, + "count" : 3, + "type" : "SCALAR", + "max" : [ 2 ], + "min" : [ 0 ] + }, + { + "bufferView" : 1, + "byteOffset" : 0, + "componentType" : 5126, + "count" : 3, + "type" : "VEC3", + "max" : [ 1.0, 1.0, 0.0 ], + "min" : [ 0.0, 0.0, 0.0 ] + }, + { + "bufferView" : 2, + "byteOffset" : 0, + "componentType" : 5126, + "count" : 5, + "type" : "SCALAR", + "max" : [ 1.0 ], + "min" : [ 0.0 ] + }, + { + "bufferView" : 2, + "byteOffset" : 20, + "componentType" : 5126, + "count" : 5, + "type" : "VEC4", + "max" : [ 0.0, 0.0, 1.0, 1.0 ], + "min" : [ 0.0, 0.0, 0.0, -0.707 ] + } + ], + + "asset" : { + "version" : "2.0" + } + +} \ No newline at end of file diff --git a/examples/models/resources/gltf/BoxAnimated.glb b/examples/models/resources/gltf/BoxAnimated.glb new file mode 100644 index 00000000..69481ec3 Binary files /dev/null and b/examples/models/resources/gltf/BoxAnimated.glb differ diff --git a/examples/models/resources/gltf/GearboxAssy.glb b/examples/models/resources/gltf/GearboxAssy.glb new file mode 100644 index 00000000..78cdad62 Binary files /dev/null and b/examples/models/resources/gltf/GearboxAssy.glb differ diff --git a/examples/models/resources/gltf/LICENSE b/examples/models/resources/gltf/LICENSE index 77c73c62..8617385f 100644 --- a/examples/models/resources/gltf/LICENSE +++ b/examples/models/resources/gltf/LICENSE @@ -1,11 +1,20 @@ Rigged Figure model has been created by Cesium (https://cesium.com/cesiumjs/), and licensed as Creative Commons Attribution 4.0 International License. -Check for details: http://creativecommons.org/licenses/by/4.0/ +Box Animated model has been created by Cesium (https://cesium.com/cesiumjs/) +and is licensed as Creative Commons Attribution 4.0 International License Avocado model is provided by Microsoft and licensed as CC0 Universal Public Domain -Check for details: https://creativecommons.org/publicdomain/zero/1.0/ +Animated Morph Cube model is provided by Microsoft +and licensed as CC0 Universal Public Domain + +Animated Triangle model is licensed as CC0 Universal Public Domain + +Gearbox Assy model has been provided by Okino Computer Graphics, using Okino Polytrans Software. +no license information was provided +Check for details on CC0: https://creativecommons.org/publicdomain/zero/1.0/ +Check for details on CC4: http://creativecommons.org/licenses/by/4.0/ GLTF sample models for testing are taken from: https://github.com/KhronosGroup/glTF-Sample-Models/ -- cgit v1.2.3