{"data":{"id":"38418","slug":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-20c064ce","title":"Lifeboat in gravity davits (Cruise Ship Deck and Lounge)","summary":"Boat station 8.5 m long: an enclosed orange red lifeboat with a white canopy, window bands and a lifting hook, carried on a pair of white davit arms that swing the boat out over the ship's side and down, with the winch house, heel sockets and bed chocks fixed to the deck.","description":"Boat station 8.5 m long: an enclosed orange red lifeboat with a white canopy, window bands and a lifting hook, carried on a pair of white davit arms that swing the boat out over the ship's side and down, with the winch house, heel sockets and bed chocks fixed to the deck. Overall 8.60 by 4.11 by 3.77 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0. The origin is the centre of the station's deck footprint, the ship's side toward +Z, so the boat swings out over a bulwark laid past +Z. The davit heels are at the deck, which is where the swing pivots. Only the davit arms swing: the falls, the tricing pennants and the boat's own painter are modelled solid, because a rope is not a rigid node transform, and the boat and its canopy are one piece. Rigid node-transform clips: open and close. No skinning. No collision or navigation data. Original CC0 geometry: no cruise line, shipbuilder, hotel group, drinks or entertainment marks anywhere, every sign, board, menu, bottle and screen face is blank, and the funnel carries no livery of any kind.","status":"published","url":"https://3dassets.dev/assets/cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-20c064ce","cdnUrl":"https://cdn.3dassets.dev/assets/38418/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-20c064ce","thumbnailUrl":"https://cdn.3dassets.dev/assets/38418/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38418/v1/poster.webp","blurhash":"U9ECa+wy00ozXR~qsA4n00J7~WVsH?9FTJ%2","category":{"slug":"vehicles","title":"Vehicles"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"}],"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":35128,"triangles":608,"vertices":1400,"meshes":38,"materials":5,"textures":1,"animations":["open","close"],"boundingBox":{"min":[-4.300000190734863,0.00007965131200492886,-1.4001220695288554],"max":[4.300000190734863,4.113122987747192,2.3700031496110783]},"sizeMeters":[8.6,4.113,3.77],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T14:41:41.168Z","updatedAt":"2026-09-12T14:41:41.274Z","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/38418/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 LifeboatInGravityDavitsCruiseShipDeckAndLounge(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/38418/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/38418/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38418/v1/model.glb\" alt=\"Lifeboat in gravity davits (Cruise Ship Deck and Lounge)\" 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/38418/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/38418/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}}}