{"data":{"id":"38475","slug":"hot-air-balloon-festival-balloon-basket-with-burner-fr-4d6ec787","title":"Balloon Basket with Burner Frame (Hot Air Balloon Festival)","summary":"A four person wicker basket with its stainless uprights, load frame, twin gimballed burners on brass coils, three strapped fuel bottles and the hose run, with the flame plume modelled as fixed geometry.","description":"A four person wicker basket with its stainless uprights, load frame, twin gimballed burners on brass coils, three strapped fuel bottles and the hose run, with the flame plume modelled as fixed geometry. Overall 1.716 x 2.960 x 1.180 m (X x Y x Z), metre units, +Y up, +Z forward, resting on y=0. Named nodes on their own pivots: burner-left, burner-right, valve-1, valve-2, valve-3. Hot Air Balloon Festival / ballooning-std-v1: four canvas colours in plain invented gores and bands with no mark of any kind, wicker, leather and rope, stainless steel and brass, and the two tones of a summer field, with an embedded procedural timber map and no custom shaders. Rigid node-transform clips: tilt and spin. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/hot-air-balloon-festival-balloon-basket-with-burner-fr-4d6ec787","cdnUrl":"https://cdn.3dassets.dev/assets/38475/v1/model.glb","downloadUrl":"https://3dassets.dev/download/hot-air-balloon-festival-balloon-basket-with-burner-fr-4d6ec787","thumbnailUrl":"https://cdn.3dassets.dev/assets/38475/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38475/v1/poster.webp","blurhash":"U5Cs5A_0000huhofD7IX00oyXV9aHq${?uIo","category":{"slug":"vehicles","title":"Vehicles"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":176124,"triangles":4604,"vertices":10890,"meshes":18,"materials":8,"textures":1,"animations":["tilt","spin"],"boundingBox":{"min":[-0.8579999804496765,-0.000013590203717772642,-0.5900479306102756],"max":[0.8579999804496765,2.959996356811348,0.5900479306102756]},"sizeMeters":[1.716,2.96,1.18],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T15:38:38.658Z","updatedAt":"2026-09-12T15:38:38.765Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38475/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function BalloonBasketWithBurnerFrameHotAirBalloonFestival(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/38475/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38475/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38475/v1/model.glb\" alt=\"Balloon Basket with Burner Frame (Hot Air Balloon Festival)\" camera-controls auto-rotate autoplay></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/38475/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/38475/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}}}