diff --git a/Models/MarblesForever/README.body.md b/Models/MarblesForever/README.body.md new file mode 100644 index 00000000..fcd68160 --- /dev/null +++ b/Models/MarblesForever/README.body.md @@ -0,0 +1,64 @@ +## Screenshot + +![A screenshot of the marble run asset](screenshot/screenshot_Large.jpg) +
_Screenshot from [glTF Sample Viewer physics development version](https://github.khronos.org/glTF-Sample-Viewer-Release/physics/)._ + +## Description + +This asset demonstrates the use of rigid body physics in glTF, to represent a marble-run where marbles tumble down a track and are lifted upwards to continue endlessly. + +This asset uses the glTF extensions [KHR_physics_rigid_bodies](https://github.com/eoineoineoin/glTF_Physics/tree/master/extensions/2.0/Khronos/KHR_physics_rigid_bodies) and [KHR_implicit_shapes](https://github.com/eoineoineoin/glTF_Physics/tree/master/extensions/2.0/Khronos/KHR_implicit_shapes), along with a variety of glTF material and animation extensions. + + +``` + "extensionsUsed": [ + "KHR_materials_clearcoat", + "KHR_materials_transmission", + "KHR_materials_emissive_strength", + "KHR_materials_sheen", + "KHR_physics_rigid_bodies", + "KHR_implicit_shapes", + "KHR_lights_punctual", + "KHR_texture_transform", + "KHR_materials_volume", + "KHR_animation_pointer" + ], +``` + +## Modeling and Materials + +Models and materials were generated in Autodesk 3ds Max. More information will be provided later about this process. The intent is to provide instructions on how to create similar assets using these new extensions. + +## Physics and Animation + +Physics and animation were set up in Blender 5.0.1 using the [Blender glTF Physics toolset](https://github.com/eoineoineoin/glTF_Physics_Blender_Exporter). More information will be provided later about this process. + +## Viewing and Interacting + +To run the physics simulation, drag and drop this glTF asset into the [glTF_Physics_Babylon Viewer](https://eoineoineoin.github.io/glTF_Physics_Babylon/packages/demo/dist/#sceneIndex=6). + +* Click and drag to rotate the camera. +* W/S/A/D/Q/E to move the camera. +* Hover over an object and hold space to grab a physics object, which will turn yellow. + * Moving the mouse will apply a force to the object. + * Object can be reeled in or out using the mouse wheel. + +This can also be loaded in the [glTF Sample Viewer physics development version](https://github.khronos.org/glTF-Sample-Viewer-Release/physics/). Custom controls are avaliable in the Physics tab. + +## To Do's and Challenges February 2026 +Most of the physics issues have been resolved, and duplicate textures have been removed. Some issues remain: + +![A screenshot showing rendering differences](screenshot/2026-02-26_issues.jpg) + +## To Do's and Challenges December 2025 +There is minimal support available for content creators using the new physics extensions. Developing this kind of content requires a lot of trial and error. + +However, this asset seems to be in a state where it works well enough that other people could contribute their own expertise to help resolve these issues. + +1. The large wheel and the moon-gear are too stiff and resist rotation when they are pushed by the colored balls. These should rotate more freely, and show a little bit of damping. + +2. The wheel and moon-gear shake oddly when a mouse + spacebar is used to interact with them. They should rotate smoothly. + +3. The textures need to be optimized, duplicates should be removed and textures should be compressed. + +4. The [glTF Validator](https://github.khronos.org/glTF-Validator/) reports several unused mesh tangents, which should ideally be removed. \ No newline at end of file diff --git a/Models/MarblesForever/Source/MarblesForever.blend b/Models/MarblesForever/Source/MarblesForever.blend new file mode 100644 index 00000000..f0583880 Binary files /dev/null and b/Models/MarblesForever/Source/MarblesForever.blend differ diff --git a/Models/MarblesForever/glTF-Binary/MarblesForever.glb b/Models/MarblesForever/glTF-Binary/MarblesForever.glb new file mode 100644 index 00000000..640890c6 Binary files /dev/null and b/Models/MarblesForever/glTF-Binary/MarblesForever.glb differ diff --git a/Models/MarblesForever/glTF/MarblesForever.bin b/Models/MarblesForever/glTF/MarblesForever.bin new file mode 100644 index 00000000..4e78dad2 Binary files /dev/null and b/Models/MarblesForever/glTF/MarblesForever.bin differ diff --git a/Models/MarblesForever/glTF/MarblesForever.gltf b/Models/MarblesForever/glTF/MarblesForever.gltf new file mode 100644 index 00000000..7445c134 --- /dev/null +++ b/Models/MarblesForever/glTF/MarblesForever.gltf @@ -0,0 +1,4460 @@ +{ + "asset":{ + "copyright":"CCBY 4.0, The Khronos Group, created by Eric Chadwick", + "generator":"Khronos glTF Blender I/O v5.0.21", + "version":"2.0" + }, + "extensionsUsed":[ + "KHR_lights_punctual", + "KHR_implicit_shapes", + "KHR_physics_rigid_bodies", + "KHR_materials_clearcoat", + "KHR_materials_transmission", + "KHR_materials_emissive_strength", + "KHR_texture_transform", + "KHR_materials_volume", + "KHR_animation_pointer" + ], + "extensionsRequired":[ + "KHR_implicit_shapes", + "KHR_physics_rigid_bodies" + ], + "extensions":{ + "KHR_lights_punctual":{ + "lights":[ + { + "color":[ + 0, + 1, + 0 + ], + "intensity":0.07957747154594767, + "type":"point", + "name":"pointlight2" + }, + { + "color":[ + 0, + 0, + 1 + ], + "intensity":0.07957747154594767, + "type":"point", + "name":"pointlight3" + }, + { + "color":[ + 1, + 0, + 0 + ], + "intensity":0.07957747154594767, + "type":"point", + "name":"pointlight1" + } + ] + }, + "KHR_implicit_shapes":{ + "shapes":[ + { + "type":"sphere", + "sphere":{ + "radius":0.0200000012935197 + } + }, + { + "type":"sphere", + "sphere":{ + "radius":0.05935712988231604 + } + }, + { + "type":"box", + "box":{ + "size":[ + 2, + 2, + 2 + ] + } + } + ] + }, + "KHR_physics_rigid_bodies":{ + "physicsMaterials":[ + { + "staticFriction":0.5, + "dynamicFriction":0.5, + "restitution":0 + } + ], + "collisionFilters":[ + { + "collisionSystems":[ + "System_0", + "System_1" + ], + "collideWithSystems":[ + "System_0", + "System_1" + ] + }, + { + "collisionSystems":[ + "System_0" + ], + "collideWithSystems":[ + "System_0" + ] + }, + { + "collisionSystems":[ + "System_1" + ], + "collideWithSystems":[ + "System_1" + ] + } + ], + "physicsJoints":[ + { + "limits":[ + { + "linearAxes":[ + 0 + ], + "min":0, + "max":0 + }, + { + "linearAxes":[ + 2 + ], + "min":0, + "max":0 + }, + { + "linearAxes":[ + 1 + ], + "min":0, + "max":0 + }, + { + "angularAxes":[ + 0 + ], + "min":0, + "max":0 + }, + { + "angularAxes":[ + 1 + ], + "min":0, + "max":0 + } + ], + "drives":[ + { + "type":"angular", + "mode":"force", + "axis":2, + "positionTarget":0, + "velocityTarget":0, + "stiffness":0, + "damping":0.014999999664723873 + } + ] + }, + { + "limits":[ + { + "linearAxes":[ + 0 + ], + "min":0, + "max":0 + }, + { + "linearAxes":[ + 2 + ], + "min":0, + "max":0 + }, + { + "linearAxes":[ + 1 + ], + "min":0, + "max":0 + }, + { + "angularAxes":[ + 2 + ], + "min":0, + "max":0 + }, + { + "angularAxes":[ + 1 + ], + "min":0, + "max":0 + } + ], + "drives":[ + { + "type":"angular", + "mode":"force", + "axis":0, + "positionTarget":0, + "velocityTarget":0, + "stiffness":0, + "damping":0.15000000596046448 + } + ] + } + ] + } + }, + "scene":0, + "scenes":[ + { + "name":"Scene", + "nodes":[ + 1, + 3, + 5, + 23, + 31, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54 + ] + } + ], + "nodes":[ + { + "extensions":{ + "KHR_lights_punctual":{ + "light":0 + } + }, + "name":"pointlight2" + }, + { + "children":[ + 0 + ], + "extensions":{ + "KHR_physics_rigid_bodies":{ + "motion":{ + "mass":1 + }, + "collider":{ + "geometry":{ + "shape":0 + }, + "physicsMaterial":0, + "collisionFilter":0 + } + } + }, + "mesh":0, + "name":"marble2", + "rotation":[ + -0.70710688829422, + 0, + 0, + 0.7071066498756409 + ], + "translation":[ + 0.11179225891828537, + 0.6598198413848877, + 0.1184946820139885 + ] + }, + { + "extensions":{ + "KHR_lights_punctual":{ + "light":1 + } + }, + "name":"pointlight3" + }, + { + "children":[ + 2 + ], + "extensions":{ + "KHR_physics_rigid_bodies":{ + "motion":{ + "mass":1 + }, + "collider":{ + "geometry":{ + "shape":0 + }, + "physicsMaterial":0, + "collisionFilter":0 + } + } + }, + "mesh":1, + "name":"marble3", + "rotation":[ + -0.70710688829422, + 0, + 0, + 0.7071066498756409 + ], + "translation":[ + 0.10931001603603363, + 0.7236883044242859, + 0.019564714282751083 + ] + }, + { + "extensions":{ + "KHR_lights_punctual":{ + "light":2 + } + }, + "name":"pointlight1" + }, + { + "children":[ + 4 + ], + "extensions":{ + "KHR_physics_rigid_bodies":{ + "motion":{ + "mass":1 + }, + "collider":{ + "geometry":{ + "shape":0 + }, + "physicsMaterial":0, + "collisionFilter":0 + } + } + }, + "mesh":2, + "name":"marble1", + "rotation":[ + -0.70710688829422, + 0, + 0, + 0.7071066498756409 + ], + "translation":[ + 0.11478063464164734, + 0.44536292552948, + 0.15884804725646973 + ] + }, + { + "extensions":{ + "KHR_physics_rigid_bodies":{ + "collider":{ + "geometry":{ + "convexHull":false, + "mesh":3 + }, + "physicsMaterial":0, + "collisionFilter":1 + } + } + }, + "mesh":3, + "name":"elevator-foil", + "rotation":[ + 0, + 0, + 0.1890871673822403, + 0.9819602966308594 + ], + "translation":[ + -0.10957499593496323, + 0.14033779501914978, + 0 + ] + }, + { + "extensions":{ + "KHR_physics_rigid_bodies":{ + "collider":{ + "geometry":{ + "convexHull":false, + "mesh":4 + }, + "physicsMaterial":0, + "collisionFilter":1 + } + } + }, + "mesh":4, + "name":"elevator-padding", + "rotation":[ + 0, + 0, + 0.1890871673822403, + 0.9819602966308594 + ], + "translation":[ + -0.10957499593496323, + 0.14033779501914978, + 0 + ] + }, + { + "extensions":{ + "KHR_physics_rigid_bodies":{ + "collider":{ + "geometry":{ + "convexHull":false, + "mesh":5 + }, + "physicsMaterial":0, + "collisionFilter":1 + } + } + }, + "mesh":5, + "name":"elevator-struts", + "rotation":[ + 0, + 0, + 0.1890871673822403, + 0.9819602966308594 + ], + "translation":[ + -0.10957499593496323, + 0.14033779501914978, + 0 + ] + }, + { + "extensions":{}, + "name":"joint-orbiter", + "translation":[ + -0.10071313381195068, + -0.4054393768310547, + 0.21651366353034973 + ] + }, + { + "extensions":{}, + "name":"joint-wheel", + "translation":[ + 0.18621444702148438, + -0.0026173721998929977, + 0.541895866394043 + ] + }, + { + "mesh":6, + "name":"light-mesh-top", + "translation":[ + -0.10951416194438934, + 0.1406451016664505, + 0.9487818479537964 + ] + }, + { + "extensions":{ + "KHR_physics_rigid_bodies":{ + "collider":{ + "geometry":{ + "shape":1 + }, + "physicsMaterial":0, + "collisionFilter":1 + } + } + }, + "mesh":7, + "name":"orbiter-moon", + "translation":[ + -0.1005832701921463, + -0.405275821685791, + 0.5956106185913086 + ] + }, + { + "extensions":{ + "KHR_physics_rigid_bodies":{ + "collider":{ + "geometry":{ + "convexHull":false, + "mesh":8 + }, + "physicsMaterial":0, + "collisionFilter":1 + } + } + }, + "name":"proxy-floor", + "rotation":[ + 0, + 0, + -0.887010931968689, + 0.4617486298084259 + ], + "translation":[ + -0.11550715565681458, + 0.13888607919216156, + -0.10144039243459702 + ] + }, + { + "extensions":{ + "KHR_physics_rigid_bodies":{ + "collider":{ + "geometry":{ + "convexHull":false, + "mesh":9 + }, + "physicsMaterial":0, + "collisionFilter":1 + } + } + }, + "name":"proxy-shaft", + "rotation":[ + 0.70710688829422, + 0, + 0, + 0.7071066498756409 + ], + "scale":[ + 2.122300148010254, + 2.122299909591675, + 2.122299909591675 + ], + "translation":[ + -0.007904052734375, + 0, + 0 + ] + }, + { + "extensions":{ + "KHR_physics_rigid_bodies":{ + "collider":{ + "geometry":{ + "convexHull":false, + "mesh":10 + }, + "physicsMaterial":0, + "collisionFilter":1 + } + } + }, + "mesh":10, + "name":"track-glass-above", + "translation":[ + 0.049842603504657745, + 0.11497809737920761, + 0.7262114882469177 + ] + }, + { + "extensions":{ + "KHR_physics_rigid_bodies":{ + "collider":{ + "geometry":{ + "convexHull":false, + "mesh":11 + }, + "physicsMaterial":0, + "collisionFilter":1 + } + } + }, + "mesh":11, + "name":"track-glass-below", + "translation":[ + 0.049842603504657745, + 0.11497809737920761, + 0.7262114882469177 + ] + }, + { + "extensions":{ + "KHR_physics_rigid_bodies":{ + "collider":{ + "geometry":{ + "convexHull":false, + "mesh":12 + }, + "physicsMaterial":0, + "collisionFilter":1 + } + } + }, + "mesh":12, + "name":"track-struts-above", + "translation":[ + 0.05020309239625931, + 0.11496283113956451, + 0.7643736600875854 + ] + }, + { + "extensions":{ + "KHR_physics_rigid_bodies":{ + "collider":{ + "geometry":{ + "convexHull":false, + "mesh":13 + }, + "physicsMaterial":0, + "collisionFilter":1 + } + } + }, + "mesh":13, + "name":"track-struts-below", + "translation":[ + 0.049842603504657745, + 0.11497808992862701, + 0.763961672782898 + ] + }, + { + "name":"jointSpaceB", + "rotation":[ + 0, + 0, + 0, + 1 + ], + "translation":[ + 7.450580596923828e-09, + 3.051410857324299e-08, + -0.05532821640372276 + ] + }, + { + "extensions":{ + "KHR_physics_rigid_bodies":{ + "joint":{ + "connectedNode":19, + "joint":0 + } + } + }, + "name":"jointSpaceA", + "rotation":[ + 0, + 0, + 0, + 1 + ], + "translation":[ + -0.10071313381195068, + -0.4054393768310547, + 0.21651366353034973 + ] + }, + { + "name":"jointSpaceB", + "rotation":[ + 0, + 0, + 0, + 1 + ], + "translation":[ + -0.020507827401161194, + -1.6534329461137531e-10, + -3.516573698902903e-10 + ] + }, + { + "extensions":{ + "KHR_physics_rigid_bodies":{ + "joint":{ + "connectedNode":21, + "joint":1 + } + } + }, + "name":"jointSpaceA", + "rotation":[ + 0, + 0, + 0, + 1 + ], + "translation":[ + 0.18621444702148438, + -0.0026173721998929977, + 0.541895866394043 + ] + }, + { + "children":[ + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 20, + 22 + ], + "extensions":{ + "KHR_physics_rigid_bodies":{ + "motion":{ + "isKinematic":true, + "mass":1 + } + } + }, + "mesh":14, + "name":"proxy-root", + "rotation":[ + -0.70710688829422, + 0, + 0, + 0.7071066498756409 + ] + }, + { + "mesh":15, + "name":"light-mesh-orbital", + "translation":[ + -0.20972326397895813, + 0.061120133846998215, + 0.32378047704696655 + ] + }, + { + "extensions":{ + "KHR_physics_rigid_bodies":{ + "collider":{ + "geometry":{ + "convexHull":true, + "mesh":16 + }, + "physicsMaterial":0, + "collisionFilter":1 + } + } + }, + "mesh":16, + "name":"orbiter-foil", + "rotation":[ + 0, + 0, + 0.19509035348892212, + 0.9807853102684021 + ], + "translation":[ + 0, + 0, + 0.1137620285153389 + ] + }, + { + "mesh":17, + "name":"orbiter-struts", + "rotation":[ + 0, + 0, + 0.19509033858776093, + 0.9807853102684021 + ], + "translation":[ + 0, + 0, + 0.1137620285153389 + ] + }, + { + "extensions":{ + "KHR_physics_rigid_bodies":{ + "collider":{ + "geometry":{ + "convexHull":true, + "mesh":18 + }, + "physicsMaterial":0, + "collisionFilter":2 + } + } + }, + "name":"proxy-orbiter-box1", + "translation":[ + -0.00027236342430114746, + -0.04553163796663284, + -0.0042407820001244545 + ] + }, + { + "extensions":{ + "KHR_physics_rigid_bodies":{ + "collider":{ + "geometry":{ + "convexHull":true, + "mesh":19 + }, + "physicsMaterial":0, + "collisionFilter":2 + } + } + }, + "name":"proxy-orbiter-box2", + "rotation":[ + 0, + 0, + -0.7071068286895752, + 0.7071068286895752 + ], + "translation":[ + -0.0455317422747612, + 0.00027247649268247187, + -0.0042407759465277195 + ] + }, + { + "extensions":{ + "KHR_physics_rigid_bodies":{ + "collider":{ + "geometry":{ + "convexHull":true, + "mesh":20 + }, + "physicsMaterial":0, + "collisionFilter":2 + } + } + }, + "name":"proxy-orbiter-box3", + "rotation":[ + 0, + 0, + 1, + 4.371138828673793e-08 + ], + "translation":[ + 0.00027235597372055054, + 0.04553177207708359, + -0.0042407698929309845 + ] + }, + { + "extensions":{ + "KHR_physics_rigid_bodies":{ + "collider":{ + "geometry":{ + "convexHull":true, + "mesh":21 + }, + "physicsMaterial":0, + "collisionFilter":2 + } + } + }, + "name":"proxy-orbiter-box4", + "rotation":[ + 0, + 0, + 0.7071068286895752, + 0.7071068286895752 + ], + "translation":[ + 0.0455317460000515, + -0.00027225035591982305, + -0.0042407759465277195 + ] + }, + { + "children":[ + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 19 + ], + "extensions":{ + "KHR_physics_rigid_bodies":{ + "motion":{ + "mass":0.10000000149011612, + "centerOfMass":[ + 0, + 0, + 0 + ] + } + } + }, + "mesh":22, + "name":"proxy-orbiter-root", + "rotation":[ + -0.70710688829422, + 0, + 0, + 0.7071066498756409 + ], + "translation":[ + -0.10071313381195068, + 0.27184197306632996, + 0.4054394066333771 + ] + }, + { + "mesh":23, + "name":"light-mesh-wheel", + "translation":[ + -0.03222370147705078, + 0, + 0.0007324811303988099 + ] + }, + { + "extensions":{ + "KHR_physics_rigid_bodies":{ + "collider":{ + "geometry":{ + "convexHull":true, + "mesh":24 + }, + "physicsMaterial":0, + "collisionFilter":2 + } + } + }, + "name":"proxy-wheel-box1", + "rotation":[ + -0.39284756779670715, + -0.5879377722740173, + 0.39284747838974, + 0.5879378318786621 + ], + "translation":[ + -0.0633181780576706, + -0.053436778485774994, + 0.12900768220424652 + ] + }, + { + "extensions":{ + "KHR_physics_rigid_bodies":{ + "collider":{ + "geometry":{ + "convexHull":true, + "mesh":25 + }, + "physicsMaterial":0, + "collisionFilter":2 + } + } + }, + "name":"proxy-wheel-box2", + "rotation":[ + -0.5879378914833069, + -0.39284735918045044, + 0.5879377126693726, + 0.39284759759902954 + ], + "translation":[ + -0.0633181631565094, + 0.05343669652938843, + 0.12900769710540771 + ] + }, + { + "extensions":{ + "KHR_physics_rigid_bodies":{ + "collider":{ + "geometry":{ + "convexHull":true, + "mesh":26 + }, + "physicsMaterial":0, + "collisionFilter":2 + } + } + }, + "name":"proxy-wheel-box3", + "rotation":[ + -0.6935200095176697, + -0.13794955611228943, + 0.6935198307037354, + 0.13794972002506256 + ], + "translation":[ + -0.0633181482553482, + 0.12900765240192413, + 0.05343671515583992 + ] + }, + { + "extensions":{ + "KHR_physics_rigid_bodies":{ + "collider":{ + "geometry":{ + "convexHull":true, + "mesh":27 + }, + "physicsMaterial":0, + "collisionFilter":2 + } + } + }, + "name":"proxy-wheel-box4", + "rotation":[ + 0.6935198903083801, + -0.13794977962970734, + -0.6935199499130249, + 0.13794966042041779 + ], + "translation":[ + -0.0633181482553482, + 0.12900762259960175, + -0.0534367673099041 + ] + }, + { + "extensions":{ + "KHR_physics_rigid_bodies":{ + "collider":{ + "geometry":{ + "convexHull":true, + "mesh":28 + }, + "physicsMaterial":0, + "collisionFilter":2 + } + } + }, + "name":"proxy-wheel-box5", + "rotation":[ + 0.5879377126693726, + -0.3928475081920624, + -0.5879378914833069, + 0.3928473889827728 + ], + "translation":[ + -0.0633181631565094, + 0.053436655551195145, + -0.12900769710540771 + ] + }, + { + "extensions":{ + "KHR_physics_rigid_bodies":{ + "collider":{ + "geometry":{ + "convexHull":true, + "mesh":29 + }, + "physicsMaterial":0, + "collisionFilter":2 + } + } + }, + "name":"proxy-wheel-box6", + "rotation":[ + 0.39284756779670715, + -0.5879377722740173, + -0.39284762740135193, + 0.5879377126693726 + ], + "translation":[ + -0.0633181780576706, + -0.053436797112226486, + -0.12900765240192413 + ] + }, + { + "extensions":{ + "KHR_physics_rigid_bodies":{ + "collider":{ + "geometry":{ + "convexHull":true, + "mesh":30 + }, + "physicsMaterial":0, + "collisionFilter":2 + } + } + }, + "name":"proxy-wheel-box7", + "rotation":[ + 0.13794979453086853, + -0.6935199499130249, + -0.1379498690366745, + 0.6935198307037354 + ], + "translation":[ + -0.06331819295883179, + -0.1290077120065689, + -0.053436655551195145 + ] + }, + { + "extensions":{ + "KHR_physics_rigid_bodies":{ + "collider":{ + "geometry":{ + "convexHull":true, + "mesh":31 + }, + "physicsMaterial":0, + "collisionFilter":2 + } + } + }, + "name":"proxy-wheel-box8", + "rotation":[ + -0.13794955611228943, + -0.6935199499130249, + 0.1379494071006775, + 0.6935200095176697 + ], + "translation":[ + -0.06331819295883179, + -0.12900765240192413, + 0.053436797112226486 + ] + }, + { + "extensions":{ + "KHR_physics_rigid_bodies":{ + "collider":{ + "geometry":{ + "convexHull":true, + "mesh":32 + }, + "physicsMaterial":0, + "collisionFilter":2 + } + } + }, + "name":"proxy-wheel-cylinder1", + "rotation":[ + 0.5, + -0.5, + -0.5000000596046448, + 0.49999991059303284 + ], + "translation":[ + -0.0633181780576706, + 0, + 0 + ] + }, + { + "extensions":{ + "KHR_physics_rigid_bodies":{ + "collider":{ + "geometry":{ + "convexHull":true, + "mesh":33 + }, + "physicsMaterial":0, + "collisionFilter":2 + } + } + }, + "name":"proxy-wheel-cylinder2", + "rotation":[ + 0.5, + -0.5, + -0.5000000596046448, + 0.49999991059303284 + ], + "translation":[ + -0.04822210967540741, + 0, + 0 + ] + }, + { + "extensions":{ + "KHR_physics_rigid_bodies":{ + "collider":{ + "geometry":{ + "convexHull":true, + "mesh":34 + }, + "physicsMaterial":0, + "collisionFilter":2 + } + } + }, + "name":"proxy-wheel-cylinder3", + "rotation":[ + 0.5, + -0.5, + -0.5000000596046448, + 0.49999991059303284 + ], + "translation":[ + -0.1283002346754074, + 0, + 0 + ] + }, + { + "mesh":35, + "name":"wheel-foil", + "translation":[ + -0.1336860954761505, + 0, + 0 + ] + }, + { + "mesh":36, + "name":"wheel-padding", + "translation":[ + -0.1336860954761505, + 0, + 0 + ] + }, + { + "mesh":37, + "name":"wheel-struts", + "translation":[ + -0.1336860954761505, + 0, + 0 + ] + }, + { + "children":[ + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 21 + ], + "extensions":{ + "KHR_physics_rigid_bodies":{ + "motion":{ + "mass":1 + } + } + }, + "mesh":38, + "name":"proxy-wheel-root", + "rotation":[ + -0.70710688829422, + 0, + 0, + 0.7071066498756409 + ], + "translation":[ + 0.20672225952148438, + 0.5418959259986877, + 0.0026172995567321777 + ] + }, + { + "camera":0, + "name":"Camera Overview", + "rotation":[ + -0.24321037530899048, + -0.33036619424819946, + -0.08852139115333557, + 0.9076732993125916 + ], + "translation":[ + -0.8255729675292969, + 1.1425631046295166, + 0.9397955536842346 + ] + }, + { + "camera":1, + "name":"Camera Below", + "rotation":[ + 0.36573871970176697, + -0.1492994874715805, + 0.059564441442489624, + 0.9167317152023315 + ], + "translation":[ + -0.24182362854480743, + -0.08455879241228104, + 0.36432933807373047 + ] + }, + { + "camera":2, + "name":"Camera Orbiter", + "rotation":[ + -0.14945697784423828, + 0.8441149592399597, + 0.4162714183330536, + 0.30306869745254517 + ], + "translation":[ + 0.0473732128739357, + 0.8299264311790466, + 0.22279687225818634 + ] + }, + { + "camera":3, + "name":"Camera Wheel", + "rotation":[ + -0.2170639932155609, + 0.5260805487632751, + 0.14096283912658691, + 0.8100938200950623 + ], + "translation":[ + 0.47863900661468506, + 0.7817407846450806, + 0.19427339732646942 + ] + }, + { + "mesh":39, + "name":"elevator-effect", + "rotation":[ + -0.6943508386611938, + 0.13370484113693237, + 0.13370484113693237, + 0.6943507790565491 + ], + "translation":[ + -0.10957499593496323, + 0, + -0.14033780992031097 + ] + }, + { + "extensions":{ + "KHR_physics_rigid_bodies":{ + "trigger":{ + "geometry":{ + "shape":2 + }, + "collisionFilter":1 + } + } + }, + "name":"GravityNegative", + "scale":[ + 0.03999999910593033, + 0.10000000149011612, + 0.029999999329447746 + ], + "translation":[ + -0.11657129228115082, + 0.0035108961164951324, + -0.141667902469635 + ] + }, + { + "extensions":{ + "KHR_physics_rigid_bodies":{ + "trigger":{ + "geometry":{ + "shape":2 + }, + "collisionFilter":1 + } + } + }, + "name":"GravityPositive", + "scale":[ + 0.019999999552965164, + 0.029999999329447746, + 0.029999999329447746 + ], + "translation":[ + -0.04902762547135353, + 0.7458568215370178, + -0.141667902469635 + ] + } + ], + "cameras":[ + { + "name":"Camera Overview", + "perspective":{ + "aspectRatio":1.7777777777777777, + "yfov":0.7853981852531433, + "zfar":3, + "znear":0.009999999776482582 + }, + "type":"perspective" + }, + { + "name":"Camera Below", + "perspective":{ + "aspectRatio":1.7777777777777777, + "yfov":0.7853981852531433, + "zfar":3, + "znear":0.009999999776482582 + }, + "type":"perspective" + }, + { + "name":"Camera Orbiter", + "perspective":{ + "aspectRatio":1.7777777777777777, + "yfov":0.7853981852531433, + "zfar":3, + "znear":0.009999999776482582 + }, + "type":"perspective" + }, + { + "name":"Camera Wheel", + "perspective":{ + "aspectRatio":1.7777777777777777, + "yfov":0.7853981852531433, + "zfar":3, + "znear":0.009999999776482582 + }, + "type":"perspective" + } + ], + "animations":[ + { + "channels":[ + { + "sampler":0, + "target":{ + "extensions":{ + "KHR_animation_pointer":{ + "pointer":"/materials/6/emissiveTexture/extensions/KHR_texture_transform/offset" + } + }, + "path":"pointer" + } + } + ], + "name":"light-blinkerAction", + "samplers":[ + { + "input":132, + "interpolation":"LINEAR", + "output":133 + } + ] + }, + { + "channels":[ + { + "sampler":0, + "target":{ + "extensions":{ + "KHR_animation_pointer":{ + "pointer":"/materials/10/emissiveTexture/extensions/KHR_texture_transform/offset" + } + }, + "path":"pointer" + } + } + ], + "name":"elevator", + "samplers":[ + { + "input":132, + "interpolation":"LINEAR", + "output":134 + } + ] + }, + { + "channels":[ + { + "sampler":0, + "target":{ + "extensions":{ + "KHR_animation_pointer":{ + "pointer":"/materials/10/emissiveTexture/extensions/KHR_texture_transform/offset" + } + }, + "path":"pointer" + } + } + ], + "name":"elevator.002Action", + "samplers":[ + { + "input":132, + "interpolation":"LINEAR", + "output":134 + } + ] + } + ], + "materials":[ + { + "extensions":{ + "KHR_materials_clearcoat":{ + "clearcoatFactor":1 + } + }, + "name":"marble2", + "pbrMetallicRoughness":{ + "baseColorFactor":[ + 0.11764706671237946, + 0.8627451658248901, + 0.20784315466880798, + 1 + ], + "metallicRoughnessTexture":{ + "index":0 + } + } + }, + { + "extensions":{ + "KHR_materials_clearcoat":{ + "clearcoatFactor":1 + } + }, + "name":"marble3", + "pbrMetallicRoughness":{ + "baseColorFactor":[ + 0.11764706671237946, + 0.11764706671237946, + 0.8627451658248901, + 1 + ], + "metallicRoughnessTexture":{ + "index":1 + } + } + }, + { + "extensions":{ + "KHR_materials_clearcoat":{ + "clearcoatFactor":1 + } + }, + "name":"marble1", + "pbrMetallicRoughness":{ + "baseColorFactor":[ + 0.8627451658248901, + 0.11764706671237946, + 0.11764706671237946, + 1 + ], + "metallicRoughnessTexture":{ + "index":2 + } + } + }, + { + "name":"gold-foil", + "normalTexture":{ + "index":3 + }, + "occlusionTexture":{ + "index":4, + "texCoord":1 + }, + "pbrMetallicRoughness":{ + "baseColorFactor":[ + 1, + 0.6941176652908325, + 0.5254902243614197, + 1 + ], + "roughnessFactor":0.3490000069141388 + } + }, + { + "name":"padding", + "normalTexture":{ + "index":5 + }, + "occlusionTexture":{ + "index":6, + "texCoord":1 + }, + "pbrMetallicRoughness":{ + "baseColorFactor":[ + 0.5960784554481506, + 0.5803921818733215, + 0.529411792755127, + 1 + ], + "metallicFactor":0, + "roughnessFactor":0.6600000262260437 + } + }, + { + "name":"struts", + "occlusionTexture":{ + "index":7, + "texCoord":1 + }, + "pbrMetallicRoughness":{ + "baseColorFactor":[ + 0.12941177189350128, + 0.12941177189350128, + 0.12941177189350128, + 1 + ], + "metallicRoughnessTexture":{ + "index":8 + } + } + }, + { + "emissiveFactor":[ + 1, + 0, + 0 + ], + "emissiveTexture":{ + "extensions":{ + "KHR_texture_transform":{} + }, + "index":9 + }, + "extensions":{ + "KHR_materials_emissive_strength":{ + "emissiveStrength":2 + } + }, + "name":"light-blinker", + "pbrMetallicRoughness":{ + "baseColorFactor":[ + 0.05744083225727081, + 0.05744083225727081, + 0.05744083225727081, + 1 + ], + "metallicFactor":0, + "roughnessFactor":0.20000000298023224 + } + }, + { + "name":"moon", + "normalTexture":{ + "index":10 + }, + "occlusionTexture":{ + "index":11, + "texCoord":1 + }, + "pbrMetallicRoughness":{ + "baseColorTexture":{ + "index":12 + }, + "metallicFactor":0 + } + }, + { + "doubleSided":false, + "extensions":{ + "KHR_materials_clearcoat":{ + "clearcoatFactor":1, + "clearcoatRoughnessFactor":0.30000001192092896 + }, + "KHR_materials_transmission":{ + "transmissionFactor":1 + }, + "KHR_materials_volume":{ + "attenuationColor":[ + 0.4901961088180542, + 1, + 0.803921639919281 + ], + "attenuationDistance":0.1, + "thicknessFactor":0.019999999552965164 + } + }, + "name":"track-glass", + "occlusionTexture":{ + "index":13, + "texCoord":1 + }, + "pbrMetallicRoughness":{ + "metallicFactor":0, + "metallicRoughnessTexture":{ + "index":14 + } + } + }, + { + "name":"steel-foil", + "normalTexture":{ + "index":15 + }, + "occlusionTexture":{ + "index":16, + "texCoord":1 + }, + "pbrMetallicRoughness":{ + "roughnessFactor":0.3490000069141388 + } + }, + { + "alphaMode":"BLEND", + "emissiveFactor":[ + 0, + 1, + 1 + ], + "emissiveTexture":{ + "extensions":{ + "KHR_texture_transform":{ + "offset":[ + 0, + -19 + ], + "scale":[ + 1, + 20 + ] + } + }, + "index":17 + }, + "name":"elevator", + "pbrMetallicRoughness":{ + "baseColorFactor":[ + 0, + 0.4941176772117615, + 0.501960813999176, + 1 + ], + "baseColorTexture":{ + "index":18 + }, + "metallicFactor":0 + } + } + ], + "meshes":[ + { + "name":"marble2", + "primitives":[ + { + "attributes":{ + "POSITION":0, + "NORMAL":1, + "TEXCOORD_0":2 + }, + "indices":3, + "material":0 + } + ] + }, + { + "name":"marble3", + "primitives":[ + { + "attributes":{ + "POSITION":4, + "NORMAL":5, + "TEXCOORD_0":6 + }, + "indices":3, + "material":1 + } + ] + }, + { + "name":"marble1", + "primitives":[ + { + "attributes":{ + "POSITION":7, + "NORMAL":8, + "TEXCOORD_0":9 + }, + "indices":3, + "material":2 + } + ] + }, + { + "name":"elevator-foil", + "primitives":[ + { + "attributes":{ + "POSITION":10, + "NORMAL":11, + "TEXCOORD_0":12, + "TEXCOORD_1":13 + }, + "indices":14, + "material":3 + } + ] + }, + { + "name":"elevator-padding", + "primitives":[ + { + "attributes":{ + "POSITION":15, + "NORMAL":16, + "TEXCOORD_0":17, + "TEXCOORD_1":18 + }, + "indices":19, + "material":4 + } + ] + }, + { + "name":"elevator-struts", + "primitives":[ + { + "attributes":{ + "POSITION":20, + "NORMAL":21, + "TEXCOORD_0":22, + "TEXCOORD_1":23 + }, + "indices":24, + "material":5 + } + ] + }, + { + "name":"light-mesh-top", + "primitives":[ + { + "attributes":{ + "POSITION":25, + "NORMAL":26, + "TEXCOORD_0":27 + }, + "indices":28, + "material":6 + } + ] + }, + { + "name":"orbiter-moon", + "primitives":[ + { + "attributes":{ + "POSITION":29, + "NORMAL":30, + "TEXCOORD_0":31, + "TEXCOORD_1":32 + }, + "indices":3, + "material":7 + } + ] + }, + { + "name":"proxy-floor", + "primitives":[ + { + "attributes":{ + "POSITION":33, + "NORMAL":34 + }, + "indices":35 + } + ] + }, + { + "name":"proxy-shaft", + "primitives":[ + { + "attributes":{ + "POSITION":36, + "NORMAL":37 + }, + "indices":38 + } + ] + }, + { + "name":"track-glass-above", + "primitives":[ + { + "attributes":{ + "POSITION":39, + "NORMAL":40, + "TEXCOORD_0":41, + "TEXCOORD_1":42 + }, + "indices":43, + "material":8 + } + ] + }, + { + "name":"track-glass-below", + "primitives":[ + { + "attributes":{ + "POSITION":44, + "NORMAL":45, + "TEXCOORD_0":46, + "TEXCOORD_1":47 + }, + "indices":48, + "material":8 + } + ] + }, + { + "name":"track-struts-above", + "primitives":[ + { + "attributes":{ + "POSITION":49, + "NORMAL":50, + "TEXCOORD_0":51, + "TEXCOORD_1":52 + }, + "indices":53, + "material":5 + } + ] + }, + { + "name":"track-struts-below", + "primitives":[ + { + "attributes":{ + "POSITION":54, + "NORMAL":55, + "TEXCOORD_0":56, + "TEXCOORD_1":57 + }, + "indices":58, + "material":5 + } + ] + }, + { + "name":"proxy-root", + "primitives":[ + { + "attributes":{ + "POSITION":59, + "NORMAL":60 + }, + "indices":61 + } + ] + }, + { + "name":"light-mesh-orbital", + "primitives":[ + { + "attributes":{ + "POSITION":62, + "NORMAL":63, + "TEXCOORD_0":64 + }, + "indices":28, + "material":6 + } + ] + }, + { + "name":"orbiter-foil", + "primitives":[ + { + "attributes":{ + "POSITION":65, + "NORMAL":66, + "TEXCOORD_0":67, + "TEXCOORD_1":68 + }, + "indices":69, + "material":9 + } + ] + }, + { + "name":"orbiter-struts", + "primitives":[ + { + "attributes":{ + "POSITION":70, + "NORMAL":71, + "TEXCOORD_0":72, + "TEXCOORD_1":73 + }, + "indices":74, + "material":5 + } + ] + }, + { + "name":"proxy-orbiter-box1", + "primitives":[ + { + "attributes":{ + "POSITION":75, + "NORMAL":76 + }, + "indices":61 + } + ] + }, + { + "name":"proxy-orbiter-box2", + "primitives":[ + { + "attributes":{ + "POSITION":77, + "NORMAL":78 + }, + "indices":61 + } + ] + }, + { + "name":"proxy-orbiter-box3", + "primitives":[ + { + "attributes":{ + "POSITION":79, + "NORMAL":80 + }, + "indices":61 + } + ] + }, + { + "name":"proxy-orbiter-box4", + "primitives":[ + { + "attributes":{ + "POSITION":81, + "NORMAL":82 + }, + "indices":61 + } + ] + }, + { + "name":"proxy-orbiter-root", + "primitives":[ + { + "attributes":{ + "POSITION":83, + "NORMAL":84 + }, + "indices":61 + } + ] + }, + { + "name":"light-mesh-wheel", + "primitives":[ + { + "attributes":{ + "POSITION":85, + "NORMAL":86, + "TEXCOORD_0":87 + }, + "indices":28, + "material":6 + } + ] + }, + { + "name":"proxy-wheel-box1", + "primitives":[ + { + "attributes":{ + "POSITION":88, + "NORMAL":89 + }, + "indices":61 + } + ] + }, + { + "name":"proxy-wheel-box2", + "primitives":[ + { + "attributes":{ + "POSITION":90, + "NORMAL":91 + }, + "indices":61 + } + ] + }, + { + "name":"proxy-wheel-box3", + "primitives":[ + { + "attributes":{ + "POSITION":92, + "NORMAL":93 + }, + "indices":61 + } + ] + }, + { + "name":"proxy-wheel-box4", + "primitives":[ + { + "attributes":{ + "POSITION":94, + "NORMAL":95 + }, + "indices":61 + } + ] + }, + { + "name":"proxy-wheel-box5", + "primitives":[ + { + "attributes":{ + "POSITION":96, + "NORMAL":97 + }, + "indices":61 + } + ] + }, + { + "name":"proxy-wheel-box6", + "primitives":[ + { + "attributes":{ + "POSITION":98, + "NORMAL":99 + }, + "indices":61 + } + ] + }, + { + "name":"proxy-wheel-box7", + "primitives":[ + { + "attributes":{ + "POSITION":100, + "NORMAL":101 + }, + "indices":61 + } + ] + }, + { + "name":"proxy-wheel-box8", + "primitives":[ + { + "attributes":{ + "POSITION":102, + "NORMAL":103 + }, + "indices":61 + } + ] + }, + { + "name":"proxy-wheel-cylinder1", + "primitives":[ + { + "attributes":{ + "POSITION":104, + "NORMAL":105 + }, + "indices":106 + } + ] + }, + { + "name":"proxy-wheel-cylinder2", + "primitives":[ + { + "attributes":{ + "POSITION":107, + "NORMAL":108 + }, + "indices":106 + } + ] + }, + { + "name":"proxy-wheel-cylinder3", + "primitives":[ + { + "attributes":{ + "POSITION":109, + "NORMAL":110 + }, + "indices":106 + } + ] + }, + { + "name":"wheel-foil", + "primitives":[ + { + "attributes":{ + "POSITION":111, + "NORMAL":112, + "TEXCOORD_0":113, + "TEXCOORD_1":114 + }, + "indices":115, + "material":3 + } + ] + }, + { + "name":"wheel-padding", + "primitives":[ + { + "attributes":{ + "POSITION":116, + "NORMAL":117, + "TEXCOORD_0":118, + "TEXCOORD_1":119 + }, + "indices":120, + "material":4 + } + ] + }, + { + "name":"wheel-struts", + "primitives":[ + { + "attributes":{ + "POSITION":121, + "NORMAL":122, + "TEXCOORD_0":123, + "TEXCOORD_1":124 + }, + "indices":125, + "material":5 + } + ] + }, + { + "name":"proxy-wheel-root", + "primitives":[ + { + "attributes":{ + "POSITION":126, + "NORMAL":127 + }, + "indices":61 + } + ] + }, + { + "name":"elevator-effect", + "primitives":[ + { + "attributes":{ + "POSITION":128, + "NORMAL":129, + "TEXCOORD_0":130 + }, + "indices":131, + "material":10 + } + ] + } + ], + "textures":[ + { + "sampler":0, + "source":0 + }, + { + "sampler":0, + "source":0 + }, + { + "sampler":0, + "source":0 + }, + { + "sampler":0, + "source":1 + }, + { + "sampler":0, + "source":2 + }, + { + "sampler":0, + "source":1 + }, + { + "sampler":0, + "source":2 + }, + { + "sampler":0, + "source":2 + }, + { + "sampler":0, + "source":0 + }, + { + "sampler":0, + "source":3 + }, + { + "sampler":0, + "source":4 + }, + { + "sampler":0, + "source":2 + }, + { + "sampler":0, + "source":5 + }, + { + "sampler":0, + "source":2 + }, + { + "sampler":0, + "source":6 + }, + { + "sampler":0, + "source":1 + }, + { + "sampler":0, + "source":2 + }, + { + "sampler":0, + "source":3 + }, + { + "sampler":0, + "source":7 + } + ], + "images":[ + { + "mimeType":"image/png", + "name":"marble_rough", + "uri":"marble_rough.png" + }, + { + "mimeType":"image/png", + "name":"foil_normal", + "uri":"foil_normal.png" + }, + { + "mimeType":"image/png", + "name":"ambient_occlusion", + "uri":"ambient_occlusion.png" + }, + { + "mimeType":"image/png", + "name":"elevator_emissive", + "uri":"elevator_emissive.png" + }, + { + "mimeType":"image/png", + "name":"moon_normal", + "uri":"moon_normal.png" + }, + { + "mimeType":"image/png", + "name":"moon_color", + "uri":"moon_color.png" + }, + { + "mimeType":"image/png", + "name":"glass_rough", + "uri":"glass_rough.png" + }, + { + "mimeType":"image/png", + "name":"elevator_color", + "uri":"elevator_color.png" + } + ], + "accessors":[ + { + "bufferView":0, + "componentType":5126, + "count":559, + "max":[ + 0.019999999552965164, + 0.019999999552965164, + 0.019999999552965164 + ], + "min":[ + -0.019999999552965164, + -0.019999999552965164, + -0.019999999552965164 + ], + "type":"VEC3" + }, + { + "bufferView":1, + "componentType":5126, + "count":559, + "type":"VEC3" + }, + { + "bufferView":2, + "componentType":5126, + "count":559, + "type":"VEC2" + }, + { + "bufferView":3, + "componentType":5123, + "count":2880, + "type":"SCALAR" + }, + { + "bufferView":4, + "componentType":5126, + "count":559, + "max":[ + 0.019999999552965164, + 0.019999999552965164, + 0.019999999552965164 + ], + "min":[ + -0.019999999552965164, + -0.019999999552965164, + -0.019999999552965164 + ], + "type":"VEC3" + }, + { + "bufferView":5, + "componentType":5126, + "count":559, + "type":"VEC3" + }, + { + "bufferView":6, + "componentType":5126, + "count":559, + "type":"VEC2" + }, + { + "bufferView":7, + "componentType":5126, + "count":559, + "max":[ + 0.019999999552965164, + 0.019999999552965164, + 0.019999999552965164 + ], + "min":[ + -0.019999999552965164, + -0.019999999552965164, + -0.019999999552965164 + ], + "type":"VEC3" + }, + { + "bufferView":8, + "componentType":5126, + "count":559, + "type":"VEC3" + }, + { + "bufferView":9, + "componentType":5126, + "count":559, + "type":"VEC2" + }, + { + "bufferView":10, + "componentType":5126, + "count":682, + "max":[ + 0.1260775625705719, + 0.1260775625705719, + 0.7991970181465149 + ], + "min":[ + -0.1260775625705719, + -0.1260775327682495, + 0.007552672643214464 + ], + "type":"VEC3" + }, + { + "bufferView":11, + "componentType":5126, + "count":682, + "type":"VEC3" + }, + { + "bufferView":12, + "componentType":5126, + "count":682, + "type":"VEC2" + }, + { + "bufferView":13, + "componentType":5126, + "count":682, + "type":"VEC2" + }, + { + "bufferView":14, + "componentType":5123, + "count":3012, + "type":"SCALAR" + }, + { + "bufferView":15, + "componentType":5126, + "count":863, + "max":[ + 0.12143021821975708, + 0.11856673657894135, + 0.8189296126365662 + ], + "min":[ + -0.11856674402952194, + -0.12100857496261597, + 0.003113913582637906 + ], + "type":"VEC3" + }, + { + "bufferView":16, + "componentType":5126, + "count":863, + "type":"VEC3" + }, + { + "bufferView":17, + "componentType":5126, + "count":863, + "type":"VEC2" + }, + { + "bufferView":18, + "componentType":5126, + "count":863, + "type":"VEC2" + }, + { + "bufferView":19, + "componentType":5123, + "count":3648, + "type":"SCALAR" + }, + { + "bufferView":20, + "componentType":5126, + "count":4551, + "max":[ + 0.20865067839622498, + 0.12319296598434448, + 0.943925678730011 + ], + "min":[ + -0.2005273699760437, + -0.5164159536361694, + -0.0025400035083293915 + ], + "type":"VEC3" + }, + { + "bufferView":21, + "componentType":5126, + "count":4551, + "type":"VEC3" + }, + { + "bufferView":22, + "componentType":5126, + "count":4551, + "type":"VEC2" + }, + { + "bufferView":23, + "componentType":5126, + "count":4551, + "type":"VEC2" + }, + { + "bufferView":24, + "componentType":5123, + "count":6408, + "type":"SCALAR" + }, + { + "bufferView":25, + "componentType":5126, + "count":6, + "max":[ + 0.007499999832361937, + 0.007499999832361937, + 0.007499999832361937 + ], + "min":[ + -0.007499999832361937, + -0.007499999832361937, + -0.007499999832361937 + ], + "type":"VEC3" + }, + { + "bufferView":26, + "componentType":5126, + "count":6, + "type":"VEC3" + }, + { + "bufferView":27, + "componentType":5126, + "count":6, + "type":"VEC2" + }, + { + "bufferView":28, + "componentType":5123, + "count":24, + "type":"SCALAR" + }, + { + "bufferView":29, + "componentType":5126, + "count":559, + "max":[ + 0.05935712531208992, + 0.05935712531208992, + 0.05935712531208992 + ], + "min":[ + -0.05935712531208992, + -0.05935712531208992, + -0.05935712531208992 + ], + "type":"VEC3" + }, + { + "bufferView":30, + "componentType":5126, + "count":559, + "type":"VEC3" + }, + { + "bufferView":31, + "componentType":5126, + "count":559, + "type":"VEC2" + }, + { + "bufferView":32, + "componentType":5126, + "count":559, + "type":"VEC2" + }, + { + "bufferView":33, + "componentType":5126, + "count":123, + "max":[ + 0.8102088570594788, + 0.816188395023346, + 0.18630574643611908 + ], + "min":[ + -0.8230744004249573, + -0.8170949220657349, + 0.002347620204091072 + ], + "type":"VEC3" + }, + { + "bufferView":34, + "componentType":5126, + "count":123, + "type":"VEC3" + }, + { + "bufferView":35, + "componentType":5123, + "count":492, + "type":"SCALAR" + }, + { + "bufferView":36, + "componentType":5126, + "count":100, + "max":[ + -0.014478353783488274, + 0.36726853251457214, + -0.010667769238352776 + ], + "min":[ + -0.0728728175163269, + -0.05141894891858101, + -0.08247315138578415 + ], + "type":"VEC3" + }, + { + "bufferView":37, + "componentType":5126, + "count":100, + "type":"VEC3" + }, + { + "bufferView":38, + "componentType":5123, + "count":474, + "type":"SCALAR" + }, + { + "bufferView":39, + "componentType":5126, + "count":458, + "max":[ + 0.08751143515110016, + 0.06934322416782379, + 0.021297302097082138 + ], + "min":[ + -0.09572827070951462, + -0.10225504636764526, + -0.04101565107703209 + ], + "type":"VEC3" + }, + { + "bufferView":40, + "componentType":5126, + "count":458, + "type":"VEC3" + }, + { + "bufferView":41, + "componentType":5126, + "count":458, + "type":"VEC2" + }, + { + "bufferView":42, + "componentType":5126, + "count":458, + "type":"VEC2" + }, + { + "bufferView":43, + "componentType":5123, + "count":2100, + "type":"SCALAR" + }, + { + "bufferView":44, + "componentType":5126, + "count":1648, + "max":[ + 0.11013796925544739, + 0.2470456063747406, + -0.36762309074401855 + ], + "min":[ + -0.40780892968177795, + -0.6196295022964478, + -0.7190331220626831 + ], + "type":"VEC3" + }, + { + "bufferView":45, + "componentType":5126, + "count":1648, + "type":"VEC3" + }, + { + "bufferView":46, + "componentType":5126, + "count":1648, + "type":"VEC2" + }, + { + "bufferView":47, + "componentType":5126, + "count":1648, + "type":"VEC2" + }, + { + "bufferView":48, + "componentType":5123, + "count":9162, + "type":"SCALAR" + }, + { + "bufferView":49, + "componentType":5126, + "count":3405, + "max":[ + 0.0859033614397049, + 0.06764492392539978, + 0.030090615153312683 + ], + "min":[ + -0.10236240923404694, + -0.11000338941812515, + -0.03403707221150398 + ], + "type":"VEC3" + }, + { + "bufferView":50, + "componentType":5126, + "count":3405, + "type":"VEC3" + }, + { + "bufferView":51, + "componentType":5126, + "count":3405, + "type":"VEC2" + }, + { + "bufferView":52, + "componentType":5126, + "count":3405, + "type":"VEC2" + }, + { + "bufferView":53, + "componentType":5123, + "count":5136, + "type":"SCALAR" + }, + { + "bufferView":54, + "componentType":5126, + "count":15688, + "max":[ + 0.12212087959051132, + 0.24532775580883026, + -0.38231465220451355 + ], + "min":[ + -0.4061228632926941, + -0.617931067943573, + -0.712344229221344 + ], + "type":"VEC3" + }, + { + "bufferView":55, + "componentType":5126, + "count":15688, + "type":"VEC3" + }, + { + "bufferView":56, + "componentType":5126, + "count":15688, + "type":"VEC2" + }, + { + "bufferView":57, + "componentType":5126, + "count":15688, + "type":"VEC2" + }, + { + "bufferView":58, + "componentType":5123, + "count":23616, + "type":"SCALAR" + }, + { + "bufferView":59, + "componentType":5126, + "count":8, + "max":[ + 0.004999999888241291, + 0.004999999888241291, + 0.004999999888241291 + ], + "min":[ + -0.004999999888241291, + -0.004999999888241291, + -0.004999999888241291 + ], + "type":"VEC3" + }, + { + "bufferView":60, + "componentType":5126, + "count":8, + "type":"VEC3" + }, + { + "bufferView":61, + "componentType":5123, + "count":36, + "type":"SCALAR" + }, + { + "bufferView":62, + "componentType":5126, + "count":6, + "max":[ + 0.007499999832361937, + 0.007499999832361937, + 0.007499999832361937 + ], + "min":[ + -0.007499999832361937, + -0.007499999832361937, + -0.007499999832361937 + ], + "type":"VEC3" + }, + { + "bufferView":63, + "componentType":5126, + "count":6, + "type":"VEC3" + }, + { + "bufferView":64, + "componentType":5126, + "count":6, + "type":"VEC2" + }, + { + "bufferView":65, + "componentType":5126, + "count":128, + "max":[ + -0.15875695645809174, + 0.13150009512901306, + 0.23766778409481049 + ], + "min":[ + -0.2329201102256775, + 0.0367538183927536, + 0.1822233945131302 + ], + "type":"VEC3" + }, + { + "bufferView":66, + "componentType":5126, + "count":128, + "type":"VEC3" + }, + { + "bufferView":67, + "componentType":5126, + "count":128, + "type":"VEC2" + }, + { + "bufferView":68, + "componentType":5126, + "count":128, + "type":"VEC2" + }, + { + "bufferView":69, + "componentType":5123, + "count":336, + "type":"SCALAR" + }, + { + "bufferView":70, + "componentType":5126, + "count":2514, + "max":[ + 0.07507436722517014, + 0.07548699527978897, + 0.2232811003923416 + ], + "min":[ + -0.23004481196403503, + -0.07519671320915222, + -0.11831057816743851 + ], + "type":"VEC3" + }, + { + "bufferView":71, + "componentType":5126, + "count":2514, + "type":"VEC3" + }, + { + "bufferView":72, + "componentType":5126, + "count":2514, + "type":"VEC2" + }, + { + "bufferView":73, + "componentType":5126, + "count":2514, + "type":"VEC2" + }, + { + "bufferView":74, + "componentType":5123, + "count":3672, + "type":"SCALAR" + }, + { + "bufferView":75, + "componentType":5126, + "count":8, + "max":[ + 0.004999999888241291, + 0.03492842614650726, + 0.009999999776482582 + ], + "min":[ + -0.004999999888241291, + -0.03492842614650726, + 0 + ], + "type":"VEC3" + }, + { + "bufferView":76, + "componentType":5126, + "count":8, + "type":"VEC3" + }, + { + "bufferView":77, + "componentType":5126, + "count":8, + "max":[ + 0.004999999888241291, + 0.03492842614650726, + 0.009999999776482582 + ], + "min":[ + -0.004999999888241291, + -0.03492842614650726, + 0 + ], + "type":"VEC3" + }, + { + "bufferView":78, + "componentType":5126, + "count":8, + "type":"VEC3" + }, + { + "bufferView":79, + "componentType":5126, + "count":8, + "max":[ + 0.004999999888241291, + 0.03492842614650726, + 0.009999999776482582 + ], + "min":[ + -0.004999999888241291, + -0.03492842614650726, + 0 + ], + "type":"VEC3" + }, + { + "bufferView":80, + "componentType":5126, + "count":8, + "type":"VEC3" + }, + { + "bufferView":81, + "componentType":5126, + "count":8, + "max":[ + 0.004999999888241291, + 0.03492842614650726, + 0.009999999776482582 + ], + "min":[ + -0.004999999888241291, + -0.03492842614650726, + 0 + ], + "type":"VEC3" + }, + { + "bufferView":82, + "componentType":5126, + "count":8, + "type":"VEC3" + }, + { + "bufferView":83, + "componentType":5126, + "count":8, + "max":[ + 0.004999999888241291, + 0.004999999888241291, + 0.005000002682209015 + ], + "min":[ + -0.004999999888241291, + -0.004999999888241291, + -0.004999995231628418 + ], + "type":"VEC3" + }, + { + "bufferView":84, + "componentType":5126, + "count":8, + "type":"VEC3" + }, + { + "bufferView":85, + "componentType":5126, + "count":6, + "max":[ + 0.007499999832361937, + 0.007499999832361937, + 0.007499999832361937 + ], + "min":[ + -0.007499999832361937, + -0.007499999832361937, + -0.007499999832361937 + ], + "type":"VEC3" + }, + { + "bufferView":86, + "componentType":5126, + "count":6, + "type":"VEC3" + }, + { + "bufferView":87, + "componentType":5126, + "count":6, + "type":"VEC2" + }, + { + "bufferView":88, + "componentType":5126, + "count":8, + "max":[ + 0.004999999888241291, + 0.014999999664723873, + 0.05999999865889549 + ], + "min":[ + -0.004999999888241291, + -0.014999999664723873, + 0 + ], + "type":"VEC3" + }, + { + "bufferView":89, + "componentType":5126, + "count":8, + "type":"VEC3" + }, + { + "bufferView":90, + "componentType":5126, + "count":8, + "max":[ + 0.004999999888241291, + 0.014999999664723873, + 0.05999999865889549 + ], + "min":[ + -0.004999999888241291, + -0.014999999664723873, + 0 + ], + "type":"VEC3" + }, + { + "bufferView":91, + "componentType":5126, + "count":8, + "type":"VEC3" + }, + { + "bufferView":92, + "componentType":5126, + "count":8, + "max":[ + 0.004999999888241291, + 0.014999999664723873, + 0.05999999865889549 + ], + "min":[ + -0.004999999888241291, + -0.014999999664723873, + 0 + ], + "type":"VEC3" + }, + { + "bufferView":93, + "componentType":5126, + "count":8, + "type":"VEC3" + }, + { + "bufferView":94, + "componentType":5126, + "count":8, + "max":[ + 0.004999999888241291, + 0.014999999664723873, + 0.05999999865889549 + ], + "min":[ + -0.004999999888241291, + -0.014999999664723873, + 0 + ], + "type":"VEC3" + }, + { + "bufferView":95, + "componentType":5126, + "count":8, + "type":"VEC3" + }, + { + "bufferView":96, + "componentType":5126, + "count":8, + "max":[ + 0.004999999888241291, + 0.014999999664723873, + 0.05999999865889549 + ], + "min":[ + -0.004999999888241291, + -0.014999999664723873, + 0 + ], + "type":"VEC3" + }, + { + "bufferView":97, + "componentType":5126, + "count":8, + "type":"VEC3" + }, + { + "bufferView":98, + "componentType":5126, + "count":8, + "max":[ + 0.004999999888241291, + 0.014999999664723873, + 0.05999999865889549 + ], + "min":[ + -0.004999999888241291, + -0.014999999664723873, + 0 + ], + "type":"VEC3" + }, + { + "bufferView":99, + "componentType":5126, + "count":8, + "type":"VEC3" + }, + { + "bufferView":100, + "componentType":5126, + "count":8, + "max":[ + 0.004999999888241291, + 0.014999999664723873, + 0.05999999865889549 + ], + "min":[ + -0.004999999888241291, + -0.014999999664723873, + 0 + ], + "type":"VEC3" + }, + { + "bufferView":101, + "componentType":5126, + "count":8, + "type":"VEC3" + }, + { + "bufferView":102, + "componentType":5126, + "count":8, + "max":[ + 0.004999999888241291, + 0.014999999664723873, + 0.05999999865889549 + ], + "min":[ + -0.004999999888241291, + -0.014999999664723873, + 0 + ], + "type":"VEC3" + }, + { + "bufferView":103, + "componentType":5126, + "count":8, + "type":"VEC3" + }, + { + "bufferView":104, + "componentType":5126, + "count":74, + "max":[ + 0.11999999731779099, + 0.11999999731779099, + 0.05999999865889549 + ], + "min":[ + -0.11999999731779099, + -0.11999999731779099, + 0 + ], + "type":"VEC3" + }, + { + "bufferView":105, + "componentType":5126, + "count":74, + "type":"VEC3" + }, + { + "bufferView":106, + "componentType":5123, + "count":432, + "type":"SCALAR" + }, + { + "bufferView":107, + "componentType":5126, + "count":74, + "max":[ + 0.1599999964237213, + 0.1599999964237213, + 0.009999999776482582 + ], + "min":[ + -0.1599999964237213, + -0.1599999964237213, + 0 + ], + "type":"VEC3" + }, + { + "bufferView":108, + "componentType":5126, + "count":74, + "type":"VEC3" + }, + { + "bufferView":109, + "componentType":5126, + "count":74, + "max":[ + 0.1599999964237213, + 0.1599999964237213, + 0.009999999776482582 + ], + "min":[ + -0.1599999964237213, + -0.1599999964237213, + 0 + ], + "type":"VEC3" + }, + { + "bufferView":110, + "componentType":5126, + "count":74, + "type":"VEC3" + }, + { + "bufferView":111, + "componentType":5126, + "count":2704, + "max":[ + 0.09053950011730194, + 0.11043409258127213, + 0.11043408513069153 + ], + "min":[ + -0.010051270946860313, + -0.11043409258127213, + -0.11043409258127213 + ], + "type":"VEC3" + }, + { + "bufferView":112, + "componentType":5126, + "count":2704, + "type":"VEC3" + }, + { + "bufferView":113, + "componentType":5126, + "count":2704, + "type":"VEC2" + }, + { + "bufferView":114, + "componentType":5126, + "count":2704, + "type":"VEC2" + }, + { + "bufferView":115, + "componentType":5123, + "count":13824, + "type":"SCALAR" + }, + { + "bufferView":116, + "componentType":5126, + "count":2928, + "max":[ + 0.0798129290342331, + 0.11819419264793396, + 0.11819419264793396 + ], + "min":[ + 0.0006753650959581137, + -0.11819419264793396, + -0.11819419264793396 + ], + "type":"VEC3" + }, + { + "bufferView":117, + "componentType":5126, + "count":2928, + "type":"VEC3" + }, + { + "bufferView":118, + "componentType":5126, + "count":2928, + "type":"VEC2" + }, + { + "bufferView":119, + "componentType":5126, + "count":2928, + "type":"VEC2" + }, + { + "bufferView":120, + "componentType":5123, + "count":14304, + "type":"SCALAR" + }, + { + "bufferView":121, + "componentType":5126, + "count":5994, + "max":[ + 0.0846761018037796, + 0.14966410398483276, + 0.14966407418251038 + ], + "min":[ + -0.004811800550669432, + -0.14966413378715515, + -0.14966411888599396 + ], + "type":"VEC3" + }, + { + "bufferView":122, + "componentType":5126, + "count":5994, + "type":"VEC3" + }, + { + "bufferView":123, + "componentType":5126, + "count":5994, + "type":"VEC2" + }, + { + "bufferView":124, + "componentType":5126, + "count":5994, + "type":"VEC2" + }, + { + "bufferView":125, + "componentType":5123, + "count":10128, + "type":"SCALAR" + }, + { + "bufferView":126, + "componentType":5126, + "count":8, + "max":[ + 0.004999999888241291, + 0.004999999888241291, + 0.005000004544854164 + ], + "min":[ + -0.004999999888241291, + -0.004999999888241291, + -0.004999995231628418 + ], + "type":"VEC3" + }, + { + "bufferView":127, + "componentType":5126, + "count":8, + "type":"VEC3" + }, + { + "bufferView":128, + "componentType":5126, + "count":238, + "max":[ + 0.5280321836471558, + 0.5280322432518005, + 0.800000011920929 + ], + "min":[ + -0.5280320644378662, + -0.528032124042511, + -0.09166013449430466 + ], + "type":"VEC3" + }, + { + "bufferView":129, + "componentType":5126, + "count":238, + "type":"VEC3" + }, + { + "bufferView":130, + "componentType":5126, + "count":238, + "type":"VEC2" + }, + { + "bufferView":131, + "componentType":5123, + "count":960, + "type":"SCALAR" + }, + { + "bufferView":132, + "componentType":5126, + "count":101, + "max":[ + 4.166666666666667 + ], + "min":[ + 0 + ], + "type":"SCALAR" + }, + { + "bufferView":133, + "componentType":5126, + "count":101, + "type":"VEC2" + }, + { + "bufferView":134, + "componentType":5126, + "count":101, + "type":"VEC2" + } + ], + "bufferViews":[ + { + "buffer":0, + "byteLength":6708, + "byteOffset":0, + "target":34962 + }, + { + "buffer":0, + "byteLength":6708, + "byteOffset":6708, + "target":34962 + }, + { + "buffer":0, + "byteLength":4472, + "byteOffset":13416, + "target":34962 + }, + { + "buffer":0, + "byteLength":5760, + "byteOffset":17888, + "target":34963 + }, + { + "buffer":0, + "byteLength":6708, + "byteOffset":23648, + "target":34962 + }, + { + "buffer":0, + "byteLength":6708, + "byteOffset":30356, + "target":34962 + }, + { + "buffer":0, + "byteLength":4472, + "byteOffset":37064, + "target":34962 + }, + { + "buffer":0, + "byteLength":6708, + "byteOffset":41536, + "target":34962 + }, + { + "buffer":0, + "byteLength":6708, + "byteOffset":48244, + "target":34962 + }, + { + "buffer":0, + "byteLength":4472, + "byteOffset":54952, + "target":34962 + }, + { + "buffer":0, + "byteLength":8184, + "byteOffset":59424, + "target":34962 + }, + { + "buffer":0, + "byteLength":8184, + "byteOffset":67608, + "target":34962 + }, + { + "buffer":0, + "byteLength":5456, + "byteOffset":75792, + "target":34962 + }, + { + "buffer":0, + "byteLength":5456, + "byteOffset":81248, + "target":34962 + }, + { + "buffer":0, + "byteLength":6024, + "byteOffset":86704, + "target":34963 + }, + { + "buffer":0, + "byteLength":10356, + "byteOffset":92728, + "target":34962 + }, + { + "buffer":0, + "byteLength":10356, + "byteOffset":103084, + "target":34962 + }, + { + "buffer":0, + "byteLength":6904, + "byteOffset":113440, + "target":34962 + }, + { + "buffer":0, + "byteLength":6904, + "byteOffset":120344, + "target":34962 + }, + { + "buffer":0, + "byteLength":7296, + "byteOffset":127248, + "target":34963 + }, + { + "buffer":0, + "byteLength":54612, + "byteOffset":134544, + "target":34962 + }, + { + "buffer":0, + "byteLength":54612, + "byteOffset":189156, + "target":34962 + }, + { + "buffer":0, + "byteLength":36408, + "byteOffset":243768, + "target":34962 + }, + { + "buffer":0, + "byteLength":36408, + "byteOffset":280176, + "target":34962 + }, + { + "buffer":0, + "byteLength":12816, + "byteOffset":316584, + "target":34963 + }, + { + "buffer":0, + "byteLength":72, + "byteOffset":329400, + "target":34962 + }, + { + "buffer":0, + "byteLength":72, + "byteOffset":329472, + "target":34962 + }, + { + "buffer":0, + "byteLength":48, + "byteOffset":329544, + "target":34962 + }, + { + "buffer":0, + "byteLength":48, + "byteOffset":329592, + "target":34963 + }, + { + "buffer":0, + "byteLength":6708, + "byteOffset":329640, + "target":34962 + }, + { + "buffer":0, + "byteLength":6708, + "byteOffset":336348, + "target":34962 + }, + { + "buffer":0, + "byteLength":4472, + "byteOffset":343056, + "target":34962 + }, + { + "buffer":0, + "byteLength":4472, + "byteOffset":347528, + "target":34962 + }, + { + "buffer":0, + "byteLength":1476, + "byteOffset":352000, + "target":34962 + }, + { + "buffer":0, + "byteLength":1476, + "byteOffset":353476, + "target":34962 + }, + { + "buffer":0, + "byteLength":984, + "byteOffset":354952, + "target":34963 + }, + { + "buffer":0, + "byteLength":1200, + "byteOffset":355936, + "target":34962 + }, + { + "buffer":0, + "byteLength":1200, + "byteOffset":357136, + "target":34962 + }, + { + "buffer":0, + "byteLength":948, + "byteOffset":358336, + "target":34963 + }, + { + "buffer":0, + "byteLength":5496, + "byteOffset":359284, + "target":34962 + }, + { + "buffer":0, + "byteLength":5496, + "byteOffset":364780, + "target":34962 + }, + { + "buffer":0, + "byteLength":3664, + "byteOffset":370276, + "target":34962 + }, + { + "buffer":0, + "byteLength":3664, + "byteOffset":373940, + "target":34962 + }, + { + "buffer":0, + "byteLength":4200, + "byteOffset":377604, + "target":34963 + }, + { + "buffer":0, + "byteLength":19776, + "byteOffset":381804, + "target":34962 + }, + { + "buffer":0, + "byteLength":19776, + "byteOffset":401580, + "target":34962 + }, + { + "buffer":0, + "byteLength":13184, + "byteOffset":421356, + "target":34962 + }, + { + "buffer":0, + "byteLength":13184, + "byteOffset":434540, + "target":34962 + }, + { + "buffer":0, + "byteLength":18324, + "byteOffset":447724, + "target":34963 + }, + { + "buffer":0, + "byteLength":40860, + "byteOffset":466048, + "target":34962 + }, + { + "buffer":0, + "byteLength":40860, + "byteOffset":506908, + "target":34962 + }, + { + "buffer":0, + "byteLength":27240, + "byteOffset":547768, + "target":34962 + }, + { + "buffer":0, + "byteLength":27240, + "byteOffset":575008, + "target":34962 + }, + { + "buffer":0, + "byteLength":10272, + "byteOffset":602248, + "target":34963 + }, + { + "buffer":0, + "byteLength":188256, + "byteOffset":612520, + "target":34962 + }, + { + "buffer":0, + "byteLength":188256, + "byteOffset":800776, + "target":34962 + }, + { + "buffer":0, + "byteLength":125504, + "byteOffset":989032, + "target":34962 + }, + { + "buffer":0, + "byteLength":125504, + "byteOffset":1114536, + "target":34962 + }, + { + "buffer":0, + "byteLength":47232, + "byteOffset":1240040, + "target":34963 + }, + { + "buffer":0, + "byteLength":96, + "byteOffset":1287272, + "target":34962 + }, + { + "buffer":0, + "byteLength":96, + "byteOffset":1287368, + "target":34962 + }, + { + "buffer":0, + "byteLength":72, + "byteOffset":1287464, + "target":34963 + }, + { + "buffer":0, + "byteLength":72, + "byteOffset":1287536, + "target":34962 + }, + { + "buffer":0, + "byteLength":72, + "byteOffset":1287608, + "target":34962 + }, + { + "buffer":0, + "byteLength":48, + "byteOffset":1287680, + "target":34962 + }, + { + "buffer":0, + "byteLength":1536, + "byteOffset":1287728, + "target":34962 + }, + { + "buffer":0, + "byteLength":1536, + "byteOffset":1289264, + "target":34962 + }, + { + "buffer":0, + "byteLength":1024, + "byteOffset":1290800, + "target":34962 + }, + { + "buffer":0, + "byteLength":1024, + "byteOffset":1291824, + "target":34962 + }, + { + "buffer":0, + "byteLength":672, + "byteOffset":1292848, + "target":34963 + }, + { + "buffer":0, + "byteLength":30168, + "byteOffset":1293520, + "target":34962 + }, + { + "buffer":0, + "byteLength":30168, + "byteOffset":1323688, + "target":34962 + }, + { + "buffer":0, + "byteLength":20112, + "byteOffset":1353856, + "target":34962 + }, + { + "buffer":0, + "byteLength":20112, + "byteOffset":1373968, + "target":34962 + }, + { + "buffer":0, + "byteLength":7344, + "byteOffset":1394080, + "target":34963 + }, + { + "buffer":0, + "byteLength":96, + "byteOffset":1401424, + "target":34962 + }, + { + "buffer":0, + "byteLength":96, + "byteOffset":1401520, + "target":34962 + }, + { + "buffer":0, + "byteLength":96, + "byteOffset":1401616, + "target":34962 + }, + { + "buffer":0, + "byteLength":96, + "byteOffset":1401712, + "target":34962 + }, + { + "buffer":0, + "byteLength":96, + "byteOffset":1401808, + "target":34962 + }, + { + "buffer":0, + "byteLength":96, + "byteOffset":1401904, + "target":34962 + }, + { + "buffer":0, + "byteLength":96, + "byteOffset":1402000, + "target":34962 + }, + { + "buffer":0, + "byteLength":96, + "byteOffset":1402096, + "target":34962 + }, + { + "buffer":0, + "byteLength":96, + "byteOffset":1402192, + "target":34962 + }, + { + "buffer":0, + "byteLength":96, + "byteOffset":1402288, + "target":34962 + }, + { + "buffer":0, + "byteLength":72, + "byteOffset":1402384, + "target":34962 + }, + { + "buffer":0, + "byteLength":72, + "byteOffset":1402456, + "target":34962 + }, + { + "buffer":0, + "byteLength":48, + "byteOffset":1402528, + "target":34962 + }, + { + "buffer":0, + "byteLength":96, + "byteOffset":1402576, + "target":34962 + }, + { + "buffer":0, + "byteLength":96, + "byteOffset":1402672, + "target":34962 + }, + { + "buffer":0, + "byteLength":96, + "byteOffset":1402768, + "target":34962 + }, + { + "buffer":0, + "byteLength":96, + "byteOffset":1402864, + "target":34962 + }, + { + "buffer":0, + "byteLength":96, + "byteOffset":1402960, + "target":34962 + }, + { + "buffer":0, + "byteLength":96, + "byteOffset":1403056, + "target":34962 + }, + { + "buffer":0, + "byteLength":96, + "byteOffset":1403152, + "target":34962 + }, + { + "buffer":0, + "byteLength":96, + "byteOffset":1403248, + "target":34962 + }, + { + "buffer":0, + "byteLength":96, + "byteOffset":1403344, + "target":34962 + }, + { + "buffer":0, + "byteLength":96, + "byteOffset":1403440, + "target":34962 + }, + { + "buffer":0, + "byteLength":96, + "byteOffset":1403536, + "target":34962 + }, + { + "buffer":0, + "byteLength":96, + "byteOffset":1403632, + "target":34962 + }, + { + "buffer":0, + "byteLength":96, + "byteOffset":1403728, + "target":34962 + }, + { + "buffer":0, + "byteLength":96, + "byteOffset":1403824, + "target":34962 + }, + { + "buffer":0, + "byteLength":96, + "byteOffset":1403920, + "target":34962 + }, + { + "buffer":0, + "byteLength":96, + "byteOffset":1404016, + "target":34962 + }, + { + "buffer":0, + "byteLength":888, + "byteOffset":1404112, + "target":34962 + }, + { + "buffer":0, + "byteLength":888, + "byteOffset":1405000, + "target":34962 + }, + { + "buffer":0, + "byteLength":864, + "byteOffset":1405888, + "target":34963 + }, + { + "buffer":0, + "byteLength":888, + "byteOffset":1406752, + "target":34962 + }, + { + "buffer":0, + "byteLength":888, + "byteOffset":1407640, + "target":34962 + }, + { + "buffer":0, + "byteLength":888, + "byteOffset":1408528, + "target":34962 + }, + { + "buffer":0, + "byteLength":888, + "byteOffset":1409416, + "target":34962 + }, + { + "buffer":0, + "byteLength":32448, + "byteOffset":1410304, + "target":34962 + }, + { + "buffer":0, + "byteLength":32448, + "byteOffset":1442752, + "target":34962 + }, + { + "buffer":0, + "byteLength":21632, + "byteOffset":1475200, + "target":34962 + }, + { + "buffer":0, + "byteLength":21632, + "byteOffset":1496832, + "target":34962 + }, + { + "buffer":0, + "byteLength":27648, + "byteOffset":1518464, + "target":34963 + }, + { + "buffer":0, + "byteLength":35136, + "byteOffset":1546112, + "target":34962 + }, + { + "buffer":0, + "byteLength":35136, + "byteOffset":1581248, + "target":34962 + }, + { + "buffer":0, + "byteLength":23424, + "byteOffset":1616384, + "target":34962 + }, + { + "buffer":0, + "byteLength":23424, + "byteOffset":1639808, + "target":34962 + }, + { + "buffer":0, + "byteLength":28608, + "byteOffset":1663232, + "target":34963 + }, + { + "buffer":0, + "byteLength":71928, + "byteOffset":1691840, + "target":34962 + }, + { + "buffer":0, + "byteLength":71928, + "byteOffset":1763768, + "target":34962 + }, + { + "buffer":0, + "byteLength":47952, + "byteOffset":1835696, + "target":34962 + }, + { + "buffer":0, + "byteLength":47952, + "byteOffset":1883648, + "target":34962 + }, + { + "buffer":0, + "byteLength":20256, + "byteOffset":1931600, + "target":34963 + }, + { + "buffer":0, + "byteLength":96, + "byteOffset":1951856, + "target":34962 + }, + { + "buffer":0, + "byteLength":96, + "byteOffset":1951952, + "target":34962 + }, + { + "buffer":0, + "byteLength":2856, + "byteOffset":1952048, + "target":34962 + }, + { + "buffer":0, + "byteLength":2856, + "byteOffset":1954904, + "target":34962 + }, + { + "buffer":0, + "byteLength":1904, + "byteOffset":1957760, + "target":34962 + }, + { + "buffer":0, + "byteLength":1920, + "byteOffset":1959664, + "target":34963 + }, + { + "buffer":0, + "byteLength":404, + "byteOffset":1961584 + }, + { + "buffer":0, + "byteLength":808, + "byteOffset":1961988 + }, + { + "buffer":0, + "byteLength":808, + "byteOffset":1962796 + } + ], + "samplers":[ + { + "magFilter":9729, + "minFilter":9987 + } + ], + "buffers":[ + { + "byteLength":1963604, + "uri":"MarblesForever.bin" + } + ] +} diff --git a/Models/MarblesForever/glTF/ambient_occlusion.png b/Models/MarblesForever/glTF/ambient_occlusion.png new file mode 100644 index 00000000..2a19c619 Binary files /dev/null and b/Models/MarblesForever/glTF/ambient_occlusion.png differ diff --git a/Models/MarblesForever/glTF/elevator_color.png b/Models/MarblesForever/glTF/elevator_color.png new file mode 100644 index 00000000..198475ce Binary files /dev/null and b/Models/MarblesForever/glTF/elevator_color.png differ diff --git a/Models/MarblesForever/glTF/elevator_emissive.png b/Models/MarblesForever/glTF/elevator_emissive.png new file mode 100644 index 00000000..b10e5814 Binary files /dev/null and b/Models/MarblesForever/glTF/elevator_emissive.png differ diff --git a/Models/MarblesForever/glTF/foil_normal.png b/Models/MarblesForever/glTF/foil_normal.png new file mode 100644 index 00000000..f27b4068 Binary files /dev/null and b/Models/MarblesForever/glTF/foil_normal.png differ diff --git a/Models/MarblesForever/glTF/glass_rough.png b/Models/MarblesForever/glTF/glass_rough.png new file mode 100644 index 00000000..253945e1 Binary files /dev/null and b/Models/MarblesForever/glTF/glass_rough.png differ diff --git a/Models/MarblesForever/glTF/marble_rough.png b/Models/MarblesForever/glTF/marble_rough.png new file mode 100644 index 00000000..32416a6f Binary files /dev/null and b/Models/MarblesForever/glTF/marble_rough.png differ diff --git a/Models/MarblesForever/glTF/moon_color.png b/Models/MarblesForever/glTF/moon_color.png new file mode 100644 index 00000000..d9704e18 Binary files /dev/null and b/Models/MarblesForever/glTF/moon_color.png differ diff --git a/Models/MarblesForever/glTF/moon_normal.png b/Models/MarblesForever/glTF/moon_normal.png new file mode 100644 index 00000000..d8a60513 Binary files /dev/null and b/Models/MarblesForever/glTF/moon_normal.png differ diff --git a/Models/MarblesForever/metadata.json b/Models/MarblesForever/metadata.json new file mode 100644 index 00000000..42ab78cc --- /dev/null +++ b/Models/MarblesForever/metadata.json @@ -0,0 +1,25 @@ +{ + "version": 2, + "legal": [ + { + "license": "CC-BY 4.0", + "licenseUrl": "https://creativecommons.org/licenses/by/4.0/legalcode", + "artist": "Eric Chadwick", + "year": "2025", + "owner": "Khronos Group", + "what": "Model and textures", + "text": "CC BY 4.0 International", + "spdx": "CC-BY-4.0", + "icon": "https://licensebuttons.net/l/by/3.0/88x31.png" + } + ], + "tags": [ + "showcase", + "extension" + ], + "screenshot": "screenshot/screenshot.jpg", + "name": "Marbles Forever", + "path": "./Models/MarblesForever", + "summary": "Marble run using rigid body physics.", + "createReadme": true +} \ No newline at end of file diff --git a/Models/MarblesForever/screenshot/2026-02-26_issues.jpg b/Models/MarblesForever/screenshot/2026-02-26_issues.jpg new file mode 100644 index 00000000..cfb79870 Binary files /dev/null and b/Models/MarblesForever/screenshot/2026-02-26_issues.jpg differ diff --git a/Models/MarblesForever/screenshot/screenshot.jpg b/Models/MarblesForever/screenshot/screenshot.jpg new file mode 100644 index 00000000..09c1c1ff Binary files /dev/null and b/Models/MarblesForever/screenshot/screenshot.jpg differ diff --git a/Models/MarblesForever/screenshot/screenshot_Large.jpg b/Models/MarblesForever/screenshot/screenshot_Large.jpg new file mode 100644 index 00000000..0b366841 Binary files /dev/null and b/Models/MarblesForever/screenshot/screenshot_Large.jpg differ