{"data":{"id":"32516","slug":"car-park-and-road-vehicle-fleet-camper-van-40d26940","title":"Camper van with a pop-top roof (Car Park and Road Vehicle Fleet)","summary":"A camper conversion on a medium panel van: a rising pop top roof, a window row along the living space and a side door on its rail. Premium realistic road vehicle for modern city, driving and parking scenes.","description":"A camper conversion on a medium panel van: a rising pop top roof, a window row along the living space and a side door on its rail. Dimensions 2.15 x 2.21 x 5.04 m (X x Y x Z). Origin centred on the footprint with the tyres resting at ground level; metre units, +Y up, +Z forward, wheel axles along X. Named pivots: steering at (0.4, 0.71, 0.44); door-front-right at (1.02, 0.59, 0.81); door-front-left at (-1.02, 0.59, 0.81); bonnet at (0, 0.86, 0.86); rear-door-right at (0.82, 0.86, -2.38); rear-door-left at (-0.82, 0.86, -2.38); wheel-front-right at (0.83, 0.34, 1.5); wheel-front-left at (-0.83, 0.34, 1.5); wheel-rear-right at (0.83, 0.34, -1.5); wheel-rear-left at (-0.83, 0.34, -1.5); poptop at (0, 2.1, -1.07); slide-door at (-1.02, 0.86, -0.78). Wiper arms, suspension travel and any convertible roof mechanism are static: none is reachable with a single rigid node transform. Rigid node-transform clips door-open, door-close, bonnet-open, bonnet-close, rear-open, rear-close, roof-open, roof-close, slide-open, slide-close, steer, wheel-roll drive named nodes on their own pivots. No skinning and no skeleton. Original generic design: no manufacturer, model, badge, grille signature or wheel design is referenced and every number plate is blank. Realistic road palette of silver, deep blue, signal red, fleet white and graphite paint over dark rubber and plastic trim, tinted glazing, bright alloy, structural steel, grey cabin cloth and poured concrete, with emissive white, red, amber, blue and green lamp surfaces. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/car-park-and-road-vehicle-fleet-camper-van-40d26940","cdnUrl":"https://cdn.3dassets.dev/assets/32516/v1/model.glb","downloadUrl":"https://3dassets.dev/download/car-park-and-road-vehicle-fleet-camper-van-40d26940","thumbnailUrl":"https://cdn.3dassets.dev/assets/32516/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32516/v1/poster.webp","blurhash":"U77_c@V_00-.?vDg9E.98wMxp1pJD*.A?bD%","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":1401084,"triangles":36420,"vertices":72523,"meshes":24,"materials":9,"textures":0,"animations":["door-open","door-close","bonnet-open","bonnet-close","rear-open","rear-close","roof-open","roof-close","slide-open","slide-close","steer","wheel-roll"],"boundingBox":{"min":[-1.0770748602773512,-1.744150368576669e-8,-2.5160000324249268],"max":[1.0770748602773512,2.2144015902669896,2.5260000228881836]},"sizeMeters":[2.154,2.214,5.042],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T12:30:32.083Z","updatedAt":"2026-09-08T12:30:32.194Z","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/32516/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 CamperVanWithAPopTopRoofCarParkAndRoadVehicleFleet(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32516/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/32516/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32516/v1/model.glb\" alt=\"Camper van with a pop-top roof (Car Park and Road Vehicle Fleet)\" 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/32516/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/32516/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}}}