{"data":{"id":"165","slug":"cruise-ship-deck-and-lounge","title":"Cruise Ship Deck and Lounge","summary":"Walk one open deck of a cruise ship at sea: the pool and hot tub with loungers and parasols, the poolside bar and buffet servery, an open sided lounge with a grand piano, lifeboats in their davits and the gangway down to a tender platform.","url":"https://3dassets.dev/demos/cruise-ship-deck-and-lounge","coverUrl":"https://cdn.3dassets.dev/media/cruise-ship-deck-and-lounge-demo-1.png","featured":true,"pack":{"slug":"cruise-ship-deck-and-lounge","title":"Cruise Ship Deck and Lounge","url":"https://3dassets.dev/packs/cruise-ship-deck-and-lounge","summary":"A walkable cruise ship deck: ported teak and steel deck plates, promenade bulwarks, superstructure and balcony runs, lifeboats in swinging davits, a pool, hot tub, loungers and parasols, a bar, buffet and food stations, and a lounge of sofas, a grand piano and a bandstand.","assetCount":62,"totalBytes":3866800,"starterScene":{"slug":"cruise-ship-deck-and-lounge-cruise-ship--1aad3f11-starter-scene","cdnUrl":"https://cdn.3dassets.dev/assets/38462/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cruise-ship-deck-and-lounge-cruise-ship--1aad3f11-starter-scene","fileSize":1268872}},"placementCount":438,"assetCount":60,"spawn":{"position":[-10.2,0,2.4],"yaw":95},"publishedAt":"2026-09-12T15:07:14.560Z","updatedAt":"2026-09-12T15:07:14.561Z","description":"One open deck of a cruise ship at sea, laid out as a place you walk rather than a lineup: 438 placements of 60 published models across 48 by 24 metres of teak and painted steel, with the sea carried to the horizon beyond the rail.\n\nAmidships is the pool with its surround and entry steps, a hot tub outboard, three rows of sun loungers, parasols between them, towel stations and planters. The poolside bar runs along one side with three counter sections, a double row of stools and its back fitting, and the buffet servery sits under a canopy behind it: counter runs with sneeze guards facing each other, food stations at the ends, self service drinks fountains between. Forward is an open sided lounge pavilion on its own floor tiles under a ceiling cassette, with sofas, armchairs and low tables facing the grand piano, and the stage, bandstand and dance floor behind it. Cafe tables and chairs run the length of the promenade under shade canopies, with glass windbreaks and planters closing the rail. Aft are the deck sports: the shuffleboard court, quoits sets, games tables and a marked jogging lane running the full width of the deck. Along the outboard side four lifeboats hang in gravity davits over the rail, with liferaft canister racks, muster boards, fire points, life ring posts and signage; at the ship's side the hinged gangway drops to a tender boarding pontoon on the water. The working gear is on the superstructure side: mooring winch, anchor windlass, bollards, deck hatches, watertight crew doors, a companionway stair and service, linen and luggage trolleys.\n\n**One deck, and only one.** A ship is stacked decks, and this demo deliberately is not. The superstructure wall runs, the three tiers of balconies with their dividers, the funnel and the radar mast are backdrop seen from the ground: the demo walker has no vertical movement, so nothing is placed on a balcony, up the companionway or on the funnel, and everything worth seeing is out in the open.\n\n**What moves.** The davit arms swing out and back, the gangway hinges, the deck hatch lids and the watertight crew doors open, the fire point lockers open, the buffet counter and bar back doors open, the grand piano lid lifts, the parasol canopy lifts out on its runner, the winch drum, the windlass gypsy and the radar scanner spin, and the trolley castors roll. Clips play as you come within a few metres.\n\n**What does not move, and why.** The water, the mooring ropes, the canopy fabric, the towels, the flags and the screen faces are static: fluid, flexible material and displays need a shader or a joint per element, and none of that is reachable with the one rigid node transform this library uses. There are also no people. The pack has no skinned meshes, which on a cruise ship is the first thing you notice, so it is worth saying plainly: this is the ship laid out and ready, with nobody aboard.\n\n**No branded intellectual property.** Every sign, board, menu, bottle, hull name and screen in this pack is a blank face, and the funnel deliberately carries no livery, because a funnel marking is how a real line is identified. Nothing here names or resembles a real cruise line, ship or shipbuilder.\n\nEverything is CC0, so the whole deck can be lifted straight into a game, a mockup or a render.","scene":{"version":1,"spawn":{"position":[-10.2,0,2.4],"yaw":95},"bounds":{"min":[-40,0,-28],"max":[40,18,28]},"ground":{"size":160,"elevation":-0.02,"style":"plain"},"environment":{"preset":"outdoor","floor":"#2a5e8d","shadows":true},"placements":[{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-6c3a40bb","position":[-36,-0.12,-24],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-6c3a40bb","position":[-36,-0.12,-16],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-6c3a40bb","position":[-36,-0.12,16],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-6c3a40bb","position":[-36,-0.12,24],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-6c3a40bb","position":[-28,-0.12,-24],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-6c3a40bb","position":[-28,-0.12,-16],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-6c3a40bb","position":[-28,-0.12,16],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-6c3a40bb","position":[-28,-0.12,24],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-6c3a40bb","position":[-20,-0.12,-24],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-6c3a40bb","position":[-20,-0.12,-16],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-6c3a40bb","position":[-20,-0.12,16],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-6c3a40bb","position":[-20,-0.12,24],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-6c3a40bb","position":[-12,-0.12,-24],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-6c3a40bb","position":[-12,-0.12,-16],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-6c3a40bb","position":[-12,-0.12,16],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-6c3a40bb","position":[-12,-0.12,24],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-6c3a40bb","position":[-4,-0.12,-24],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-6c3a40bb","position":[-4,-0.12,-16],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-6c3a40bb","position":[-4,-0.12,16],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-6c3a40bb","position":[-4,-0.12,24],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-6c3a40bb","position":[4,-0.12,-24],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-6c3a40bb","position":[4,-0.12,-16],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-6c3a40bb","position":[4,-0.12,16],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-6c3a40bb","position":[4,-0.12,24],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-6c3a40bb","position":[12,-0.12,-24],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-6c3a40bb","position":[12,-0.12,-16],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-6c3a40bb","position":[12,-0.12,16],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-6c3a40bb","position":[12,-0.12,24],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-6c3a40bb","position":[20,-0.12,-24],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-6c3a40bb","position":[20,-0.12,-16],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-6c3a40bb","position":[20,-0.12,16],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-6c3a40bb","position":[20,-0.12,24],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-6c3a40bb","position":[28,-0.12,-24],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-6c3a40bb","position":[28,-0.12,-16],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-6c3a40bb","position":[28,-0.12,16],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-6c3a40bb","position":[28,-0.12,24],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-6c3a40bb","position":[36,-0.12,-24],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-6c3a40bb","position":[36,-0.12,-16],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-6c3a40bb","position":[36,-0.12,16],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-6c3a40bb","position":[36,-0.12,24],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-6c3a40bb","position":[-36,-0.12,-8],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-6c3a40bb","position":[-36,-0.12,0],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-6c3a40bb","position":[-36,-0.12,8],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-6c3a40bb","position":[-28,-0.12,-8],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-6c3a40bb","position":[-28,-0.12,0],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-6c3a40bb","position":[-28,-0.12,8],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-6c3a40bb","position":[28,-0.12,-8],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-6c3a40bb","position":[28,-0.12,0],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-6c3a40bb","position":[28,-0.12,8],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-6c3a40bb","position":[36,-0.12,-8],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-6c3a40bb","position":[36,-0.12,0],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-6c3a40bb","position":[36,-0.12,8],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-dc45af30","position":[-21,-0.12,9],"rotation":270},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-a8e7217e","position":[-15,-0.12,9],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-a8e7217e","position":[-9,-0.12,9],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-a8e7217e","position":[-3,-0.12,9],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-430d7f56","position":[3,-0.12,9],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-a8e7217e","position":[9,-0.12,9],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-a8e7217e","position":[15,-0.12,9],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-dc45af30","position":[21,-0.12,9],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-83c3eff3","position":[-21,-0.12,3],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-83c3eff3","position":[-15,-0.12,3],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-430d7f56","position":[-9,-0.12,3],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-430d7f56","position":[-3,-0.12,3],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-430d7f56","position":[3,-0.12,3],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-430d7f56","position":[9,-0.12,3],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-22c7f8a1","position":[15,-0.12,3],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-22c7f8a1","position":[21,-0.12,3],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-496d16b0","position":[-21,-0.12,-3],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-496d16b0","position":[-15,-0.12,-3],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-430d7f56","position":[-9,-0.12,-3],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-430d7f56","position":[-3,-0.12,-3],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-430d7f56","position":[3,-0.12,-3],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-430d7f56","position":[9,-0.12,-3],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-22c7f8a1","position":[15,-0.12,-3],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-68bf2e27","position":[21,-0.12,-3],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-714f2f57","position":[-21,-0.12,-9],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-714f2f57","position":[-15,-0.12,-9],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-714f2f57","position":[-9,-0.12,-9],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-714f2f57","position":[-3,-0.12,-9],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-714f2f57","position":[3,-0.12,-9],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-714f2f57","position":[9,-0.12,-9],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-714f2f57","position":[15,-0.12,-9],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-714f2f57","position":[21,-0.12,-9],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-6639c409","position":[-23.82,0,-9],"rotation":90},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-6639c409","position":[-23.82,0,-3],"rotation":90},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-6639c409","position":[-23.82,0,3],"rotation":90},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-6639c409","position":[23.82,0,-9],"rotation":90},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-6639c409","position":[23.82,0,-3],"rotation":90},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-6639c409","position":[23.82,0,3],"rotation":90},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-52b8659d","position":[-21,0,-11.8],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-52b8659d","position":[-15,0,-11.8],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-52b8659d","position":[-9,0,-11.8],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-52b8659d","position":[-3,0,-11.8],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-52b8659d","position":[3,0,-11.8],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-52b8659d","position":[9,0,-11.8],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-52b8659d","position":[15,0,-11.8],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-52b8659d","position":[21,0,-11.8],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-feec8ca0","position":[-21,3.2,-11.2],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-feec8ca0","position":[-15,3.2,-11.2],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-feec8ca0","position":[-9,3.2,-11.2],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-feec8ca0","position":[-3,3.2,-11.2],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-feec8ca0","position":[3,3.2,-11.2],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-feec8ca0","position":[9,3.2,-11.2],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-feec8ca0","position":[15,3.2,-11.2],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-feec8ca0","position":[21,3.2,-11.2],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-feec8ca0","position":[-21,6.4,-11.2],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-feec8ca0","position":[-15,6.4,-11.2],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-feec8ca0","position":[-9,6.4,-11.2],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-feec8ca0","position":[-3,6.4,-11.2],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-feec8ca0","position":[3,6.4,-11.2],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-feec8ca0","position":[9,6.4,-11.2],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-feec8ca0","position":[15,6.4,-11.2],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-feec8ca0","position":[21,6.4,-11.2],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-ea0ea8c1","position":[-18,3.2800000000000002,-10.5],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-ea0ea8c1","position":[-12,3.2800000000000002,-10.5],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-ea0ea8c1","position":[-6,3.2800000000000002,-10.5],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-ea0ea8c1","position":[0,3.2800000000000002,-10.5],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-ea0ea8c1","position":[6,3.2800000000000002,-10.5],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-ea0ea8c1","position":[12,3.2800000000000002,-10.5],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-ea0ea8c1","position":[18,3.2800000000000002,-10.5],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-0fe6b7bb","position":[9,9.600000000000001,-12.5],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-13b2502f","position":[-15,9.600000000000001,-12.5],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-a5b7ef88","position":[-13,0,-10.45],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-f0dcff28","position":[-15.5,0,-10.8],"rotation":180},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-a3b47619","position":[-10,0,-11.2],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-bc129f4f","position":[-23,0,-11],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-a5b7ef88","position":[13,0,-10.45],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-f0dcff28","position":[15.5,0,-10.8],"rotation":180},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-a3b47619","position":[10,0,-11.2],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-bc129f4f","position":[23,0,-11],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-f4a44821","position":[-8.5,0,-9.8],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-f4a44821","position":[12,0,-6.5],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-0094e794","position":[-19,0,-10.6],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-0b6c2ab3","position":[19,0,-8.3],"rotation":180},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-bc129f4f","position":[0,0,-11.2],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-85eaf013","position":[-6,0,-11],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-386d3bf7","position":[6,0,-11.55],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-d8205be9","position":[8.5,0,-6.7],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-c0b4b4eb","position":[-8.2,0,-11],"rotation":90},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-4161796f","position":[-22,0,-7.5],"rotation":180},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-2e70de27","position":[22.5,0,-7.5],"rotation":180},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-80759120","position":[3,0,13],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-e8bf8c10","position":[3,0,17.8],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-62a525fc","position":[0,0,0],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-b2fc14e9","position":[0,0,2.75],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-b2fc14e9","position":[0,0,-2.75],"rotation":180},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-61ec4f0b","position":[7.5,0,0],"rotation":180},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-ff32cded","position":[-9,0,-5.4],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-ff32cded","position":[-9,0,6.6],"rotation":180},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-ff32cded","position":[-7,0,-5.4],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-ff32cded","position":[-7,0,6.6],"rotation":180},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-ff32cded","position":[-5,0,-5.4],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-ff32cded","position":[-5,0,6.6],"rotation":180},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-ff32cded","position":[-3,0,-5.4],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-ff32cded","position":[-3,0,6.6],"rotation":180},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-ff32cded","position":[-1,0,-5.4],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-ff32cded","position":[-1,0,6.6],"rotation":180},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-5da6a33d","position":[1,0,-5.4],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-ff32cded","position":[1,0,6.6],"rotation":180},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-ff32cded","position":[3,0,-5.4],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-5da6a33d","position":[3,0,6.6],"rotation":180},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-5da6a33d","position":[5,0,-5.4],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-ff32cded","position":[5,0,6.6],"rotation":180},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-ff32cded","position":[7,0,-5.4],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-5da6a33d","position":[7,0,6.6],"rotation":180},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-15903db8","position":[-8,0,-3.9],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-15903db8","position":[-8,0,5.1],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-15903db8","position":[-4,0,-3.9],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-15903db8","position":[-4,0,5.1],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-15903db8","position":[0,0,-3.9],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-15903db8","position":[0,0,5.1],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-15903db8","position":[4,0,-3.9],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-15903db8","position":[4,0,5.1],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-15903db8","position":[8,0,-3.9],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-15903db8","position":[8,0,5.1],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-0782ebe7","position":[10.5,0,4.5],"rotation":180},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-61a96119","position":[-11,0,-3.5],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-c3a394a3","position":[11,0,-3.5],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-1ee219cf","position":[-5.5,0,3.6],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-1ee219cf","position":[5.5,0,3.6],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-1ee219cf","position":[-5.5,0,-3.6],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-1ee219cf","position":[5.5,0,-3.6],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-1ee219cf","position":[-7,0,8.6],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-1ee219cf","position":[7,0,8.6],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-57925cd2","position":[-12.4,0,6],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-57925cd2","position":[-10.4,0,6],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-57925cd2","position":[10.4,0,6],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-57925cd2","position":[12.4,0,6],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-3cf5d724","position":[14,0,2],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-3cf5d724","position":[18,0,2],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-929a747e","position":[12.8,0,1.05],"rotation":180},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-929a747e","position":[14.2,0,1.05],"rotation":180},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-929a747e","position":[15.6,0,1.05],"rotation":180},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-929a747e","position":[17,0,1.05],"rotation":180},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-929a747e","position":[18.4,0,1.05],"rotation":180},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-929a747e","position":[19.8,0,1.05],"rotation":180},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-3516b6a7","position":[15,0,-1.6],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-3516b6a7","position":[19,0,-1.6],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-d5a977e0","position":[16,0,-5.5],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-d5a977e0","position":[19,0,-5.5],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-fda46275","position":[21.5,0,-5.5],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-d4927d0f","position":[13.5,0,-7.3],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-7a093ead","position":[-20.4,0,3],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-7a093ead","position":[-14.4,0,3],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-7a093ead","position":[14.4,0,0],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-7a093ead","position":[20.4,0,0],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-4dfaf1b9","position":[-20.4,2.6,3],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-4dfaf1b9","position":[-14.4,2.6,3],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-0adeeea9","position":[-21,0,-11.45],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-0adeeea9","position":[-15,0,-11.45],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-73390ffd","position":[-14,0,-7.3],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-6816fa25","position":[-20,0,-3.3],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-b7dcc74f","position":[-11,0,4.5],"rotation":180},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-4f5e8aa0","position":[-21.5,0,1.2],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-4f5e8aa0","position":[-15.5,0,1.2],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-4f5e8aa0","position":[-21.5,0,5],"rotation":180},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-e03187c8","position":[-22.9,0,3.1],"rotation":90},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-e03187c8","position":[-19.6,0,3.1],"rotation":270},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-e03187c8","position":[-17.2,0,3.1],"rotation":90},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-e03187c8","position":[-13.6,0,3.1],"rotation":270},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-56e41f0b","position":[-21.5,0,3.1],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-56e41f0b","position":[-15.5,0,3.1],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-56e41f0b","position":[-18,0,5.2],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-20c064ce","position":[-18,0,11],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-20c064ce","position":[-9,0,11],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-20c064ce","position":[9,0,11],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-20c064ce","position":[18,0,11],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-7a093ead","position":[14.4,0,-6],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-7a093ead","position":[20.4,0,-6],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-7a093ead","position":[-6,0,9],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-7a093ead","position":[6,0,9],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-57925cd2","position":[-22.5,0,6.3],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-57925cd2","position":[-20.1,0,6.3],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-57925cd2","position":[-17.7,0,6.3],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-57925cd2","position":[-15.3,0,6.3],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-57925cd2","position":[15.3,0,6.3],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-57925cd2","position":[17.7,0,6.3],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-57925cd2","position":[20.1,0,6.3],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-57925cd2","position":[22.5,0,6.3],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-ff32cded","position":[-9,0,-7.7],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-5da6a33d","position":[-7,0,-7.7],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-ff32cded","position":[-5,0,-7.7],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-ff32cded","position":[-3,0,-7.7],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-5da6a33d","position":[-1,0,-7.7],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-ff32cded","position":[1,0,-7.7],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-ff32cded","position":[3,0,-7.7],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-5da6a33d","position":[5,0,-7.7],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-ff32cded","position":[7,0,-7.7],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-ff32cded","position":[-20.4,0,7.4],"rotation":180},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-5da6a33d","position":[-18.9,0,7.4],"rotation":180},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-ff32cded","position":[-17.4,0,7.4],"rotation":180},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-ff32cded","position":[-15.9,0,7.4],"rotation":180},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-5da6a33d","position":[15.9,0,7.4],"rotation":180},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-ff32cded","position":[17.4,0,7.4],"rotation":180},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-ff32cded","position":[18.9,0,7.4],"rotation":180},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-5da6a33d","position":[20.4,0,7.4],"rotation":180},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-ff32cded","position":[-11.8,0,-1.6],"rotation":90},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-5da6a33d","position":[11.4,0,-1.6],"rotation":270},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-ff32cded","position":[-11.8,0,0.6],"rotation":90},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-5da6a33d","position":[11.223223304703364,0,0.7767766952966368],"rotation":270},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-c0b4b4eb","position":[5.2,0,10.4],"rotation":90},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-c0b4b4eb","position":[-5.2,0,10.4],"rotation":270},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-c0b4b4eb","position":[1.4,0,10.6],"rotation":90},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-15903db8","position":[-14.6,0,-2.4],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-15903db8","position":[-2,0,9.9],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-0782ebe7","position":[-9.716116523516815,0,5.083883476483185],"rotation":90},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-0782ebe7","position":[10.830969883127821,0,6.495670858091273],"rotation":180},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-1ee219cf","position":[-9.21731656763491,0,0.27612046748871333],"rotation":90},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-1ee219cf","position":[-9.6,0,-1.4],"rotation":90},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-1ee219cf","position":[9.6,0,3.4],"rotation":270},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-1ee219cf","position":[9.6,0,-3.4],"rotation":270},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-1ee219cf","position":[-3.938060233744357,0,10.091341716182546],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-1ee219cf","position":[4.591341716182545,0,9.438060233744357],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-1ee219cf","position":[-7.6,0,9.9],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-1ee219cf","position":[7.6,0,9.9],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-1ee219cf","position":[-13.438060233744357,0,6.591341716182545],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-1ee219cf","position":[14.091341716182546,0,6.861939766255643],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-1ee219cf","position":[-22.408658283817456,0,6.861939766255643],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-1ee219cf","position":[22.791341716182547,0,6.861939766255643],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-1ee219cf","position":[-9.3,0,-10.4],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-1ee219cf","position":[-5.8,0,-9.9],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-1ee219cf","position":[5.8,0,-10.4],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-1ee219cf","position":[8.8,0,-10.4],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-61a96119","position":[11,0,-8],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-c3a394a3","position":[-11.6,0,-0.4],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-c3a394a3","position":[-13.4,0,-0.4],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-c3a394a3","position":[12.2,0,-0.4],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-c3a394a3","position":[9.85,0,-8],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-3cf5d724","position":[21.221645709543637,0,3.1548494156391085],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-929a747e","position":[21.2,0,1.1],"rotation":180},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-929a747e","position":[22.6,0,1.1],"rotation":180},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-929a747e","position":[12.8,0,3.1],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-929a747e","position":[14.2,0,3.1],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-929a747e","position":[15.6,0,3.1],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-929a747e","position":[17,0,3.1],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-929a747e","position":[18.4,0,3.1],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-929a747e","position":[20.182683432365092,0,4.023879532511287],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-929a747e","position":[20.912987425726183,0,2.407090350616535],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-929a747e","position":[22.312987425726185,0,2.407090350616535],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-3516b6a7","position":[21.662987425726183,0,-0.9070903506165351],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-d5a977e0","position":[12.9,0,-5.5],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-d5a977e0","position":[21.9,0,-4.25],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-d5a977e0","position":[13.5,0,-3],"rotation":180},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-d5a977e0","position":[16.6,0,-3],"rotation":180},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-d5a977e0","position":[19.7,0,-3],"rotation":180},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-d5a977e0","position":[13.65,0,-8.4],"rotation":180},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-fda46275","position":[22.25,0,-3],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-fda46275","position":[10.304329141908728,0,-5.369030116872178],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-d4927d0f","position":[18.1,0,-7.1],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-d4927d0f","position":[22.695670858091272,0,-6.869030116872178],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-d4927d0f","position":[12.169030116872179,0,-7.004329141908727],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-4f5e8aa0","position":[-18.5,0,1.2],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-4f5e8aa0","position":[-18.6,0,4.35],"rotation":180},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-e03187c8","position":[-16.2,0,5.6],"rotation":180},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-e03187c8","position":[-12.4,0,3.1],"rotation":270},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-e03187c8","position":[-13.295670858091272,0,5.369030116872178],"rotation":180},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-e03187c8","position":[-20.2,0,-0.1499999999999999],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-e03187c8","position":[-16.6,0,-1.4],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-e03187c8","position":[-23.104329141908728,0,-1.1690301168721782],"rotation":90},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-56e41f0b","position":[-17.921645709543636,0,-0.24515058436089143],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-56e41f0b","position":[-19.75,0,5.6],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-56e41f0b","position":[-14.6,0,5.6],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-42d9bd95","position":[-12.4,0,8.4],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-42d9bd95","position":[-9.3,0,8.4],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-42d9bd95","position":[-5.7,0,8.4],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-42d9bd95","position":[-3.6303300858899106,0,8.930330085889912],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-42d9bd95","position":[0,0,8.4],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-42d9bd95","position":[3.1,0,8.4],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-42d9bd95","position":[5.846446609406726,0,8.753553390593273],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-42d9bd95","position":[9.3,0,8.4],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-42d9bd95","position":[12.4,0,8.4],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-0db56e03","position":[-12.4,0,9.1],"rotation":180},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-0db56e03","position":[-12.4,0,7.7],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-0db56e03","position":[-9.3,0,9.1],"rotation":180},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-0db56e03","position":[-9.55,0,7.7],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-0db56e03","position":[-5.95,0,9.1],"rotation":180},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-0db56e03","position":[-6.2,0,7.7],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-0db56e03","position":[-2.8129874257261824,0,8.407090350616535],"rotation":180},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-0db56e03","position":[-3.5619397662556436,0,7.891341716182545],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-0db56e03","position":[0,0,9.1],"rotation":180},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-0db56e03","position":[0,0,7.7],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-0db56e03","position":[3.1,0,9.1],"rotation":180},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-0db56e03","position":[3.6,0,7.7],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-0db56e03","position":[6.2,0,9.35],"rotation":180},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-0db56e03","position":[6.2,0,7.7],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-0db56e03","position":[9.3,0,9.1],"rotation":180},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-0db56e03","position":[9.3,0,7.7],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-0db56e03","position":[12.4,0,9.1],"rotation":180},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-0db56e03","position":[12.4,0,7.7],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-0db56e03","position":[-13.18,0,8.4],"rotation":90},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-0db56e03","position":[-11.620000000000001,0,8.4],"rotation":270},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-0db56e03","position":[-10.08,0,8.4],"rotation":90},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-0db56e03","position":[-8.520000000000001,0,8.4],"rotation":270},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-0db56e03","position":[-6.597316567634911,0,9.323879532511286],"rotation":90},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-0db56e03","position":[-4.92,0,8.4],"rotation":270},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-0db56e03","position":[-4.110969883127821,0,8.304329141908728],"rotation":90},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-0db56e03","position":[-2.3200000000000003,0,8.4],"rotation":270},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-0db56e03","position":[-0.78,0,8.4],"rotation":90},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-0db56e03","position":[0.78,0,8.4],"rotation":270},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-0db56e03","position":[2.3200000000000003,0,8.4],"rotation":90},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-0db56e03","position":[3.88,0,8.4],"rotation":270},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-0db56e03","position":[5.189030116872178,0,8.495670858091273],"rotation":90},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-0db56e03","position":[7.98,0,8.4],"rotation":270},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-0db56e03","position":[8.520000000000001,0,8.4],"rotation":90},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-0db56e03","position":[10.08,0,8.4],"rotation":270},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-0db56e03","position":[11.620000000000001,0,8.4],"rotation":90},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-0db56e03","position":[13.18,0,8.4],"rotation":270},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-e5791c54","position":[-14.4,0,9.4],"rotation":180},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-e5791c54","position":[-4.223223304703364,0,9.576776695296637],"rotation":180},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-e5791c54","position":[4.2086582838174555,0,8.938060233744357],"rotation":180},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-e5791c54","position":[14.4,0,9.4],"rotation":180},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-e5791c54","position":[-23.1,0,0],"rotation":90},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-e5791c54","position":[23.1,0,0],"rotation":270},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-e5791c54","position":[-23.1,0,-6],"rotation":90},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-e5791c54","position":[23.1,0,-6],"rotation":270},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-a3b47619","position":[-2,0,-11.2],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-a3b47619","position":[2,0,-11.2],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-a3b47619","position":[-17.030969883127824,0,-11.295670858091272],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-a3b47619","position":[10.207106781186548,0,-10.492893218813451],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-f0dcff28","position":[-3.2690301168721785,0,-10.704329141908728],"rotation":180},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-f0dcff28","position":[4,0,-10.8],"rotation":180},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-f0dcff28","position":[20.646446609406727,0,-11.553553390593272],"rotation":180},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-f0dcff28","position":[-21.3,0,-11.6],"rotation":180},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-f0dcff28","position":[12.05,0,-11.6],"rotation":180},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-a5b7ef88","position":[0.23096988312782168,0,-10.104329141908726],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-f4a44821","position":[-13.892893218813452,0,7.107106781186548],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-f4a44821","position":[14.6,0,5.65],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-f4a44821","position":[22.6,0,9.6],"rotation":270},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-f4a44821","position":[-4.7690301168721785,0,-9.304329141908728],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-f4a44821","position":[-23.29567085809127,0,7.830969883127821],"rotation":90},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-386d3bf7","position":[-3.5,0,-11.6],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-386d3bf7","position":[13.75,0,-11.6],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-386d3bf7","position":[-12.5,0,-11.6],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-85eaf013","position":[7.261939766255643,0,-10.391341716182545],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-85eaf013","position":[21.646446609406727,0,-10.246446609406727],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-bc129f4f","position":[-23,0,-8],"rotation":90},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-bc129f4f","position":[23,0,-8.5],"rotation":270},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-bc129f4f","position":[-23,0,11.2],"rotation":90},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-bc129f4f","position":[23.25,0,11.2],"rotation":270},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-bc129f4f","position":[7.361939766255643,0,-11.591341716182546],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-2e70de27","position":[13.123879532511285,0,-0.8173165676349101],"rotation":90},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-2e70de27","position":[19.6,0,4.8],"rotation":180},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-2e70de27","position":[15.6,0,-4.2],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-2e70de27","position":[-11,0,-11.4],"rotation":90},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-4161796f","position":[-23.2,0,1.5],"rotation":90},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-4161796f","position":[22.6,0,5.6],"rotation":180},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-57925cd2","position":[-22.85,0,8.4],"rotation":90},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-57925cd2","position":[23.1,0,8.4],"rotation":270},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-57925cd2","position":[-22.923223304703363,0,4.6767766952966365],"rotation":90},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-57925cd2","position":[23.291341716182547,0,4.961939766255643],"rotation":270},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-929a747e","position":[12.8,0,4.4],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-929a747e","position":[14.9,0,4.4],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-929a747e","position":[17,0,4.4],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-929a747e","position":[18.923223304703363,0,4.576776695296637],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-929a747e","position":[21.2,0,4.4],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-1ee219cf","position":[-20.323879532511285,0,-9.21731656763491],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-1ee219cf","position":[13.095670858091273,0,-9.369030116872178],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-feec8ca0","position":[-21,9.6,-11.2],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-feec8ca0","position":[-9,9.6,-11.2],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-feec8ca0","position":[-3,9.6,-11.2],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-feec8ca0","position":[3,9.6,-11.2],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-feec8ca0","position":[15,9.6,-11.2],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-feec8ca0","position":[21,9.6,-11.2],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-ea0ea8c1","position":[-18,6.5,-10.5],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-ea0ea8c1","position":[-12,6.5,-10.5],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-ea0ea8c1","position":[-6,6.5,-10.5],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-ea0ea8c1","position":[0,6.5,-10.5],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-ea0ea8c1","position":[6,6.5,-10.5],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-ea0ea8c1","position":[12,6.5,-10.5],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-ea0ea8c1","position":[18,6.5,-10.5],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-ea0ea8c1","position":[-18,9.7,-10.5],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-ea0ea8c1","position":[-12,9.7,-10.5],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-ea0ea8c1","position":[-6,9.7,-10.5],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-ea0ea8c1","position":[0,9.7,-10.5],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-ea0ea8c1","position":[6,9.7,-10.5],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-ea0ea8c1","position":[12,9.7,-10.5],"rotation":0},{"asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-ea0ea8c1","position":[18,9.7,-10.5],"rotation":0}],"points":[{"position":[-13.6,0,7],"title":"Promenade cafe","text":"Cafe tables and chairs run the length of the promenade with planters and glass windbreaks closing the rail. The sea is a ring of flat tiles carried on to the horizon by the ground plane.","asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-42d9bd95"},{"position":[-4.6,0,4.4],"title":"The pool deck","text":"The raised pool sits amidships with entry steps at both ends, loungers in three rows, parasols between them and a hot tub outboard. Towel stations and planters dress the surround.","asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-62a525fc"},{"position":[14,0,4.4],"title":"Poolside bar","text":"Three counter sections, a double row of stools and the back fitting behind. The bottles and the menu faces are blank: nothing in this pack carries a brand.","asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-3cf5d724"},{"position":[17.4,0,-6.9],"title":"Buffet servery","text":"Counter runs with sneeze guards face each other under a canopy, with food stations at the ends and self service drinks fountains between. The counter doors and the bar back doors open.","asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-d5a977e0"},{"position":[-16.4,0,2.4],"title":"Lounge pavilion","text":"An open sided lounge on its own floor tiles under a ceiling cassette: sofas, armchairs and low tables facing the grand piano, with the stage and bandstand on the dance floor behind. The piano lid lifts.","asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-b7dcc74f"},{"position":[-9,0,-9.9],"title":"Boat deck and muster station","text":"Four lifeboats hang in gravity davits outboard over the rail, with liferaft canister racks, muster boards and fire points along the superstructure. The davit arms swing out and the fire point lockers open.","asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-20c064ce"},{"position":[4.6,0,9.9],"title":"Gangway and tender platform","text":"The hinged gangway drops from the promenade to a tender boarding pontoon on the water. Luggage trolleys wait at the head of it.","asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-80759120"},{"position":[-11,0,-4.6],"title":"Deck sports","text":"The shuffleboard court is a deck plate aft, with quoits sets and games tables beside it and the marked jogging lane running the full width of the deck behind.","asset":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-61a96119"}],"poster":{"position":[-11.5,1.6,-5.2],"lookAt":[-2,0.95,1.2]}},"bounds":{"min":[-40,0,-28],"max":[40,18,28]},"assets":[{"id":"38402","slug":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-6c3a40bb","title":"Sea surface tile, 8 m (Cruise Ship Deck and Lounge)","summary":"Flat open sea tile 8 m square and 0.12 m thick in deep blue, for laying the water out beyond a ship's rail. Laid at y=-0.12 its surface sits exactly on y=0, level with the deck the rest of the pack stands on.","description":"Flat open sea tile 8 m square and 0.12 m thick in deep blue, for laying the water out beyond a ship's rail. Laid at y=-0.12 its surface sits exactly on y=0, level with the deck the rest of the pack stands on. Overall 8.00 by 0.12 by 8.00 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 tile's footprint; lay a grid of them at y=-0.12 so the sea surface is the world's zero plane and no background shows between the deck edge and the horizon. Static surface: the sea is a flat plate with no swell, wake or transparency, because a rigid node transform cannot make water move and a GLB ships no shader. Static geometry; no rig, 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-6c3a40bb","cdnUrl":"https://cdn.3dassets.dev/assets/38402/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-6c3a40bb","thumbnailUrl":"https://cdn.3dassets.dev/assets/38402/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38402/v1/poster.webp","blurhash":"U77C2AtS8wkBtljsV@jb00Ri%jV[McW;t7W-","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"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":1772,"triangles":12,"vertices":28,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-4,-0.000060427989866981835,-4],"max":[4,0.12006042530765797,4]},"sizeMeters":[8,0.12,8],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T14:41:29.454Z","updatedAt":"2026-09-12T14:41:29.705Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38402/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SeaSurfaceTile8MCruiseShipDeckAndLounge(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38402/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38402/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38402/v1/model.glb\" alt=\"Sea surface tile, 8 m (Cruise Ship Deck and Lounge)\" camera-controls auto-rotate></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/38402/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","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)","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/38402/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38411","slug":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-dc45af30","title":"Promenade deck corner, 6 m (Cruise Ship Deck and Lounge)","summary":"Corner module where a promenade turns: a 6 m teak deck plate with the bulwark carried round two adjacent edges, a radiused corner post and the cap rail mitred across it. Ports on its two open edges.","description":"Corner module where a promenade turns: a 6 m teak deck plate with the bulwark carried round two adjacent edges, a radiused corner post and the cap rail mitred across it. Ports on its two open edges. Overall 6.12 by 1.24 by 6.11 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 deck plate's footprint with the bulwark on the +Z and +X edges, so the sea lies out past that corner; lay sections at y=-0.12 so the walking surface is y=0. Static modular piece: the bulwark, the corner post and the cap rail are one welded structure. Static geometry; no rig, 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-dc45af30","cdnUrl":"https://cdn.3dassets.dev/assets/38411/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-dc45af30","thumbnailUrl":"https://cdn.3dassets.dev/assets/38411/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38411/v1/poster.webp","blurhash":"U8A]pY-o5RS5IAWCx]s:00Io$Mae?wxZIARj","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"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":40720,"triangles":380,"vertices":880,"meshes":4,"materials":4,"textures":2,"animations":[],"boundingBox":{"min":[-3.001199960708618,-0.00008726657340984989,-2.9998705731169633],"max":[3.119999885559082,1.2409686438369123,3.1051874504820756]},"sizeMeters":[6.121,1.241,6.105],"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:35.430Z","updatedAt":"2026-09-12T14:41:35.578Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38411/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PromenadeDeckCorner6MCruiseShipDeckAndLounge(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38411/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38411/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38411/v1/model.glb\" alt=\"Promenade deck corner, 6 m (Cruise Ship Deck and Lounge)\" camera-controls auto-rotate></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/38411/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","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)","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/38411/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38408","slug":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-a8e7217e","title":"Promenade deck section, 6 m (Cruise Ship Deck and Lounge)","summary":"Outboard promenade module: a 6 m teak deck plate with the ship's white bulwark along its seaward edge, a teak cap rail at 1.12 m, a stainless grab rail, welded stiffeners and scuppers at deck level. Ports on its three open edges so a promenade runs the length of a ship.","description":"Outboard promenade module: a 6 m teak deck plate with the ship's white bulwark along its seaward edge, a teak cap rail at 1.12 m, a stainless grab rail, welded stiffeners and scuppers at deck level. Ports on its three open edges so a promenade runs the length of a ship. Overall 6.00 by 1.24 by 6.00 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 deck plate's footprint with the bulwark toward +Z, so the sea lies out past +Z; lay sections at y=-0.12 so the walking surface is y=0. Static modular piece: the bulwark, the cap rail and the scuppers are one welded structure. Static geometry; no rig, 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-a8e7217e","cdnUrl":"https://cdn.3dassets.dev/assets/38408/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-a8e7217e","thumbnailUrl":"https://cdn.3dassets.dev/assets/38408/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38408/v1/poster.webp","blurhash":"U5AvLU~q0gR59FRPx]xu004n=FS~~q%NMdD%","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"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":34712,"triangles":264,"vertices":616,"meshes":4,"materials":4,"textures":2,"animations":[],"boundingBox":{"min":[-3.001199960708618,-0.000014033745987407364,-3],"max":[3.001199960708618,1.2400140432827307,3]},"sizeMeters":[6.002,1.24,6],"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:32.564Z","updatedAt":"2026-09-12T14:41:32.825Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38408/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PromenadeDeckSection6MCruiseShipDeckAndLounge(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38408/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38408/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38408/v1/model.glb\" alt=\"Promenade deck section, 6 m (Cruise Ship Deck and Lounge)\" camera-controls auto-rotate></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/38408/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","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)","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/38408/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38404","slug":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-430d7f56","title":"Teak deck plate, 6 m (Cruise Ship Deck and Lounge)","summary":"Laid teak deck module 6 m square and 0.12 m thick, planked along Z with caulked seams every 0.5 m. Ports on all four edges so an open deck tiles to any size.","description":"Laid teak deck module 6 m square and 0.12 m thick, planked along Z with caulked seams every 0.5 m. Ports on all four edges so an open deck tiles to any size. Overall 6.00 by 0.13 by 6.00 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 plate's footprint, planks running along Z; lay plates at y=-0.12 so the walking surface is y=0. Static modular piece; the caulk seams are geometry a few millimetres proud of the planking. Static geometry; no rig, 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-430d7f56","cdnUrl":"https://cdn.3dassets.dev/assets/38404/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-430d7f56","thumbnailUrl":"https://cdn.3dassets.dev/assets/38404/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38404/v1/poster.webp","blurhash":"U39r^8=v0fXR=xbINts901Eh}sV[0$n#sDOY","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"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":23948,"triangles":144,"vertices":336,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-3.001199960708618,-0.000060427989866981835,-3],"max":[3.001199960708618,0.12786189893508274,3]},"sizeMeters":[6.002,0.128,6],"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:29.649Z","updatedAt":"2026-09-12T14:41:29.779Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38404/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TeakDeckPlate6MCruiseShipDeckAndLounge(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38404/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38404/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38404/v1/model.glb\" alt=\"Teak deck plate, 6 m (Cruise Ship Deck and Lounge)\" camera-controls auto-rotate></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/38404/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","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)","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/38404/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38409","slug":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-83c3eff3","title":"Lounge floor tile, 6 m (Cruise Ship Deck and Lounge)","summary":"Carpeted lounge floor module 6 m square with a navy border band and a teak threshold strip on one edge, for the soft floored part of a deck under a canopy or inside a pavilion.","description":"Carpeted lounge floor module 6 m square with a navy border band and a teak threshold strip on one edge, for the soft floored part of a deck under a canopy or inside a pavilion. Overall 6.00 by 0.15 by 6.00 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 tile's footprint, the threshold strip toward +Z; lay tiles at y=-0.12 so the floor surface is y=0. Static modular piece. Static geometry; no rig, 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-83c3eff3","cdnUrl":"https://cdn.3dassets.dev/assets/38409/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-83c3eff3","thumbnailUrl":"https://cdn.3dassets.dev/assets/38409/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38409/v1/poster.webp","blurhash":"U9D]o7%200WXx^fRV@jZ00M|~qWBDhj@kWW=","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"slug":"interior","title":"Interior"},{"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":20080,"triangles":48,"vertices":112,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-3,0.000016461994048644346,-3],"max":[3,0.14588799701061844,3]},"sizeMeters":[6,0.146,6],"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:32.615Z","updatedAt":"2026-09-12T14:41:32.865Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38409/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LoungeFloorTile6MCruiseShipDeckAndLounge(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38409/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38409/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38409/v1/model.glb\" alt=\"Lounge floor tile, 6 m (Cruise Ship Deck and Lounge)\" camera-controls auto-rotate></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/38409/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","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)","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/38409/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38403","slug":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-22c7f8a1","title":"Painted steel deck plate, 6 m (Cruise Ship Deck and Lounge)","summary":"The same 6 m deck module in grey non slip deck paint with a yellow service margin and a welded seam, for the working and service parts of a deck where teak is never laid.","description":"The same 6 m deck module in grey non slip deck paint with a yellow service margin and a welded seam, for the working and service parts of a deck where teak is never laid. Overall 6.00 by 0.13 by 6.00 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0. Static modular piece; the margin and the seam are painted geometry a few millimetres proud of the plating. Static geometry; no rig, 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-22c7f8a1","cdnUrl":"https://cdn.3dassets.dev/assets/38403/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-22c7f8a1","thumbnailUrl":"https://cdn.3dassets.dev/assets/38403/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38403/v1/poster.webp","blurhash":"U6B:,2-;00jv-:a{Rkof00IU~qRj9FoMn$NG","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"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":7904,"triangles":48,"vertices":112,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-3.001199960708618,-0.000060427989866981835,-3],"max":[3.001199960708618,0.12905955315181944,3.001199960708618]},"sizeMeters":[6.002,0.129,6.001],"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:29.651Z","updatedAt":"2026-09-12T14:41:29.777Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38403/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PaintedSteelDeckPlate6MCruiseShipDeckAndLounge(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38403/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38403/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38403/v1/model.glb\" alt=\"Painted steel deck plate, 6 m (Cruise Ship Deck and Lounge)\" camera-controls auto-rotate></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/38403/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","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)","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/38403/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38407","slug":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-496d16b0","title":"Dance floor deck plate, 6 m (Cruise Ship Deck and Lounge)","summary":"Deck module 6 m square laid as a chequered dance floor: pale and dark squares 0.75 m across in a polished inlay with a charcoal border kerb, for the open air floor in front of a deck stage.","description":"Deck module 6 m square laid as a chequered dance floor: pale and dark squares 0.75 m across in a polished inlay with a charcoal border kerb, for the open air floor in front of a deck stage. Overall 6.00 by 0.13 by 6.00 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 plate's footprint; lay plates at y=-0.12 so the floor surface is y=0. Static modular piece; the chequer is inlaid geometry, and nothing on it is lit or rigged. Static geometry; no rig, 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-496d16b0","cdnUrl":"https://cdn.3dassets.dev/assets/38407/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-496d16b0","thumbnailUrl":"https://cdn.3dassets.dev/assets/38407/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38407/v1/poster.webp","blurhash":"U89t18xa01WXx]j[Rjj[00NG~BjZDjWVs:WB","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"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":53048,"triangles":600,"vertices":1400,"meshes":3,"materials":3,"textures":2,"animations":[],"boundingBox":{"min":[-3,-0.000060427989866981835,-3],"max":[3,0.12808844401136826,3]},"sizeMeters":[6,0.128,6],"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:32.442Z","updatedAt":"2026-09-12T14:41:32.543Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38407/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DanceFloorDeckPlate6MCruiseShipDeckAndLounge(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38407/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38407/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38407/v1/model.glb\" alt=\"Dance floor deck plate, 6 m (Cruise Ship Deck and Lounge)\" camera-controls auto-rotate></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/38407/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","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)","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/38407/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38406","slug":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-68bf2e27","title":"Shuffleboard court deck plate, 6 m (Cruise Ship Deck and Lounge)","summary":"Deck module 6 m square painted as a shuffleboard court: a white scoring triangle with numbered bands, a charcoal border and the shooting line marked at the far end, for the games end of a promenade deck.","description":"Deck module 6 m square painted as a shuffleboard court: a white scoring triangle with numbered bands, a charcoal border and the shooting line marked at the far end, for the games end of a promenade deck. Overall 6.00 by 0.15 by 6.00 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 plate's footprint, the scoring triangle pointing toward -Z; lay plates at y=-0.12 so the court surface is y=0. Static modular piece; the court markings are painted geometry a few millimetres proud of the deck. Static geometry; no rig, 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-68bf2e27","cdnUrl":"https://cdn.3dassets.dev/assets/38406/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-68bf2e27","thumbnailUrl":"https://cdn.3dassets.dev/assets/38406/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38406/v1/poster.webp","blurhash":"U9CP|v%L00R+xuWVWBof00M{~qoJIAofkCRj","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"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":11900,"triangles":120,"vertices":280,"meshes":5,"materials":5,"textures":1,"animations":[],"boundingBox":{"min":[-3,-0.000060427989866981835,-3],"max":[3,0.14601007104852243,3]},"sizeMeters":[6,0.146,6],"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:32.403Z","updatedAt":"2026-09-12T14:41:32.510Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38406/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ShuffleboardCourtDeckPlate6MCruiseShipDeckAndLounge(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38406/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38406/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38406/v1/model.glb\" alt=\"Shuffleboard court deck plate, 6 m (Cruise Ship Deck and Lounge)\" camera-controls auto-rotate></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/38406/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","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)","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/38406/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38405","slug":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-714f2f57","title":"Jogging track deck plate, 6 m (Cruise Ship Deck and Lounge)","summary":"Deck module 6 m square surfaced as a two lane jogging track: a red rubberised band 2.4 m wide with white lane dashes and a painted distance mark, for the circuit that runs the length of a promenade.","description":"Deck module 6 m square surfaced as a two lane jogging track: a red rubberised band 2.4 m wide with white lane dashes and a painted distance mark, for the circuit that runs the length of a promenade. Overall 6.00 by 0.14 by 6.00 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 plate's footprint, the track running along X; lay plates at y=-0.12 so the running surface is y=0. Static modular piece; the markings are painted geometry a few millimetres proud of the surfacing. Static geometry; no rig, 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-714f2f57","cdnUrl":"https://cdn.3dassets.dev/assets/38405/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-714f2f57","thumbnailUrl":"https://cdn.3dassets.dev/assets/38405/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38405/v1/poster.webp","blurhash":"UAC?G#%M0KS4%LniRlS~00M{}te.9aS~slvg","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"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":12352,"triangles":120,"vertices":280,"meshes":4,"materials":4,"textures":1,"animations":[],"boundingBox":{"min":[-3.001199960708618,-0.000060427989866981835,-3],"max":[3,0.13686156483749595,3]},"sizeMeters":[6.001,0.137,6],"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:29.669Z","updatedAt":"2026-09-12T14:41:29.798Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38405/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function JoggingTrackDeckPlate6MCruiseShipDeckAndLounge(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38405/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38405/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38405/v1/model.glb\" alt=\"Jogging track deck plate, 6 m (Cruise Ship Deck and Lounge)\" camera-controls auto-rotate></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/38405/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","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)","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/38405/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38410","slug":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-6639c409","title":"Bulwark and railing run, 6 m (Cruise Ship Deck and Lounge)","summary":"Standalone 6 m rail run for the edge of any deck: a white steel bulwark 1.05 m high on a welded base flat, a teak cap rail, four stainless stanchions carrying two courses of rail above it and a kick plate at deck level.","description":"Standalone 6 m rail run for the edge of any deck: a white steel bulwark 1.05 m high on a welded base flat, a teak cap rail, four stainless stanchions carrying two courses of rail above it and a kick plate at deck level. Overall 6.00 by 1.58 by 0.60 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 run's footprint, the bulwark centred on the Z axis so it can be laid against a deck edge from either side. Static modular piece: the whole run is one welded structure and nothing on it is rigged. Static geometry; no rig, 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-6639c409","cdnUrl":"https://cdn.3dassets.dev/assets/38410/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-6639c409","thumbnailUrl":"https://cdn.3dassets.dev/assets/38410/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38410/v1/poster.webp","blurhash":"UBDS%d%29FxaIU~qt7M{00D%?bay-;00IUxu","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"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":34896,"triangles":292,"vertices":673,"meshes":3,"materials":3,"textures":2,"animations":[],"boundingBox":{"min":[-3,-0.00003263334746717028,-0.38992079373907373],"max":[3,1.5800326762628114,0.20984527115695667]},"sizeMeters":[6,1.58,0.6],"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:35.243Z","updatedAt":"2026-09-12T14:41:35.447Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38410/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BulwarkAndRailingRun6MCruiseShipDeckAndLounge(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38410/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38410/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38410/v1/model.glb\" alt=\"Bulwark and railing run, 6 m (Cruise Ship Deck and Lounge)\" camera-controls auto-rotate></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/38410/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","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)","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/38410/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38412","slug":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-52b8659d","title":"Superstructure wall run, 6 m (Cruise Ship Deck and Lounge)","summary":"Deckhouse wall module 6 m wide and 3.2 m to the deck head: white plating with a welded sheer band, three framed cabin windows and a deck head lip. Ports at both ends and top and bottom so a superstructure runs the length of a ship and stacks deck on deck.","description":"Deckhouse wall module 6 m wide and 3.2 m to the deck head: white plating with a welded sheer band, three framed cabin windows and a deck head lip. Ports at both ends and top and bottom so a superstructure runs the length of a ship and stacks deck on deck. Overall 6.09 by 3.20 by 0.56 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 wall's footprint, the cabin side facing +Z; stack runs at 3.2 m intervals for further decks. Static modular piece: the windows are fixed lights and nothing on the run opens. Static geometry; no rig, 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-52b8659d","cdnUrl":"https://cdn.3dassets.dev/assets/38412/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-52b8659d","thumbnailUrl":"https://cdn.3dassets.dev/assets/38412/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38412/v1/poster.webp","blurhash":"UHHC7jt7D$xutS~qt7M{00WXt8oexZ-pNGIU","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"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":15040,"triangles":192,"vertices":448,"meshes":5,"materials":5,"textures":1,"animations":[],"boundingBox":{"min":[-3.0450000762939453,-0.000049151048402196196,-0.2799017374125603],"max":[3.0450000762939453,3.200049198732118,0.2799017374125603]},"sizeMeters":[6.09,3.2,0.56],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T14:41:35.616Z","updatedAt":"2026-09-12T14:41:35.748Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38412/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SuperstructureWallRun6MCruiseShipDeckAndLounge(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38412/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38412/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38412/v1/model.glb\" alt=\"Superstructure wall run, 6 m (Cruise Ship Deck and Lounge)\" camera-controls auto-rotate></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/38412/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","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)","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/38412/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38414","slug":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-feec8ca0","title":"Superstructure balcony run, 6 m (Cruise Ship Deck and Lounge)","summary":"Cabin balcony module 6 m wide and 3.2 m to the deck head: two recessed balconies with glass balustrades, a teak capping, framed sliding doors and a divider between them, on the same ported grid as the plain wall run so the two mix along a facade.","description":"Cabin balcony module 6 m wide and 3.2 m to the deck head: two recessed balconies with glass balustrades, a teak capping, framed sliding doors and a divider between them, on the same ported grid as the plain wall run so the two mix along a facade. Overall 6.00 by 3.20 by 2.43 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 wall's footprint, the balconies facing +Z; stack runs at 3.2 m intervals for further decks. Static modular piece: the balcony doors are fixed glazed panels rather than a rigged leaf, because a recessed sliding door would need a pocket modelled behind the cabin wall this module does not carry. Static geometry; no rig, 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-feec8ca0","cdnUrl":"https://cdn.3dassets.dev/assets/38414/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-feec8ca0","thumbnailUrl":"https://cdn.3dassets.dev/assets/38414/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38414/v1/poster.webp","blurhash":"U9HetWxY00oe_2~qM_9F00x^E1IU%M~qx]4.","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"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":32608,"triangles":192,"vertices":440,"meshes":6,"materials":6,"textures":2,"animations":[],"boundingBox":{"min":[-3,-0.0002075020225791313,-0.7998351940883652],"max":[3,3.200207549706295,1.6299484261031714]},"sizeMeters":[6,3.2,2.43],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T14:41:38.206Z","updatedAt":"2026-09-12T14:41:38.316Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38414/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SuperstructureBalconyRun6MCruiseShipDeckAndLounge(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38414/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38414/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38414/v1/model.glb\" alt=\"Superstructure balcony run, 6 m (Cruise Ship Deck and Lounge)\" camera-controls auto-rotate></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/38414/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","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)","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/38414/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38415","slug":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-ea0ea8c1","title":"Balcony divider panel (Cruise Ship Deck and Lounge)","summary":"Privacy divider between two cabin balconies: a 1.7 m obscured glass panel in a white framed post reaching 2.2 m, with a teak capping and a bolted deck foot, for closing the gap between balcony runs.","description":"Privacy divider between two cabin balconies: a 1.7 m obscured glass panel in a white framed post reaching 2.2 m, with a teak capping and a bolted deck foot, for closing the gap between balcony runs. Overall 0.28 by 2.27 by 1.72 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 divider's footprint, the panel in the YZ plane so it stands across a balcony. Static fitting: the panel is fixed and does not hinge or fold. Static geometry; no rig, 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-ea0ea8c1","cdnUrl":"https://cdn.3dassets.dev/assets/38415/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-ea0ea8c1","thumbnailUrl":"https://cdn.3dassets.dev/assets/38415/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38415/v1/poster.webp","blurhash":"UPF~jkjZ00RjxGM{R+%M00ae_Nt7oJfkWqae","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":25276,"triangles":72,"vertices":168,"meshes":4,"materials":4,"textures":2,"animations":[],"boundingBox":{"min":[-0.14001251406160212,-0.000005493989167631996,-0.8100562504946524],"max":[0.14001251406160212,2.2749595730932,0.9100000262260437]},"sizeMeters":[0.28,2.275,1.72],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T14:41:38.348Z","updatedAt":"2026-09-12T14:41:38.546Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38415/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BalconyDividerPanelCruiseShipDeckAndLounge(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38415/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38415/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38415/v1/model.glb\" alt=\"Balcony divider panel (Cruise Ship Deck and Lounge)\" camera-controls auto-rotate></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/38415/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","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)","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/38415/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38417","slug":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-0fe6b7bb","title":"Funnel section (Cruise Ship Deck and Lounge)","summary":"Raked ship's funnel 7.4 m to the top of its uptakes on a 4.5 m base: a white plated casing stepping aft as it rises, a charcoal cap band, twin steel uptakes, a wind deflector fin and an access door. The casing is left blank, with no marking of any kind.","description":"Raked ship's funnel 7.4 m to the top of its uptakes on a 4.5 m base: a white plated casing stepping aft as it rises, a charcoal cap band, twin steel uptakes, a wind deflector fin and an access door. The casing is left blank, with no marking of any kind. Overall 4.50 by 7.44 by 3.60 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 casing's footprint, the rake falling toward -Z, so the funnel stands on a top deck with the ship's bow toward +Z. Static structure: the uptakes, the fin and the access door are modelled solid, and there is no exhaust, smoke or heat effect, because none of that is geometry. Static geometry; no rig, 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-0fe6b7bb","cdnUrl":"https://cdn.3dassets.dev/assets/38417/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-0fe6b7bb","thumbnailUrl":"https://cdn.3dassets.dev/assets/38417/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38417/v1/poster.webp","blurhash":"U9D]rFt700M|00WB-;af00M{~qx[%MtRxuWA","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":22848,"triangles":364,"vertices":840,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-2.2500137623262955,0,-1.8500763131556546],"max":[2.2500137623262955,7.440000057220459,1.7500762893137967]},"sizeMeters":[4.5,7.44,3.6],"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:38.606Z","updatedAt":"2026-09-12T14:41:38.725Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38417/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FunnelSectionCruiseShipDeckAndLounge(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38417/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38417/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38417/v1/model.glb\" alt=\"Funnel section (Cruise Ship Deck and Lounge)\" camera-controls auto-rotate></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/38417/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","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)","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/38417/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38416","slug":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-13b2502f","title":"Mast with radar scanner (Cruise Ship Deck and Lounge)","summary":"Signal mast 8.1 m tall on a bolted plinth: a tapered white column with a steel spreader yard, red and green sidelights, a working platform with a rail, a whip aerial and a radar scanner on the truck that turns.","description":"Signal mast 8.1 m tall on a bolted plinth: a tapered white column with a steel spreader yard, red and green sidelights, a working platform with a rail, a whip aerial and a radar scanner on the truck that turns. Overall 3.66 by 8.14 by 1.10 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 plinth, the spreader yard running along X and the scanner turning about the mast's own axis. Only the scanner turns: the mast, the yard, the lights, the aerial and the platform are one welded structure, and the aerial wires are modelled solid because a stay is not a rigid node transform. Rigid node-transform clips: spin. 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-13b2502f","cdnUrl":"https://cdn.3dassets.dev/assets/38416/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-13b2502f","thumbnailUrl":"https://cdn.3dassets.dev/assets/38416/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38416/v1/poster.webp","blurhash":"U38|@c?H0000~Wxa4.IoNMXRadrFOXX9nOn3","category":{"slug":"buildings","title":"Buildings & Architecture"},"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":34904,"triangles":596,"vertices":1365,"meshes":7,"materials":5,"textures":1,"animations":["spin"],"boundingBox":{"min":[-1.830003891108503,0,-0.5501242052825889],"max":[1.830003891108503,8.140002314403727,0.5501242052825889]},"sizeMeters":[3.66,8.14,1.1],"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:38.570Z","updatedAt":"2026-09-12T14:41:38.690Z","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/38416/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 MastWithRadarScannerCruiseShipDeckAndLounge(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/38416/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/38416/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38416/v1/model.glb\" alt=\"Mast with radar scanner (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/38416/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/38416/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"38419","slug":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-a5b7ef88","title":"Liferaft canister rack (Cruise Ship Deck and Lounge)","summary":"Inclined liferaft cradle 2.9 m wide: four white glassfibre canisters in a galvanised rack on a red launch cradle, with the lashing band, the hydrostatic release box and a blank instruction plate, for the muster side of an open deck.","description":"Inclined liferaft cradle 2.9 m wide: four white glassfibre canisters in a galvanised rack on a red launch cradle, with the lashing band, the hydrostatic release box and a blank instruction plate, for the muster side of an open deck. Overall 3.28 by 1.71 by 1.50 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 rack's footprint, the canisters lying along X and the launch side toward +Z. Static fitting: the canisters, the lashing band and the release are modelled solid, because a raft inflating is not a rigid node transform. Static geometry; no rig, 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-a5b7ef88","cdnUrl":"https://cdn.3dassets.dev/assets/38419/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-a5b7ef88","thumbnailUrl":"https://cdn.3dassets.dev/assets/38419/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38419/v1/poster.webp","blurhash":"UBF#:q~C00IVCR-;v}IU009t.SVtqtml%2OY","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":23316,"triangles":480,"vertices":1020,"meshes":4,"materials":4,"textures":1,"animations":[],"boundingBox":{"min":[-1.659999966621399,-0.000060427989866981835,-0.750114444410535],"max":[1.6200000047683716,1.7100395480745039,0.750114444410535]},"sizeMeters":[3.28,1.71,1.5],"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.194Z","updatedAt":"2026-09-12T14:41:41.306Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38419/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LiferaftCanisterRackCruiseShipDeckAndLounge(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38419/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38419/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38419/v1/model.glb\" alt=\"Liferaft canister rack (Cruise Ship Deck and Lounge)\" camera-controls auto-rotate></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/38419/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","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)","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/38419/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38421","slug":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-f0dcff28","title":"Muster station board (Cruise Ship Deck and Lounge)","summary":"Muster station sign 2.2 m tall on two posts: a white board in a navy frame with a red header band and a recessed charcoal plan panel, both faces left completely blank so a project prints its own station letter and deck plan onto them.","description":"Muster station sign 2.2 m tall on two posts: a white board in a navy frame with a red header band and a recessed charcoal plan panel, both faces left completely blank so a project prints its own station letter and deck plan onto them. Overall 1.90 by 2.25 by 0.24 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 board's footprint, the reading face toward +Z. Static sign: the board and its posts are one welded piece, and both faces are blank. Static geometry; no rig, 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-f0dcff28","cdnUrl":"https://cdn.3dassets.dev/assets/38421/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-f0dcff28","thumbnailUrl":"https://cdn.3dassets.dev/assets/38421/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38421/v1/poster.webp","blurhash":"UCATZnxt00NH~Wx]9sE1R4t8t8InE1s:$*NG","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":13060,"triangles":148,"vertices":342,"meshes":5,"materials":5,"textures":1,"animations":[],"boundingBox":{"min":[-0.9500373851741081,0,-0.12002929776909696],"max":[0.9500373851741081,2.25,0.12002929776909696]},"sizeMeters":[1.9,2.25,0.24],"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.383Z","updatedAt":"2026-09-12T14:41:41.535Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38421/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function MusterStationBoardCruiseShipDeckAndLounge(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38421/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38421/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38421/v1/model.glb\" alt=\"Muster station board (Cruise Ship Deck and Lounge)\" camera-controls auto-rotate></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/38421/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","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)","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/38421/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38430","slug":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-a3b47619","title":"Deck fire point (Cruise Ship Deck and Lounge)","summary":"Red fire point locker 1.6 m tall: two doors that open on a cabinet holding a hose reel, two extinguishers and a fire axe, with a blank red sign panel above and a break glass call point beside it.","description":"Red fire point locker 1.6 m tall: two doors that open on a cabinet holding a hose reel, two extinguishers and a fire axe, with a blank red sign panel above and a break glass call point beside it. Overall 1.58 by 1.94 by 0.68 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 locker's footprint, the doors facing +Z. Only the two doors swing: the hose reel and its hose are modelled solid, because a reel paying off flexible hose needs a joint per coil and none is reachable with a rigid node transform. 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-a3b47619","cdnUrl":"https://cdn.3dassets.dev/assets/38430/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-a3b47619","thumbnailUrl":"https://cdn.3dassets.dev/assets/38430/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38430/v1/poster.webp","blurhash":"U9F3[E^j000f={-UIp9[0{oI}tWr$LxDOEE#","category":{"slug":"props","title":"Props & Furniture"},"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":42108,"triangles":428,"vertices":960,"meshes":10,"materials":5,"textures":2,"animations":["open","close"],"boundingBox":{"min":[-0.6500674438801444,0,-0.3400230393271627],"max":[0.9300000071525574,1.940000057220459,0.3400230393271627]},"sizeMeters":[1.58,1.94,0.68],"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:49.776Z","updatedAt":"2026-09-12T14:41:49.893Z","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/38430/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 DeckFirePointCruiseShipDeckAndLounge(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/38430/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/38430/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38430/v1/model.glb\" alt=\"Deck fire point (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/38430/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/38430/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"38425","slug":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-bc129f4f","title":"Mooring bollard with rope eye (Cruise Ship Deck and Lounge)","summary":"Twin bitt mooring bollard 0.9 m tall: two white steel posts with turned heads on a bolted base plate, a cross bar between them and a laid rope eye dropped over one post, for the mooring stations at a ship's ends.","description":"Twin bitt mooring bollard 0.9 m tall: two white steel posts with turned heads on a bolted base plate, a cross bar between them and a laid rope eye dropped over one post, for the mooring stations at a ship's ends. Overall 1.11 by 0.98 by 0.60 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 base plate, the two posts standing along X. Static fitting: the rope eye is modelled solid and nothing turns, because a mooring line is not a rigid node transform. Static geometry; no rig, 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-bc129f4f","cdnUrl":"https://cdn.3dassets.dev/assets/38425/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-bc129f4f","thumbnailUrl":"https://cdn.3dassets.dev/assets/38425/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38425/v1/poster.webp","blurhash":"U7EyVxZ$00Op00-;~p9Y00OY_2V=.8o#j?ad","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":44628,"triangles":452,"vertices":1028,"meshes":4,"materials":4,"textures":2,"animations":[],"boundingBox":{"min":[-0.6122919917106628,-0.00003082488666367178,-0.3000274666585284],"max":[0.5,0.9799786457768561,0.3000274666585284]},"sizeMeters":[1.112,0.98,0.6],"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:46.656Z","updatedAt":"2026-09-12T14:41:46.758Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38425/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function MooringBollardWithRopeEyeCruiseShipDeckAndLounge(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38425/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38425/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38425/v1/model.glb\" alt=\"Mooring bollard with rope eye (Cruise Ship Deck and Lounge)\" camera-controls auto-rotate></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/38425/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","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)","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/38425/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38431","slug":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-f4a44821","title":"Deck signage post (Cruise Ship Deck and Lounge)","summary":"Wayfinding post 2.4 m tall: a white column on a bolted foot carrying three navy directional blades and a portrait deck plan panel, every face left blank so a project prints its own deck names and arrows onto them.","description":"Wayfinding post 2.4 m tall: a white column on a bolted foot carrying three navy directional blades and a portrait deck plan panel, every face left blank so a project prints its own deck names and arrows onto them. Overall 2.74 by 2.50 by 0.36 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 base plate, the blades reading across the X axis. Static sign: the blades are fixed to the post and every face is blank. Static geometry; no rig, 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-f4a44821","cdnUrl":"https://cdn.3dassets.dev/assets/38431/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-f4a44821","thumbnailUrl":"https://cdn.3dassets.dev/assets/38431/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38431/v1/poster.webp","blurhash":"U98qmU%M00D$.Tx^MwIT4mtS.8MwDhRitStR","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":15084,"triangles":188,"vertices":434,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-1.3700000047683716,0,-0.18005920590838345],"max":[1.3700000047683716,2.5,0.18005920590838345]},"sizeMeters":[2.74,2.5,0.36],"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:50.076Z","updatedAt":"2026-09-12T14:41:50.216Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38431/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DeckSignagePostCruiseShipDeckAndLounge(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38431/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38431/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38431/v1/model.glb\" alt=\"Deck signage post (Cruise Ship Deck and Lounge)\" camera-controls auto-rotate></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/38431/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","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)","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/38431/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38423","slug":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-0094e794","title":"Mooring winch (Cruise Ship Deck and Lounge)","summary":"Deck mooring winch 2.6 m wide: a grey machinery bed carrying a flanged rope drum that turns, a warping head, the band brake wheel, a guard and a control stand, with a coil of laid rope on the drum modelled solid.","description":"Deck mooring winch 2.6 m wide: a grey machinery bed carrying a flanged rope drum that turns, a warping head, the band brake wheel, a guard and a control stand, with a coil of laid rope on the drum modelled solid. Overall 3.05 by 1.40 by 1.40 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 winch bed, the drum axis running along X and the rope leading off toward +Z. Only the drum turns: the brake wheel, the guard, the control stand and the rope on the drum are fixed, because a rope paying off a drum is not a rigid node transform. Rigid node-transform clips: spin. 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-0094e794","cdnUrl":"https://cdn.3dassets.dev/assets/38423/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-0094e794","thumbnailUrl":"https://cdn.3dassets.dev/assets/38423/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38423/v1/poster.webp","blurhash":"U4B3mJ~p009b00_3?vRQ004o}S-oysD%m+E0","category":{"slug":"props","title":"Props & Furniture"},"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":40712,"triangles":484,"vertices":1040,"meshes":11,"materials":6,"textures":2,"animations":["spin"],"boundingBox":{"min":[-1.7000000476837158,0.000019233537723650773,-0.7000884779983871],"max":[1.350000023841858,1.3999935502419085,0.7000884779983871]},"sizeMeters":[3.05,1.4,1.4],"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:44.044Z","updatedAt":"2026-09-12T14:41:44.178Z","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/38423/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 MooringWinchCruiseShipDeckAndLounge(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/38423/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/38423/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38423/v1/model.glb\" alt=\"Mooring winch (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/38423/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/38423/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"38424","slug":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-0b6c2ab3","title":"Anchor windlass (Cruise Ship Deck and Lounge)","summary":"Foredeck windlass 3.2 m wide: a grey bed with a pocketed cable lifter that turns, a chain stopper with its bar, a length of stud link cable running to the spurling pipe, the hydraulic motor housing and a control pedestal with blank gauges.","description":"Foredeck windlass 3.2 m wide: a grey bed with a pocketed cable lifter that turns, a chain stopper with its bar, a length of stud link cable running to the spurling pipe, the hydraulic motor housing and a control pedestal with blank gauges. Overall 3.46 by 1.55 by 3.95 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 windlass bed, the cable lifter axis along X and the cable running out toward +Z. Only the cable lifter turns: the cable, the stopper and the spurling pipe are modelled solid, because a chain is a linkage and not a rigid node transform. Rigid node-transform clips: spin. 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-0b6c2ab3","cdnUrl":"https://cdn.3dassets.dev/assets/38424/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-0b6c2ab3","thumbnailUrl":"https://cdn.3dassets.dev/assets/38424/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38424/v1/poster.webp","blurhash":"U584i3$]00IvE7NLRjjX00R;_3t2~S-iofR:","category":{"slug":"props","title":"Props & Furniture"},"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":31632,"triangles":484,"vertices":1059,"meshes":16,"materials":5,"textures":1,"animations":["spin"],"boundingBox":{"min":[-1.6399999856948853,-0.000010372120896717796,-0.800122085960652],"max":[1.8200760355499093,1.5531976301140387,3.1500000953674316]},"sizeMeters":[3.46,1.553,3.95],"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:44.401Z","updatedAt":"2026-09-12T14:41:44.545Z","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/38424/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 AnchorWindlassCruiseShipDeckAndLounge(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/38424/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/38424/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38424/v1/model.glb\" alt=\"Anchor windlass (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/38424/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/38424/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"38422","slug":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-85eaf013","title":"Deck hatch with hinged lid (Cruise Ship Deck and Lounge)","summary":"Flush deck hatch 1.5 m square: a raised yellow coaming with a charcoal gasket seat and a white steel lid on its hinge bar, with six dogs, a grab handle and a stay, for access to the spaces under an open deck.","description":"Flush deck hatch 1.5 m square: a raised yellow coaming with a charcoal gasket seat and a white steel lid on its hinge bar, with six dogs, a grab handle and a stay, for access to the spaces under an open deck. Overall 1.50 by 0.46 by 1.50 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 coaming's footprint, the hinge bar on the +Z edge so the lid lifts up and over it. Only the lid lifts: the coaming, the gasket seat, the dogs and the hinge bar are fixed. 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-85eaf013","cdnUrl":"https://cdn.3dassets.dev/assets/38422/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-85eaf013","thumbnailUrl":"https://cdn.3dassets.dev/assets/38422/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38422/v1/poster.webp","blurhash":"U8Gus^_2009YErRlRNRj00IU%iWG#fx[-:xo","category":{"slug":"props","title":"Props & Furniture"},"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":15684,"triangles":188,"vertices":432,"meshes":10,"materials":5,"textures":1,"animations":["open","close"],"boundingBox":{"min":[-0.75,-0.000011903539738355312,-0.75],"max":[0.75,0.4550035157878758,0.75]},"sizeMeters":[1.5,0.455,1.5],"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:44.025Z","updatedAt":"2026-09-12T14:41:44.165Z","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/38422/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 DeckHatchWithHingedLidCruiseShipDeckAndLounge(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/38422/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/38422/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38422/v1/model.glb\" alt=\"Deck hatch with hinged lid (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/38422/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/38422/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"38428","slug":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-386d3bf7","title":"Watertight crew door (Cruise Ship Deck and Lounge)","summary":"Crew access door 2.35 m tall in a white steel surround: a dogged watertight leaf with a charcoal gasket, six cleats, a long handle, a kick plate and a small blank sign panel above, hinged so it opens out onto the deck.","description":"Crew access door 2.35 m tall in a white steel surround: a dogged watertight leaf with a charcoal gasket, six cleats, a long handle, a kick plate and a small blank sign panel above, hinged so it opens out onto the deck. Overall 1.34 by 2.35 by 0.56 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 surround's footprint, the leaf facing +Z, so the door stands against the +Z face of a superstructure wall. Only the leaf swings: the surround, the coaming, the cleat keeps and the sign are fixed. 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-386d3bf7","cdnUrl":"https://cdn.3dassets.dev/assets/38428/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-386d3bf7","thumbnailUrl":"https://cdn.3dassets.dev/assets/38428/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38428/v1/poster.webp","blurhash":"UBDvfuIU00xu_4t89EIUD$ogo#t5x]t6M{M}","category":{"slug":"buildings","title":"Buildings & Architecture"},"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":17904,"triangles":216,"vertices":504,"meshes":14,"materials":4,"textures":1,"animations":["open","close"],"boundingBox":{"min":[-0.6711999773979187,0,-0.16997924408677784],"max":[0.6700658927879295,2.3499999046325684,0.3899999916553497]},"sizeMeters":[1.341,2.35,0.56],"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:48.215Z","updatedAt":"2026-09-12T14:41:48.318Z","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/38428/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 WatertightCrewDoorCruiseShipDeckAndLounge(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/38428/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/38428/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38428/v1/model.glb\" alt=\"Watertight crew door (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/38428/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/38428/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"38420","slug":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-d8205be9","title":"Companionway stair, one deck (Cruise Ship Deck and Lounge)","summary":"Open steel stair climbing 3.2 m to the next deck: ten treads with yellow non slip nosings between folded stringers, a top landing with a kick plate and stanchion rails on both sides, for getting between deck levels on the outside of a superstructure.","description":"Open steel stair climbing 3.2 m to the next deck: ten treads with yellow non slip nosings between folded stringers, a top landing with a kick plate and stanchion rails on both sides, for getting between deck levels on the outside of a superstructure. Overall 1.45 by 4.31 by 4.46 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 stair's footprint, the climb running toward -Z so the landing is at the far end at 3.2 m. Static structure: the stair is one welded piece and nothing on it moves. Static geometry; no rig, 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-d8205be9","cdnUrl":"https://cdn.3dassets.dev/assets/38420/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-d8205be9","thumbnailUrl":"https://cdn.3dassets.dev/assets/38420/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38420/v1/poster.webp","blurhash":"U7ATQE-P00ESxb0KE1~q0fI:?b-os;%LxZIB","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":54728,"triangles":828,"vertices":1932,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.7250076179742034,0.0000766074849893883,-2.799999952316284],"max":[0.7250076179742034,4.309923335294552,1.659999966621399]},"sizeMeters":[1.45,4.31,4.46],"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.347Z","updatedAt":"2026-09-12T14:41:41.467Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38420/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CompanionwayStairOneDeckCruiseShipDeckAndLounge(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38420/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38420/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38420/v1/model.glb\" alt=\"Companionway stair, one deck (Cruise Ship Deck and Lounge)\" camera-controls auto-rotate></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/38420/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","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)","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/38420/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38449","slug":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-c0b4b4eb","title":"Luggage trolley (Cruise Ship Deck and Lounge)","summary":"Porter's luggage trolley 1.3 m long: a carpeted deck in a stainless frame with a hooped push handle and a hanging rail, loaded with three cases in navy, red and grey, on four castors that roll.","description":"Porter's luggage trolley 1.3 m long: a carpeted deck in a stainless frame with a hooped push handle and a hanging rail, loaded with three cases in navy, red and grey, on four castors that roll. Overall 1.20 by 1.30 by 0.79 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 trolley's footprint, the push handle toward -Z. Only the castors turn: the cases and the frame are fixed. Rigid node-transform clips: wheel-roll. 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-c0b4b4eb","cdnUrl":"https://cdn.3dassets.dev/assets/38449/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-c0b4b4eb","thumbnailUrl":"https://cdn.3dassets.dev/assets/38449/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38449/v1/poster.webp","blurhash":"U8A^B_E+00}Tt,MxR5Xn00VXrrFz}[pJ9[#7","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"interior","title":"Interior"},{"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":21232,"triangles":536,"vertices":1180,"meshes":12,"materials":4,"textures":0,"animations":["wheel-roll"],"boundingBox":{"min":[-0.6000000238418579,-2.980232241545089e-9,-0.37132863359496293],"max":[0.6000000238418579,1.3049794735200118,0.4199838999354247]},"sizeMeters":[1.2,1.305,0.791],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T14:42:03.954Z","updatedAt":"2026-09-12T14:42:04.055Z","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/38449/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 LuggageTrolleyCruiseShipDeckAndLounge(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/38449/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/38449/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38449/v1/model.glb\" alt=\"Luggage trolley (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/38449/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/38449/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"38450","slug":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-4161796f","title":"Linen cart (Cruise Ship Deck and Lounge)","summary":"Housekeeping linen cart 1.1 m long: a canvas bag slung in a white tubular frame with a charcoal lid flap, a side shelf of folded towels and a clipboard pocket, on four castors that roll.","description":"Housekeeping linen cart 1.1 m long: a canvas bag slung in a white tubular frame with a charcoal lid flap, a side shelf of folded towels and a clipboard pocket, on four castors that roll. Overall 1.05 by 1.07 by 0.73 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 cart's footprint, the push handle toward -Z. Only the castors turn: the bag and the lid flap are modelled solid, because a slack canvas bag is not a rigid node transform. Rigid node-transform clips: wheel-roll. 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-4161796f","cdnUrl":"https://cdn.3dassets.dev/assets/38450/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-4161796f","thumbnailUrl":"https://cdn.3dassets.dev/assets/38450/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38450/v1/poster.webp","blurhash":"UAEV.|%h00o0?wxvIURP00IU?bx[-lIUD%%1","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"interior","title":"Interior"},{"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":26000,"triangles":536,"vertices":1180,"meshes":13,"materials":5,"textures":1,"animations":["wheel-roll"],"boundingBox":{"min":[-0.5099999904632568,-2.98023217215615e-10,-0.3665733894900501],"max":[0.5400000214576721,1.0750236078798017,0.3665733894900501]},"sizeMeters":[1.05,1.075,0.733],"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:42:04.016Z","updatedAt":"2026-09-12T14:42:04.213Z","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/38450/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 LinenCartCruiseShipDeckAndLounge(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/38450/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/38450/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38450/v1/model.glb\" alt=\"Linen cart (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/38450/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/38450/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"38448","slug":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-2e70de27","title":"Service trolley (Cruise Ship Deck and Lounge)","summary":"Stainless service trolley 0.95 m long: three shelves in a tubular frame with a push handle, a stack of plates, a water jug and a folded cloth, on four castors that roll.","description":"Stainless service trolley 0.95 m long: three shelves in a tubular frame with a push handle, a stack of plates, a water jug and a folded cloth, on four castors that roll. Overall 0.90 by 1.08 by 0.64 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 trolley's footprint, the push handle toward -Z. Only the castors turn: the frame, the shelves and what is on them are fixed. Rigid node-transform clips: wheel-roll. 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-2e70de27","cdnUrl":"https://cdn.3dassets.dev/assets/38448/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-2e70de27","thumbnailUrl":"https://cdn.3dassets.dev/assets/38448/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38448/v1/poster.webp","blurhash":"U9CP|xxu00NG~qt79FM{00Rj_3t7WBWBRjt7","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"interior","title":"Interior"},{"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":33644,"triangles":732,"vertices":1614,"meshes":11,"materials":4,"textures":1,"animations":["wheel-roll"],"boundingBox":{"min":[-0.44998292865575945,2.384185793236071e-9,-0.32181814165984696],"max":[0.44998292865575945,1.0800000429153442,0.32181814165984696]},"sizeMeters":[0.9,1.08,0.644],"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:42:01.477Z","updatedAt":"2026-09-12T14:42:01.647Z","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/38448/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 ServiceTrolleyCruiseShipDeckAndLounge(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/38448/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/38448/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38448/v1/model.glb\" alt=\"Service trolley (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/38448/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/38448/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"38427","slug":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-80759120","title":"Ship's gangway (Cruise Ship Deck and Lounge)","summary":"Hinged accommodation gangway 7.3 m long: a deck abutment with a hinge bar, a treaded aluminium deck with yellow nosings, stanchion rails both sides with a woven infill panel and a landing plate at the outboard end that swings down onto a pontoon.","description":"Hinged accommodation gangway 7.3 m long: a deck abutment with a hinge bar, a treaded aluminium deck with yellow nosings, stanchion rails both sides with a woven infill panel and a landing plate at the outboard end that swings down onto a pontoon. Overall 1.60 by 1.71 by 7.50 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 gangway's footprint, the deck running out toward +Z from the hinge at -Z. Only the gangway deck swings on its hinge: the abutment, the hinge bar and the rails on the deck are fixed, and the falls that would suspend the outboard end are not modelled because a wire is not a rigid node transform. 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-80759120","cdnUrl":"https://cdn.3dassets.dev/assets/38427/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-80759120","thumbnailUrl":"https://cdn.3dassets.dev/assets/38427/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38427/v1/poster.webp","blurhash":"U78;JZxcNGM~R49GRjt700tPoNs+tn~ps;ac","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"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":41776,"triangles":776,"vertices":1784,"meshes":41,"materials":5,"textures":2,"animations":["open","close"],"boundingBox":{"min":[-0.800000011920929,0.000008230311926538114,-3.649964958102818],"max":[0.800000011920929,1.7098776765846444,3.849948309268754]},"sizeMeters":[1.6,1.71,7.5],"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:47.109Z","updatedAt":"2026-09-12T14:41:47.215Z","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/38427/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 ShipSGangwayCruiseShipDeckAndLounge(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/38427/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/38427/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38427/v1/model.glb\" alt=\"Ship's gangway (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/38427/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/38427/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"38426","slug":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-e8bf8c10","title":"Tender boarding platform (Cruise Ship Deck and Lounge)","summary":"Floating boarding pontoon 6 m by 3 m: a white buoyancy hull with charcoal rubber fendering all round, a teak deck, stanchion rails on three sides, two mooring cleats, a boarding ladder and a lifebuoy bracket, for the foot of a gangway at a tender port.","description":"Floating boarding pontoon 6 m by 3 m: a white buoyancy hull with charcoal rubber fendering all round, a teak deck, stanchion rails on three sides, two mooring cleats, a boarding ladder and a lifebuoy bracket, for the foot of a gangway at a tender port. Overall 6.12 by 1.49 by 3.29 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 pontoon's footprint, the open boarding side toward -Z, and it floats with its deck 0.42 m above the water surface at y=0. Static structure: the pontoon is one piece and there is no float, bob or wash, because water motion is not a rigid node transform. Static geometry; no rig, 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-e8bf8c10","cdnUrl":"https://cdn.3dassets.dev/assets/38426/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-e8bf8c10","thumbnailUrl":"https://cdn.3dassets.dev/assets/38426/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38426/v1/poster.webp","blurhash":"U39s#Y?v0MD%x^_3xu9Z00Rl}pV?ib01E1={","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":56864,"triangles":800,"vertices":1845,"meshes":5,"materials":5,"textures":2,"animations":[],"boundingBox":{"min":[-3.059999942779541,0.000021678282248527303,-1.6651322535062458],"max":[3.059999942779541,1.4899783312544947,1.6198846097431538]},"sizeMeters":[6.12,1.49,3.285],"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:46.954Z","updatedAt":"2026-09-12T14:41:47.073Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38426/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TenderBoardingPlatformCruiseShipDeckAndLounge(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38426/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38426/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38426/v1/model.glb\" alt=\"Tender boarding platform (Cruise Ship Deck and Lounge)\" camera-controls auto-rotate></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/38426/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","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)","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/38426/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38432","slug":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-62a525fc","title":"Deck pool with surround (Cruise Ship Deck and Lounge)","summary":"Raised deck pool 6.4 m by 4.6 m: a white coamed tank with a tiled navy basin, a still water surface 0.39 m up, a teak coping all round, four grab rails, two skimmer grilles and a yellow depth marking, for the centre of an open pool deck.","description":"Raised deck pool 6.4 m by 4.6 m: a white coamed tank with a tiled navy basin, a still water surface 0.39 m up, a teak coping all round, four grab rails, two skimmer grilles and a yellow depth marking, for the centre of an open pool deck. Overall 6.50 by 1.48 by 4.62 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 pool's footprint; the tank stands on the deck rather than being sunk into it, so it needs no hole cut in a deck plate. Static structure: the water is a flat plate with no ripple, refraction or overflow, because moving water needs a shader and a GLB ships none. Static geometry; no rig, 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-62a525fc","cdnUrl":"https://cdn.3dassets.dev/assets/38432/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-62a525fc","thumbnailUrl":"https://cdn.3dassets.dev/assets/38432/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38432/v1/poster.webp","blurhash":"UABDi}%g4Ti_9Ft7xuRj00ITu5X8_NRPRjo}","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":37140,"triangles":308,"vertices":712,"meshes":7,"materials":7,"textures":2,"animations":[],"boundingBox":{"min":[-3.25,0.00007369356694267304,-2.3098050141736906],"max":[3.25,1.479897459851312,2.3098050141736906]},"sizeMeters":[6.5,1.48,4.62],"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:51.142Z","updatedAt":"2026-09-12T14:41:51.269Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38432/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DeckPoolWithSurroundCruiseShipDeckAndLounge(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38432/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38432/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38432/v1/model.glb\" alt=\"Deck pool with surround (Cruise Ship Deck and Lounge)\" camera-controls auto-rotate></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/38432/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","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)","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/38432/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38433","slug":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-b2fc14e9","title":"Pool entry steps (Cruise Ship Deck and Lounge)","summary":"Three tread entry steps 1.6 m wide up to a pool coping: white risers with teak treads, charcoal non slip nosings and a stainless grab rail on each side, for the end of a raised deck pool.","description":"Three tread entry steps 1.6 m wide up to a pool coping: white risers with teak treads, charcoal non slip nosings and a stainless grab rail on each side, for the end of a raised deck pool. Overall 1.60 by 1.40 by 1.03 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 steps' footprint, the climb running toward -Z so the top tread meets a pool coping laid past -Z. Static piece: the steps and the rails are one moulding. Static geometry; no rig, 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-b2fc14e9","cdnUrl":"https://cdn.3dassets.dev/assets/38433/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-b2fc14e9","thumbnailUrl":"https://cdn.3dassets.dev/assets/38433/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38433/v1/poster.webp","blurhash":"UAD]Vgt800M{00%M%LIU0ffPr=Ri~Cxvx]IU","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":31824,"triangles":260,"vertices":600,"meshes":4,"materials":4,"textures":2,"animations":[],"boundingBox":{"min":[-0.800000011920929,-0.000034170860166160555,-0.35002532663795216],"max":[0.800000011920929,1.4000460700609936,0.6800460869437132]},"sizeMeters":[1.6,1.4,1.03],"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:52.523Z","updatedAt":"2026-09-12T14:41:52.743Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38433/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PoolEntryStepsCruiseShipDeckAndLounge(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38433/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38433/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38433/v1/model.glb\" alt=\"Pool entry steps (Cruise Ship Deck and Lounge)\" camera-controls auto-rotate></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/38433/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","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)","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/38433/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38434","slug":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-61ec4f0b","title":"Deck hot tub (Cruise Ship Deck and Lounge)","summary":"Eight sided deck hot tub 2.9 m across: a white moulded shell with a navy interior, a still water surface, a teak rim, six jet fittings, a moulded seat bench, a control panel with a blank face and a single entry step.","description":"Eight sided deck hot tub 2.9 m across: a white moulded shell with a navy interior, a still water surface, a teak rim, six jet fittings, a moulded seat bench, a control panel with a blank face and a single entry step. Overall 3.16 by 2.00 by 3.29 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 tub's footprint; the shell stands on the deck, so it needs no hole cut in a deck plate. Static structure: the water is a flat plate and the jets are solid fittings, because bubbling water needs a shader and a GLB ships none. Static geometry; no rig, 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-61ec4f0b","cdnUrl":"https://cdn.3dassets.dev/assets/38434/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-61ec4f0b","thumbnailUrl":"https://cdn.3dassets.dev/assets/38434/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38434/v1/poster.webp","blurhash":"UBBg3t-=00IA00NG%MxZ00WB.SWV~qxaM{N_","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":45884,"triangles":488,"vertices":1114,"meshes":6,"materials":6,"textures":2,"animations":[],"boundingBox":{"min":[-1.5000656104071095,-0.000019077244474863253,-1.5],"max":[1.6600192111634349,2.0000354292918106,1.7899999618530273]},"sizeMeters":[3.16,2,3.29],"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:52.727Z","updatedAt":"2026-09-12T14:41:52.874Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38434/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DeckHotTubCruiseShipDeckAndLounge(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38434/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38434/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38434/v1/model.glb\" alt=\"Deck hot tub (Cruise Ship Deck and Lounge)\" camera-controls auto-rotate></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/38434/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","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)","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/38434/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38435","slug":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-ff32cded","title":"Sun lounger, flat (Cruise Ship Deck and Lounge)","summary":"Poolside sun lounger 1.95 m long: a stainless frame with teak slats, a cream canvas mattress and a headrest, wooden arm caps and two castor wheels at the foot, laid out flat for sunbathing.","description":"Poolside sun lounger 1.95 m long: a stainless frame with teak slats, a cream canvas mattress and a headrest, wooden arm caps and two castor wheels at the foot, laid out flat for sunbathing. Overall 0.67 by 0.65 by 2.15 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 lounger's footprint, the head toward -Z. Static prop: the backrest is fixed at its laid out angle and the castors are modelled solid. Static geometry; no rig, 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-ff32cded","cdnUrl":"https://cdn.3dassets.dev/assets/38435/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-ff32cded","thumbnailUrl":"https://cdn.3dassets.dev/assets/38435/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38435/v1/poster.webp","blurhash":"UCC6u+xt4.t8~q9FE1%M009F-pxu00?b?bM{","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":37140,"triangles":388,"vertices":874,"meshes":4,"materials":4,"textures":1,"animations":[],"boundingBox":{"min":[-0.3349990097753958,0.000025938250558521503,-1.430830478668213],"max":[0.3349990097753958,0.6517114165234574,0.7200000286102295]},"sizeMeters":[0.67,0.652,2.151],"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:53.304Z","updatedAt":"2026-09-12T14:41:53.420Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38435/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SunLoungerFlatCruiseShipDeckAndLounge(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38435/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38435/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38435/v1/model.glb\" alt=\"Sun lounger, flat (Cruise Ship Deck and Lounge)\" camera-controls auto-rotate></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/38435/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","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)","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/38435/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38436","slug":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-5da6a33d","title":"Sun lounger, backrest up (Cruise Ship Deck and Lounge)","summary":"The same poolside lounger with its backrest raised to a sitting angle, for filling a deck with loungers that are not all set the same way.","description":"The same poolside lounger with its backrest raised to a sitting angle, for filling a deck with loungers that are not all set the same way. Overall 0.67 by 0.84 by 2.07 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 lounger's footprint, the head toward -Z. Static prop: the raised backrest is baked into the geometry rather than rigged, because a lounger is bought in the pose it is wanted in. Static geometry; no rig, 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-5da6a33d","cdnUrl":"https://cdn.3dassets.dev/assets/38436/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-5da6a33d","thumbnailUrl":"https://cdn.3dassets.dev/assets/38436/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38436/v1/poster.webp","blurhash":"U7Bpe4_301NG^+4n9F-;000K^+?b0K~q_3M|","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":37236,"triangles":388,"vertices":874,"meshes":4,"materials":4,"textures":1,"animations":[],"boundingBox":{"min":[-0.3349657284713961,0.000025938250558521503,-1.3451628684997559],"max":[0.3349657284713961,0.8416875668158136,0.7200000286102295]},"sizeMeters":[0.67,0.842,2.065],"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:53.925Z","updatedAt":"2026-09-12T14:41:54.036Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38436/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SunLoungerBackrestUpCruiseShipDeckAndLounge(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38436/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38436/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38436/v1/model.glb\" alt=\"Sun lounger, backrest up (Cruise Ship Deck and Lounge)\" camera-controls auto-rotate></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/38436/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","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)","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/38436/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38437","slug":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-15903db8","title":"Deck parasol (Cruise Ship Deck and Lounge)","summary":"Poolside parasol 2.6 m tall and 2.4 m across: a weighted charcoal base, a stainless pole and an eight panel canvas canopy on a runner that travels up and down the pole, with wooden ribs and a finial.","description":"Poolside parasol 2.6 m tall and 2.4 m across: a weighted charcoal base, a stainless pole and an eight panel canvas canopy on a runner that travels up and down the pole, with wooden ribs and a finial. Overall 2.48 by 2.66 by 2.48 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 base, the pole on the Y axis. Only the canopy travels on its runner: the canvas is modelled spread, because folding fabric needs a joint per panel and none of that is reachable with a rigid node transform. 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-15903db8","cdnUrl":"https://cdn.3dassets.dev/assets/38437/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-15903db8","thumbnailUrl":"https://cdn.3dassets.dev/assets/38437/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38437/v1/poster.webp","blurhash":"UGBDTgt700Rj~qofD%WV00WB-;of00Rj^+oe","category":{"slug":"props","title":"Props & Furniture"},"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":40604,"triangles":368,"vertices":832,"meshes":14,"materials":4,"textures":1,"animations":["open","close"],"boundingBox":{"min":[-1.2400000095367432,0.000019529216653407788,-1.2400000095367432],"max":[1.2400000095367432,2.6600000858306885,1.2400000095367432]},"sizeMeters":[2.48,2.66,2.48],"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:55.450Z","updatedAt":"2026-09-12T14:41:55.557Z","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/38437/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 DeckParasolCruiseShipDeckAndLounge(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/38437/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/38437/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38437/v1/model.glb\" alt=\"Deck parasol (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/38437/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/38437/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"38438","slug":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-0782ebe7","title":"Poolside towel station (Cruise Ship Deck and Lounge)","summary":"Towel station 1.5 m wide: a teak cabinet with three open shelves of rolled white towels, a charcoal used towel bin below, a white counter top and a blank sign panel on the back board.","description":"Towel station 1.5 m wide: a teak cabinet with three open shelves of rolled white towels, a charcoal used towel bin below, a white counter top and a blank sign panel on the back board. Overall 1.96 by 1.81 by 0.68 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 cabinet's footprint, the shelves facing +Z. Static prop: the towels are modelled solid, because cloth needs a joint per fold. Static geometry; no rig, 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-0782ebe7","cdnUrl":"https://cdn.3dassets.dev/assets/38438/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-0782ebe7","thumbnailUrl":"https://cdn.3dassets.dev/assets/38438/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38438/v1/poster.webp","blurhash":"UBCF@p%M00Mx~Bx]9ZD%00V?.8OY4nR5.7tl","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":45652,"triangles":480,"vertices":1027,"meshes":4,"materials":4,"textures":2,"animations":[],"boundingBox":{"min":[-0.7799999713897705,0,-0.3399511579155038],"max":[1.179999977350235,1.809999942779541,0.3399511579155038]},"sizeMeters":[1.96,1.81,0.68],"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:55.503Z","updatedAt":"2026-09-12T14:41:55.602Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38438/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PoolsideTowelStationCruiseShipDeckAndLounge(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38438/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38438/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38438/v1/model.glb\" alt=\"Poolside towel station (Cruise Ship Deck and Lounge)\" camera-controls auto-rotate></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/38438/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","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)","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/38438/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38440","slug":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-61a96119","title":"Deck quoits set (Cruise Ship Deck and Lounge)","summary":"Deck quoits target 1.1 m square: a teak board painted with concentric scoring rings and a stainless centre peg, four rope quoits, two of them dropped over the peg, and a small side rack holding two spares.","description":"Deck quoits target 1.1 m square: a teak board painted with concentric scoring rings and a stainless centre peg, four rope quoits, two of them dropped over the peg, and a small side rack holding two spares. Overall 1.62 by 0.53 by 1.10 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 board's footprint, laid flat on the deck. Static prop: the quoits are modelled where they lie and nothing on the set moves. Static geometry; no rig, 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-61a96119","cdnUrl":"https://cdn.3dassets.dev/assets/38440/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-61a96119","thumbnailUrl":"https://cdn.3dassets.dev/assets/38440/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38440/v1/poster.webp","blurhash":"U7Avh4#l00xCJVRjsokX00OY~qI@v}%Mk8R4","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":52864,"triangles":704,"vertices":1594,"meshes":7,"materials":7,"textures":2,"animations":[],"boundingBox":{"min":[-0.550000011920929,-0.000024714404187581307,-0.5499679432723085],"max":[1.0700000524520874,0.525011705319673,0.5499679432723085]},"sizeMeters":[1.62,0.525,1.1],"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:56.727Z","updatedAt":"2026-09-12T14:41:56.939Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38440/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DeckQuoitsSetCruiseShipDeckAndLounge(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38440/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38440/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38440/v1/model.glb\" alt=\"Deck quoits set (Cruise Ship Deck and Lounge)\" camera-controls auto-rotate></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/38440/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","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)","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/38440/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38441","slug":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-c3a394a3","title":"Deck games table (Cruise Ship Deck and Lounge)","summary":"Weatherproof games table 1.15 m square: a teak top inlaid with a white and charcoal chequerboard in a navy border, on a cast pedestal with a ring foot, with a rack of draughts pieces at one corner.","description":"Weatherproof games table 1.15 m square: a teak top inlaid with a white and charcoal chequerboard in a navy border, on a cast pedestal with a ring foot, with a rack of draughts pieces at one corner. Overall 1.15 by 1.00 by 1.15 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 table's footprint. Static prop: the pieces in the rack are modelled solid. Static geometry; no rig, 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-c3a394a3","cdnUrl":"https://cdn.3dassets.dev/assets/38441/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-c3a394a3","thumbnailUrl":"https://cdn.3dassets.dev/assets/38441/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38441/v1/poster.webp","blurhash":"UDA0anxa4mae~CoeM_o29tR+xbj[0KR*tSWV","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":72092,"triangles":1044,"vertices":2418,"meshes":5,"materials":5,"textures":2,"animations":[],"boundingBox":{"min":[-0.574999988079071,0.000011070768299148437,-0.574999988079071],"max":[0.574999988079071,1.0000027526269721,0.574999988079071]},"sizeMeters":[1.15,1,1.15],"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:58.181Z","updatedAt":"2026-09-12T14:41:58.315Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38441/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DeckGamesTableCruiseShipDeckAndLounge(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38441/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38441/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38441/v1/model.glb\" alt=\"Deck games table (Cruise Ship Deck and Lounge)\" camera-controls auto-rotate></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/38441/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","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)","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/38441/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38439","slug":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-1ee219cf","title":"Deck planter (Cruise Ship Deck and Lounge)","summary":"Teak deck planter 1.4 m long: a slatted box on recessed feet with a charcoal liner, a bed of dark compost and a clipped evergreen shrub with two grasses, for breaking up a run of loungers or edging a lounge terrace.","description":"Teak deck planter 1.4 m long: a slatted box on recessed feet with a charcoal liner, a bed of dark compost and a clipped evergreen shrub with two grasses, for breaking up a run of loungers or edging a lounge terrace. Overall 1.46 by 1.20 by 0.72 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 planter's footprint. Static prop: the planting is modelled solid and does not sway. Static geometry; no rig, 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-1ee219cf","cdnUrl":"https://cdn.3dassets.dev/assets/38439/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-1ee219cf","thumbnailUrl":"https://cdn.3dassets.dev/assets/38439/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38439/v1/poster.webp","blurhash":"UABMh}-n01IrqExuU_RP0gOXtQeUL%aeYNWV","category":{"slug":"nature","title":"Nature & Landscape"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":30580,"triangles":276,"vertices":623,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.7300000190734863,-0.00003354972681524071,-0.35995392645559],"max":[0.7300000190734863,1.2000172642257816,0.35995392645559]},"sizeMeters":[1.46,1.2,0.72],"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:56.053Z","updatedAt":"2026-09-12T14:41:56.164Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38439/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DeckPlanterCruiseShipDeckAndLounge(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38439/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38439/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38439/v1/model.glb\" alt=\"Deck planter (Cruise Ship Deck and Lounge)\" camera-controls auto-rotate></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/38439/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","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)","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/38439/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38413","slug":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-57925cd2","title":"Glass windbreak panel (Cruise Ship Deck and Lounge)","summary":"Deck windbreak 2 m wide and 1.8 m tall: a toughened glass panel in a stainless frame on two bolted feet, with a teak capping and a mid rail, for sheltering a lounger terrace or a bar from the ship's own wind. Ports at both ends so panels run in a line.","description":"Deck windbreak 2 m wide and 1.8 m tall: a toughened glass panel in a stainless frame on two bolted feet, with a teak capping and a mid rail, for sheltering a lounger terrace or a bar from the ship's own wind. Ports at both ends so panels run in a line. Overall 2.18 by 1.82 by 0.34 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 panel's footprint, the glass in the XY plane facing +Z. Static fitting: the glass is a solid pane, the frame is welded and nothing on it opens. Static geometry; no rig, 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-57925cd2","cdnUrl":"https://cdn.3dassets.dev/assets/38413/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-57925cd2","thumbnailUrl":"https://cdn.3dassets.dev/assets/38413/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38413/v1/poster.webp","blurhash":"UQGS4Ixa00Rjwu%2R,D%00V@~qozWBjFoftR","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"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":24112,"triangles":136,"vertices":314,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-1.090000033378601,0.000010630076473061578,-0.1699185207830407],"max":[1.090000033378601,1.8200277938857181,0.1699185207830407]},"sizeMeters":[2.18,1.82,0.34],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T14:41:35.670Z","updatedAt":"2026-09-12T14:41:35.776Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38413/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GlassWindbreakPanelCruiseShipDeckAndLounge(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38413/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38413/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38413/v1/model.glb\" alt=\"Glass windbreak panel (Cruise Ship Deck and Lounge)\" camera-controls auto-rotate></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/38413/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","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)","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/38413/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38442","slug":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-3cf5d724","title":"Poolside bar counter, 4 m (Cruise Ship Deck and Lounge)","summary":"Open deck bar counter 4 m long: a white panelled body with navy reveals, a thick teak top with a drip rail, a stainless foot rail, three pull taps, a sink, an ice well and a glass shelf below. Ports at both ends so a bar runs to any length.","description":"Open deck bar counter 4 m long: a white panelled body with navy reveals, a thick teak top with a drip rail, a stainless foot rail, three pull taps, a sink, an ice well and a glass shelf below. Ports at both ends so a bar runs to any length. Overall 4.00 by 1.40 by 0.98 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 counter's footprint, the serving side toward +Z and the working side toward -Z. Static fitting: the taps, the sink and the shelves are modelled solid and nothing on the counter opens. Static geometry; no rig, 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-3cf5d724","cdnUrl":"https://cdn.3dassets.dev/assets/38442/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-3cf5d724","thumbnailUrl":"https://cdn.3dassets.dev/assets/38442/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38442/v1/poster.webp","blurhash":"U9CPq;RoD$x]Hq~Wo~NF00Q+xIbwp{9Em*IU","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"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":46592,"triangles":544,"vertices":1251,"meshes":6,"materials":6,"textures":2,"animations":[],"boundingBox":{"min":[-2,0.000020576152038431772,-0.4498680014860518],"max":[2,1.3998954676610782,0.5300260767744034]},"sizeMeters":[4,1.4,0.98],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T14:41:58.280Z","updatedAt":"2026-09-12T14:41:58.464Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38442/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PoolsideBarCounter4MCruiseShipDeckAndLounge(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38442/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38442/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38442/v1/model.glb\" alt=\"Poolside bar counter, 4 m (Cruise Ship Deck and Lounge)\" camera-controls auto-rotate></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/38442/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","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)","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/38442/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38443","slug":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-929a747e","title":"Poolside bar stool (Cruise Ship Deck and Lounge)","summary":"Tall bar stool 1.05 m to the back: a round teak seat with a navy cushion pad on a stainless frame with a foot ring and a low curved back, for the serving side of a deck bar.","description":"Tall bar stool 1.05 m to the back: a round teak seat with a navy cushion pad on a stainless frame with a foot ring and a low curved back, for the serving side of a deck bar. Overall 0.48 by 1.10 by 0.48 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 stool's footprint, the back toward -Z. Static prop: the stool does not swivel or adjust. Static geometry; no rig, 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-929a747e","cdnUrl":"https://cdn.3dassets.dev/assets/38443/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-929a747e","thumbnailUrl":"https://cdn.3dassets.dev/assets/38443/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38443/v1/poster.webp","blurhash":"U28gsu%O00IR^nNI4,-P00Iox^$%-fR$Ixt9","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":35788,"triangles":396,"vertices":900,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.23999999463558197,0,-0.23999999463558197],"max":[0.23999999463558197,1.100000023841858,0.23999999463558197]},"sizeMeters":[0.48,1.1,0.48],"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:59.064Z","updatedAt":"2026-09-12T14:41:59.171Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38443/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PoolsideBarStoolCruiseShipDeckAndLounge(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38443/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38443/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38443/v1/model.glb\" alt=\"Poolside bar stool (Cruise Ship Deck and Lounge)\" camera-controls auto-rotate></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/38443/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","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)","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/38443/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38444","slug":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-3516b6a7","title":"Bar back fitting (Cruise Ship Deck and Lounge)","summary":"Back fitting behind a deck bar, 3 m wide and 2.4 m tall: a teak carcass with a mirrored back, three lit shelves of blank bottles in clear, blue and red glass, a charcoal working top and two cupboard doors below that open.","description":"Back fitting behind a deck bar, 3 m wide and 2.4 m tall: a teak carcass with a mirrored back, three lit shelves of blank bottles in clear, blue and red glass, a charcoal working top and two cupboard doors below that open. Overall 3.06 by 2.47 by 0.66 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 fitting's footprint, the shelves facing +Z. Only the two cupboard doors swing: the bottles are solid blanks with no label, mark or brand of any kind, and the shelves are fixed. 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-3516b6a7","cdnUrl":"https://cdn.3dassets.dev/assets/38444/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-3516b6a7","thumbnailUrl":"https://cdn.3dassets.dev/assets/38444/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38444/v1/poster.webp","blurhash":"U7B.Dpnl02X8}@=eM{EM0exF%MRjROs8OrJU","category":{"slug":"props","title":"Props & Furniture"},"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":64724,"triangles":1224,"vertices":2669,"meshes":9,"materials":6,"textures":1,"animations":["open","close"],"boundingBox":{"min":[-1.5299999713897705,-0.00008495664830854288,-0.3100436356708907],"max":[1.5299999713897705,2.470084985258538,0.34499678512335874]},"sizeMeters":[3.06,2.47,0.655],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T14:41:59.703Z","updatedAt":"2026-09-12T14:41:59.800Z","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/38444/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 BarBackFittingCruiseShipDeckAndLounge(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/38444/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/38444/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38444/v1/model.glb\" alt=\"Bar back fitting (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/38444/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/38444/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"38445","slug":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-d5a977e0","title":"Buffet counter run, 3 m (Cruise Ship Deck and Lounge)","summary":"Self service buffet counter 3 m long: a white body with a stainless top, four heated wells with charcoal inserts, a glass sneeze guard on stainless posts, a tray slide, a stack of plates and two cupboard doors below that open. Ports at both ends so a servery runs to any length.","description":"Self service buffet counter 3 m long: a white body with a stainless top, four heated wells with charcoal inserts, a glass sneeze guard on stainless posts, a tray slide, a stack of plates and two cupboard doors below that open. Ports at both ends so a servery runs to any length. Overall 3.04 by 1.64 by 0.93 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 counter's footprint, the serving side toward +Z. Only the two cupboard doors swing: the sneeze guard, the wells and the tray slide are fixed. 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-d5a977e0","cdnUrl":"https://cdn.3dassets.dev/assets/38445/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-d5a977e0","thumbnailUrl":"https://cdn.3dassets.dev/assets/38445/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38445/v1/poster.webp","blurhash":"U8GlI,0000IU~p_39F9F00-;VrM{W:%hD%8_","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"},{"slug":"interior","title":"Interior"},{"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":51968,"triangles":564,"vertices":1297,"meshes":10,"materials":6,"textures":2,"animations":["open","close"],"boundingBox":{"min":[-1.5199999809265137,-0.000029629180235413166,-0.4299716123907546],"max":[1.5199999809265137,1.6348940031763566,0.4999066110093604]},"sizeMeters":[3.04,1.635,0.93],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T14:42:01.157Z","updatedAt":"2026-09-12T14:42:01.260Z","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/38445/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 BuffetCounterRun3MCruiseShipDeckAndLounge(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/38445/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/38445/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38445/v1/model.glb\" alt=\"Buffet counter run, 3 m (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/38445/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/38445/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"38446","slug":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-fda46275","title":"Deck food station (Cruise Ship Deck and Lounge)","summary":"Cook to order island 2 m wide: a white base with a stainless top, a charcoal griddle plate, a pan rack, an extract canopy on four posts with a blank menu board on its fascia, a utensil rail and a bin below.","description":"Cook to order island 2 m wide: a white base with a stainless top, a charcoal griddle plate, a pan rack, an extract canopy on four posts with a blank menu board on its fascia, a utensil rail and a bin below. Overall 2.10 by 2.62 by 1.27 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 island's footprint, the serving face toward +Z. Static fitting: the extract canopy and the griddle are solid, and the menu board face is blank. Static geometry; no rig, 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-fda46275","cdnUrl":"https://cdn.3dassets.dev/assets/38446/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-fda46275","thumbnailUrl":"https://cdn.3dassets.dev/assets/38446/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38446/v1/poster.webp","blurhash":"UDEfWu-=00ITIrt8s+M_t7V]IUj?~q%MRjIU","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":22092,"triangles":344,"vertices":791,"meshes":4,"materials":4,"textures":1,"animations":[],"boundingBox":{"min":[-1.0499999523162842,0,-0.6000640616191515],"max":[1.0499999523162842,2.620040481419138,0.6699308621169235]},"sizeMeters":[2.1,2.62,1.27],"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:42:01.118Z","updatedAt":"2026-09-12T14:42:01.225Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38446/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DeckFoodStationCruiseShipDeckAndLounge(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38446/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38446/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38446/v1/model.glb\" alt=\"Deck food station (Cruise Ship Deck and Lounge)\" camera-controls auto-rotate></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/38446/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","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)","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/38446/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38447","slug":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-d4927d0f","title":"Self service drinks fountain (Cruise Ship Deck and Lounge)","summary":"Deck drinks station 1.3 m wide: a stainless cabinet with four dispenser heads over a charcoal drip tray, blank push panels, a cup dispenser column, a straw and lid caddy and a blank fascia board above.","description":"Deck drinks station 1.3 m wide: a stainless cabinet with four dispenser heads over a charcoal drip tray, blank push panels, a cup dispenser column, a straw and lid caddy and a blank fascia board above. Overall 1.34 by 2.32 by 0.68 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 cabinet's footprint, the dispensers facing +Z. Static fitting: nothing dispenses, and every panel face is blank. Static geometry; no rig, 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-d4927d0f","cdnUrl":"https://cdn.3dassets.dev/assets/38447/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-d4927d0f","thumbnailUrl":"https://cdn.3dassets.dev/assets/38447/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38447/v1/poster.webp","blurhash":"U5A108%M009Y.T%MH=Di9HoMxoavD*xv-:Mw","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":25524,"triangles":388,"vertices":896,"meshes":4,"materials":4,"textures":1,"animations":[],"boundingBox":{"min":[-0.6700000166893005,0,-0.3400402929027091],"max":[0.6700000166893005,2.31997922780578,0.3400402929027091]},"sizeMeters":[1.34,2.32,0.68],"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:42:01.917Z","updatedAt":"2026-09-12T14:42:02.122Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38447/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SelfServiceDrinksFountainCruiseShipDeckAndLounge(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38447/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38447/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38447/v1/model.glb\" alt=\"Self service drinks fountain (Cruise Ship Deck and Lounge)\" camera-controls auto-rotate></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/38447/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","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)","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/38447/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38459","slug":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-7a093ead","title":"Deck canopy run, 6 m (Cruise Ship Deck and Lounge)","summary":"Free standing shade canopy 6 m square and 3 m to the underside: four white posts on bolted feet carrying a steel frame and a taut cream canvas sail with a teak valance, with tie rods at the corners. Ports on all four edges so canopies join over a whole terrace.","description":"Free standing shade canopy 6 m square and 3 m to the underside: four white posts on bolted feet carrying a steel frame and a taut cream canvas sail with a teak valance, with tie rods at the corners. Ports on all four edges so canopies join over a whole terrace. Overall 6.00 by 3.38 by 6.00 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 canopy's footprint; the posts stand on the deck at y=0 and the frame is at 3 m, so it shelters without enclosing. Static structure: the canvas is modelled taut, because a sail that billows needs a joint per panel. Static geometry; no rig, 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-7a093ead","cdnUrl":"https://cdn.3dassets.dev/assets/38459/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-7a093ead","thumbnailUrl":"https://cdn.3dassets.dev/assets/38459/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38459/v1/poster.webp","blurhash":"UME33et74nWU~pofD%ay00WBWBay00WB-;a|","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"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":38940,"triangles":356,"vertices":804,"meshes":4,"materials":4,"textures":2,"animations":[],"boundingBox":{"min":[-3,0.00008555774078677914,-3],"max":[3,3.379889632670572,3]},"sizeMeters":[6,3.38,6],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":1,"publishedAt":"2026-09-12T14:42:10.108Z","updatedAt":"2026-09-12T15:49:30.166Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38459/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DeckCanopyRun6MCruiseShipDeckAndLounge(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38459/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38459/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38459/v1/model.glb\" alt=\"Deck canopy run, 6 m (Cruise Ship Deck and Lounge)\" camera-controls auto-rotate></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/38459/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","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)","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/38459/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38461","slug":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-4dfaf1b9","title":"Lounge ceiling panel, 6 m (Cruise Ship Deck and Lounge)","summary":"Ceiling cassette 6 m square: a white coffered panel with teak coves on two edges and four recessed charcoal downlight pods on its underside, for closing the top of a deck lounge or a covered pavilion bay.","description":"Ceiling cassette 6 m square: a white coffered panel with teak coves on two edges and four recessed charcoal downlight pods on its underside, for closing the top of a deck lounge or a covered pavilion bay. Overall 6.00 by 0.26 by 6.00 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 cassette's footprint with the panel modelled from y=0 up, so placing it at the wall head height puts the soffit at that height. Static modular piece: the downlights are solid pods and nothing on the cassette is lit. Static geometry; no rig, 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-4dfaf1b9","cdnUrl":"https://cdn.3dassets.dev/assets/38461/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-4dfaf1b9","thumbnailUrl":"https://cdn.3dassets.dev/assets/38461/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38461/v1/poster.webp","blurhash":"UADvcq%M00a#-;j[RPoL00M{~qWB4nf6tRR*","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"slug":"interior","title":"Interior"},{"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":39164,"triangles":368,"vertices":840,"meshes":3,"materials":3,"textures":2,"animations":[],"boundingBox":{"min":[-3,-0.0000642412272922159,-3],"max":[3,0.25986662889818346,3]},"sizeMeters":[6,0.26,6],"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:42:12.675Z","updatedAt":"2026-09-12T14:42:12.777Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38461/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LoungeCeilingPanel6MCruiseShipDeckAndLounge(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38461/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38461/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38461/v1/model.glb\" alt=\"Lounge ceiling panel, 6 m (Cruise Ship Deck and Lounge)\" camera-controls auto-rotate></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/38461/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","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)","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/38461/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38460","slug":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-0adeeea9","title":"Lounge wall panel, 6 m (Cruise Ship Deck and Lounge)","summary":"Interior wall module 6 m wide and 2.8 m tall: teak panelling over a navy dado with a white upper band, a brushed steel rail and a long mirror strip, for lining the back of a deck lounge or pavilion. Ports at both ends so a wall runs to any length.","description":"Interior wall module 6 m wide and 2.8 m tall: teak panelling over a navy dado with a white upper band, a brushed steel rail and a long mirror strip, for lining the back of a deck lounge or pavilion. Ports at both ends so a wall runs to any length. Overall 6.00 by 2.80 by 0.28 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 panel's footprint, the finished face toward +Z. Static modular piece. Static geometry; no rig, 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-0adeeea9","cdnUrl":"https://cdn.3dassets.dev/assets/38460/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-0adeeea9","thumbnailUrl":"https://cdn.3dassets.dev/assets/38460/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38460/v1/poster.webp","blurhash":"UBDlQaniI.nP^J~WRkbE00-P%MR.A0nP-SNZ","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"slug":"interior","title":"Interior"},{"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":27996,"triangles":120,"vertices":280,"meshes":5,"materials":5,"textures":2,"animations":[],"boundingBox":{"min":[-3.0023999214172363,-0.00008698967293557791,-0.0900906399731437],"max":[3.001199960708618,2.8012322786326056,0.1900868517827505]},"sizeMeters":[6.004,2.801,0.28],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T14:42:10.359Z","updatedAt":"2026-09-12T14:42:10.558Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38460/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LoungeWallPanel6MCruiseShipDeckAndLounge(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38460/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38460/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38460/v1/model.glb\" alt=\"Lounge wall panel, 6 m (Cruise Ship Deck and Lounge)\" camera-controls auto-rotate></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/38460/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","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)","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/38460/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38456","slug":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-73390ffd","title":"Deck stage with backdrop (Cruise Ship Deck and Lounge)","summary":"Open air stage 6 m wide: a charcoal decked platform 0.6 m up with teak facings and two entry steps, a blank navy backdrop panel 3.4 m tall in a steel frame, a lighting bar with four fixtures and a speaker stack at each side.","description":"Open air stage 6 m wide: a charcoal decked platform 0.6 m up with teak facings and two entry steps, a blank navy backdrop panel 3.4 m tall in a steel frame, a lighting bar with four fixtures and a speaker stack at each side. Overall 6.06 by 4.66 by 4.57 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 stage's footprint, the audience toward +Z and the backdrop across the -Z edge. Static structure: the lighting fixtures are solid bodies with no beam or lens flare, and the backdrop face is blank so a project prints its own artwork onto it. Static geometry; no rig, 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-73390ffd","cdnUrl":"https://cdn.3dassets.dev/assets/38456/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-73390ffd","thumbnailUrl":"https://cdn.3dassets.dev/assets/38456/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38456/v1/poster.webp","blurhash":"UFC?fk4n00-;.TIUI9xu4m%gNGM{IA-;xYIU","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":40428,"triangles":392,"vertices":906,"meshes":5,"materials":5,"textures":2,"animations":[],"boundingBox":{"min":[-3.0299999713897705,0.00005004622405307968,-2.0300529328061114],"max":[3.0299999713897705,4.659950542400655,2.5400529232693683]},"sizeMeters":[6.06,4.66,4.57],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":2,"publishedAt":"2026-09-12T14:42:07.575Z","updatedAt":"2026-09-14T19:49:31.373Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38456/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DeckStageWithBackdropCruiseShipDeckAndLounge(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38456/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38456/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38456/v1/model.glb\" alt=\"Deck stage with backdrop (Cruise Ship Deck and Lounge)\" camera-controls auto-rotate></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/38456/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","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)","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/38456/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38458","slug":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-6816fa25","title":"Deck bandstand (Cruise Ship Deck and Lounge)","summary":"Open bandstand 5.2 m across: a hexagonal teak plinth with a step, six white columns carrying a canvas covered roof with a teak soffit ring and a finial, and a low balustrade between the back four bays.","description":"Open bandstand 5.2 m across: a hexagonal teak plinth with a step, six white columns carrying a canvas covered roof with a teak soffit ring and a finial, and a low balustrade between the back four bays. Overall 5.28 by 5.04 by 4.96 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 bandstand's footprint, the open bay facing +Z. Static structure: the roof covering is modelled solid and nothing on the bandstand moves. Static geometry; no rig, 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-6816fa25","cdnUrl":"https://cdn.3dassets.dev/assets/38458/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-6816fa25","thumbnailUrl":"https://cdn.3dassets.dev/assets/38458/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38458/v1/poster.webp","blurhash":"UCC~xMso00R*t-X7R4jb00oe~qWW4TWB?boL","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":54828,"triangles":644,"vertices":1451,"meshes":4,"materials":4,"textures":2,"animations":[],"boundingBox":{"min":[-2.640000104904175,-0.00007915221786602977,-2.2863713276158153],"max":[2.640000104904175,5.039999961853027,2.6700643074284374]},"sizeMeters":[5.28,5.04,4.956],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":1,"publishedAt":"2026-09-12T14:42:09.709Z","updatedAt":"2026-09-12T15:16:47.809Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38458/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DeckBandstandCruiseShipDeckAndLounge(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38458/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38458/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38458/v1/model.glb\" alt=\"Deck bandstand (Cruise Ship Deck and Lounge)\" camera-controls auto-rotate></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/38458/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","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)","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/38458/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38457","slug":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-b7dcc74f","title":"Grand piano (Cruise Ship Deck and Lounge)","summary":"Baby grand piano 2.4 m long: a polished charcoal case on three turned legs with a brass toned pedal lyre, a full keyboard of white and dark keys, a music desk and a lid on its hinge that lifts on a prop stick, with a matching stool.","description":"Baby grand piano 2.4 m long: a polished charcoal case on three turned legs with a brass toned pedal lyre, a full keyboard of white and dark keys, a music desk and a lid on its hinge that lifts on a prop stick, with a matching stool. Overall 1.38 by 1.27 by 2.92 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 piano's footprint, the keyboard toward +Z and the lid hinged on the -X side. Only the lid lifts: the keys, the pedals, the music desk and the stool are fixed, because a key is one node per key and a soundboard does not move. 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-b7dcc74f","cdnUrl":"https://cdn.3dassets.dev/assets/38457/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-b7dcc74f","thumbnailUrl":"https://cdn.3dassets.dev/assets/38457/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38457/v1/poster.webp","blurhash":"U46*wF%$4nWT-;DhIT%L00I9%Mxu4.?w-?Io","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"interior","title":"Interior"},{"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":35456,"triangles":636,"vertices":1453,"meshes":7,"materials":4,"textures":1,"animations":["open","close"],"boundingBox":{"min":[-0.6999175741554132,-0.000009913019881180318,-1.1399999856948853],"max":[0.6799175932288996,1.2700098939463949,1.7799999713897705]},"sizeMeters":[1.38,1.27,2.92],"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:42:09.691Z","updatedAt":"2026-09-12T14:42:09.817Z","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/38457/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 GrandPianoCruiseShipDeckAndLounge(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/38457/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/38457/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38457/v1/model.glb\" alt=\"Grand piano (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/38457/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/38457/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"38451","slug":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-4f5e8aa0","title":"Lounge sofa (Cruise Ship Deck and Lounge)","summary":"Three seat lounge sofa 2.25 m long: a teak framed body with deep navy seat and back cushions, cream canvas scatter cushions, wide teak arm caps and turned feet.","description":"Three seat lounge sofa 2.25 m long: a teak framed body with deep navy seat and back cushions, cream canvas scatter cushions, wide teak arm caps and turned feet. Overall 2.33 by 1.03 by 0.96 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 sofa's footprint, the seat facing +Z. Static prop: the cushions are modelled solid. Static geometry; no rig, 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-4f5e8aa0","cdnUrl":"https://cdn.3dassets.dev/assets/38451/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-4f5e8aa0","thumbnailUrl":"https://cdn.3dassets.dev/assets/38451/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38451/v1/poster.webp","blurhash":"U9B3Nhx^8weR^,-VROM_00wHYRJBDNRhXoOt","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":33272,"triangles":308,"vertices":698,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-1.1649999618530273,-0.00002303431110994847,-0.4800153961295731],"max":[1.1649999618530273,1.0290500842002757,0.4800153961295731]},"sizeMeters":[2.33,1.029,0.96],"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:42:04.336Z","updatedAt":"2026-09-12T14:42:04.495Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38451/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LoungeSofaCruiseShipDeckAndLounge(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38451/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38451/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38451/v1/model.glb\" alt=\"Lounge sofa (Cruise Ship Deck and Lounge)\" camera-controls auto-rotate></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/38451/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","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)","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/38451/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38452","slug":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-e03187c8","title":"Lounge armchair (Cruise Ship Deck and Lounge)","summary":"Deck lounge armchair 0.95 m wide: the sofa's teak frame in a single seat, with a navy seat and back cushion, a cream scatter cushion and wide teak arm caps.","description":"Deck lounge armchair 0.95 m wide: the sofa's teak frame in a single seat, with a navy seat and back cushion, a cream scatter cushion and wide teak arm caps. Overall 1.03 by 1.02 by 0.96 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 chair's footprint, the seat facing +Z. Static prop: the cushions are modelled solid. Static geometry; no rig, 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-e03187c8","cdnUrl":"https://cdn.3dassets.dev/assets/38452/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-e03187c8","thumbnailUrl":"https://cdn.3dassets.dev/assets/38452/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38452/v1/poster.webp","blurhash":"U9By2A-W00m+~Waf9Fxa0dM_O@TfMca#t-R*","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":30844,"triangles":248,"vertices":562,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.5149999856948853,0.000029454990313260154,-0.47998243852461625],"max":[0.5149999856948853,1.0199705259362004,0.47998243852461625]},"sizeMeters":[1.03,1.02,0.96],"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:42:04.785Z","updatedAt":"2026-09-12T14:42:04.897Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38452/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LoungeArmchairCruiseShipDeckAndLounge(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38452/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38452/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38452/v1/model.glb\" alt=\"Lounge armchair (Cruise Ship Deck and Lounge)\" camera-controls auto-rotate></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/38452/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","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)","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/38452/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38453","slug":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-56e41f0b","title":"Lounge low table (Cruise Ship Deck and Lounge)","summary":"Low table 1.25 m long: a teak frame with a glass top inset in a rebate, a slatted lower shelf and a tray with two glasses and a folded newspaper on it.","description":"Low table 1.25 m long: a teak frame with a glass top inset in a rebate, a slatted lower shelf and a tray with two glasses and a folded newspaper on it. Overall 1.25 by 0.69 by 0.70 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 table's footprint. Static prop. Static geometry; no rig, 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-56e41f0b","cdnUrl":"https://cdn.3dassets.dev/assets/38453/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-56e41f0b","thumbnailUrl":"https://cdn.3dassets.dev/assets/38453/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38453/v1/poster.webp","blurhash":"U7Bov|-o00RQ~q-oIAE100bv.9RP00IV%$x[","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":28980,"triangles":208,"vertices":482,"meshes":4,"materials":4,"textures":1,"animations":[],"boundingBox":{"min":[-0.625,0.000034333323160495866,-0.3500091555528428],"max":[0.625,0.6849771914381487,0.3500091555528428]},"sizeMeters":[1.25,0.685,0.7],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T14:42:06.861Z","updatedAt":"2026-09-12T14:42:07.013Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38453/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LoungeLowTableCruiseShipDeckAndLounge(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38453/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38453/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38453/v1/model.glb\" alt=\"Lounge low table (Cruise Ship Deck and Lounge)\" camera-controls auto-rotate></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/38453/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","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)","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/38453/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"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."}},{"id":"38454","slug":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-42d9bd95","title":"Deck cafe table (Cruise Ship Deck and Lounge)","summary":"Round cafe table 0.8 m across: a teak top with a banded edge on a cast pedestal and a weighted ring foot, with a small charcoal ashtray dish at its centre.","description":"Round cafe table 0.8 m across: a teak top with a banded edge on a cast pedestal and a weighted ring foot, with a small charcoal ashtray dish at its centre. Overall 0.82 by 0.86 by 0.80 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 table's footprint. Static prop. Static geometry; no rig, 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-42d9bd95","cdnUrl":"https://cdn.3dassets.dev/assets/38454/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-42d9bd95","thumbnailUrl":"https://cdn.3dassets.dev/assets/38454/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38454/v1/poster.webp","blurhash":"U88pfcs;0KWA|qf5JpofwHWCWrs:O@WCrqoe","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":30928,"triangles":288,"vertices":640,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.41000061719007996,0,-0.39971221710439603],"max":[0.41000061719007996,0.8600000143051147,0.39971221710439603]},"sizeMeters":[0.82,0.86,0.799],"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:42:06.877Z","updatedAt":"2026-09-12T14:42:06.995Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38454/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DeckCafeTableCruiseShipDeckAndLounge(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38454/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38454/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38454/v1/model.glb\" alt=\"Deck cafe table (Cruise Ship Deck and Lounge)\" camera-controls auto-rotate></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/38454/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","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)","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/38454/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38455","slug":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-0db56e03","title":"Deck cafe chair (Cruise Ship Deck and Lounge)","summary":"Stacking deck chair 0.86 m tall: a stainless tube frame with teak slats to the seat and back, a navy seat pad and rubber foot caps, for the cafe tables on an open deck.","description":"Stacking deck chair 0.86 m tall: a stainless tube frame with teak slats to the seat and back, a navy seat pad and rubber foot caps, for the cafe tables on an open deck. Overall 0.49 by 0.89 by 0.46 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 chair's footprint, the seat facing +Z. Static prop: the chair does not fold, because a folding frame is a linkage. Static geometry; no rig, 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-0db56e03","cdnUrl":"https://cdn.3dassets.dev/assets/38455/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-0db56e03","thumbnailUrl":"https://cdn.3dassets.dev/assets/38455/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38455/v1/poster.webp","blurhash":"U697V3JA00,B=yIp9[=x8wNFt:%2eQoJkskX","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":37572,"triangles":412,"vertices":934,"meshes":4,"materials":4,"textures":1,"animations":[],"boundingBox":{"min":[-0.24500000476837158,0,-0.22499145919629718],"max":[0.24500000476837158,0.8849886720149387,0.23499999940395355]},"sizeMeters":[0.49,0.885,0.46],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":1,"publishedAt":"2026-09-12T14:42:07.166Z","updatedAt":"2026-09-12T15:16:57.111Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38455/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DeckCafeChairCruiseShipDeckAndLounge(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38455/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38455/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38455/v1/model.glb\" alt=\"Deck cafe chair (Cruise Ship Deck and Lounge)\" camera-controls auto-rotate></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/38455/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","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)","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/38455/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38429","slug":"cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-e5791c54","title":"Life ring on a post (Cruise Ship Deck and Lounge)","summary":"Deckside rescue post 1.45 m tall: a white post on a bolted plate carrying a red and white life ring on its bracket, a coiled buoyant line below it and a blank instruction plate, for the rail line of any open deck.","description":"Deckside rescue post 1.45 m tall: a white post on a bolted plate carrying a red and white life ring on its bracket, a coiled buoyant line below it and a blank instruction plate, for the rail line of any open deck. Overall 0.83 by 1.47 by 0.42 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 base plate, the ring facing +Z. Static prop: the ring, the bracket and the line are one solid piece, because a thrown line is not a rigid node transform. Static geometry; no rig, 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-e5791c54","cdnUrl":"https://cdn.3dassets.dev/assets/38429/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cruise-ship-deck-and-lounge-cruise-ship-deck-and-loung-e5791c54","thumbnailUrl":"https://cdn.3dassets.dev/assets/38429/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38429/v1/poster.webp","blurhash":"UCBV;T-p009s~B%29tE10fV[=|W;5RIU#l%M","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":22112,"triangles":332,"vertices":698,"meshes":5,"materials":5,"textures":1,"animations":[],"boundingBox":{"min":[-0.41643720865249634,-0.00000686655513696538,-0.180033454600332],"max":[0.41643720865249634,1.4664372205734253,0.24623344272708675]},"sizeMeters":[0.833,1.466,0.426],"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:49.648Z","updatedAt":"2026-09-12T14:41:49.759Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38429/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LifeRingOnAPostCruiseShipDeckAndLounge(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38429/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38429/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38429/v1/model.glb\" alt=\"Life ring on a post (Cruise Ship Deck and Lounge)\" camera-controls auto-rotate></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/38429/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","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)","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/38429/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}}]}}