{"data":{"id":343,"slug":"vertical-farm-and-hydroponics-tower","title":"Vertical Farm and Hydroponics Tower","summary":"A near future vertical farm: ported three tier grow racks under LED bars, nutrient film, deep water and aeroponic systems, crops at three stages, harvest, wash and packing benches, the nutrient and air plant, a rack shuttle, and the hygienic room to put it in.","description":"A complete controlled environment farm in one realistic family, built so a developer can assemble a working vertical farm rather than dress one. The growing side is modular on a 2 m grid: three tier rack bays with magenta LED bars and a tray that runs out, end frames, nutrient film channel benches, a deep water culture tray, an aeroponic mist chamber, propagation plugs, a germination chamber and strawberry towers, with the crop modelled at three stages from sown rockwool to a closed canopy in three species shapes. Harvest, wash and pack are a bench line with a roller stub, a spin dryer, crates, totes, trolleys and a stretch wrapper. The wet and dry plant is here too: dosing skid, reservoir, pumps and filters, membrane rack, ultraviolet steriliser, ported pipework and duct runs, dehumidifier, air handling unit and a gas cylinder rack. A rack shuttle runs its own rail, a mast of handling kit rounds it off, and the room itself is floor tiles, hygienic wall panels, corner posts, ceiling cassettes, an airlock, a cold store door, drains, a walkway and a stair. Animation is rigid node transforms only: trays slide, doors and lids swing, rotors, fans, rollers, handwheels and road wheels turn, and the shuttle runs its rail. Water, nutrient solution, mist, hoses, cabling and screen content are modelled solid and stay still, because fluid, flexible material and displays each need a shader or a joint per element and none is reachable with one rigid node transform. The scissor lift ships stowed and raised as two models for the same reason: a crossed linkage needs a joint per arm. The LED bars are emissive looking geometry and the pack embeds no lights. Plants are static geometry, so there is no growth animation and no skinning, and there are no people anywhere in the pack. No grower, seed house, equipment maker, lighting brand or retailer is named or depicted, and every screen, fascia, crate face and label is blank.","url":"https://3dassets.dev/packs/vertical-farm-and-hydroponics-tower","coverUrl":"https://cdn.3dassets.dev/assets/38401/v1/poster.webp","assetCount":64,"aiGenerated":true,"aiGeneratedAssetCount":64,"aiModels":["Claude Opus 5"],"aiModelUnspecifiedCount":0,"featured":true,"licenseLabel":"CC0 1.0 Universal","totalBytes":8932064,"totalTriangles":216576,"starterScene":{"id":"38401","slug":"vertical-farm-and-hydroponics-tower-vert-765944bf-starter-scene","title":"Vertical farm grow room and pack house (Vertical Farm and Hydroponics Tower)","summary":"A working vertical farm in one 18 m by 20 m hall. The growing floor takes the north half: three rows of six three tier bays under their magenta LED bars, every tier planted with lettuce, pak choi or propagation plugs, and the shuttle robot on its rail down the aisle between...","description":"A working vertical farm in one 18 m by 20 m hall. The growing floor takes the north half: three rows of six three tier bays under their magenta LED bars, every tier planted with lettuce, pak choi or propagation plugs, and the shuttle robot on its rail down the aisle between the first two rows. The wet systems run across the middle, nutrient film benches into a deep water culture tray, the aeroponic chamber and the germination cabinet, with strawberry towers, a tray trolley and cut crop on the open floor in front. The pack house fills the south half: the bench line from transplanting through harvest and the wash and spin station to packing, channel drains behind it, crates staged on the slab, the stretch wrapper part way through a pallet, the dosing skid, reservoir, pumps, membrane rack and steriliser down the east wall and the hygiene station, gowning bench and lockers down the west. Nutrient mains and a supply duct run the north wall past the airlock and the cold store door, and a service walkway with its stair runs down the west lane. The hall is left open topped on purpose: the pack page looks down into it, so the ceiling cassettes ship in the pack but are not laid here, and the racks stop at three tiers so the top tier still reads from standing height. Every working item is on the floor for the same reason, because a walk through the scene has no way up.","status":"published","url":"https://3dassets.dev/assets/vertical-farm-and-hydroponics-tower-vert-765944bf-starter-scene","cdnUrl":"https://cdn.3dassets.dev/assets/38401/v1/model.glb","downloadUrl":"https://3dassets.dev/download/vertical-farm-and-hydroponics-tower-vert-765944bf-starter-scene","thumbnailUrl":"https://cdn.3dassets.dev/assets/38401/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38401/v1/poster.webp","blurhash":"U3Dl~A_N00xtE19Ft7?b009F_ME0_3~qRj9G","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":3678920,"triangles":91832,"vertices":194175,"meshes":347,"materials":12,"textures":0,"animations":[],"boundingBox":{"min":[-9.140043338370264,-0.11996679282185323,-7.169994660848168],"max":[9.140043338370264,3.7730228900909424,13.140043338370264]},"sizeMeters":[18.28,3.893,20.31],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":1,"publishedAt":"2026-09-12T14:36:39.973Z","updatedAt":"2026-09-12T18:48:57.672Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38401/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function VerticalFarmGrowRoomAndPackHouseVerticalFarmAndHydroponicsTower(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38401/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38401/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38401/v1/model.glb\" alt=\"Vertical farm grow room and pack house (Vertical Farm and Hydroponics Tower)\" 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/38401/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/38401/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},"assets":[{"id":"38340","slug":"vertical-farm-and-hydroponics-tower-vertical-farm-and--68ec3b05","title":"Three tier grow rack bay, 2 m (Vertical Farm and Hydroponics Tower)","summary":"Empty three tier growing rack 2 m wide and 1 m deep, 2.55 m tall: a stainless frame with cross braced back, perforated tier decks, a pair of magenta LED grow bars over each tier, and a middle tray on runners that pulls out.","description":"Empty three tier growing rack 2 m wide and 1 m deep, 2.55 m tall: a stainless frame with cross braced back, perforated tier decks, a pair of magenta LED grow bars over each tier, and a middle tray on runners that pulls out. Overall 2.02 by 2.55 by 1.02 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 bay's footprint, so bays lay out at 2 m centres and a row repeats end to end. The rack frame, the decks and the fixed tier trays are solid, the LED bars are emissive looking geometry with no light source in the file, and the crop is static: there is no growth animation and no skinning anywhere in this pack. Rigid node-transform clips: open and close. No skinning. No collision or navigation data. Original CC0 geometry: no grower, seed house, equipment maker, lighting brand or retailer is named or depicted anywhere, and every screen, fascia, crate and label face is blank.","status":"published","url":"https://3dassets.dev/assets/vertical-farm-and-hydroponics-tower-vertical-farm-and--68ec3b05","cdnUrl":"https://cdn.3dassets.dev/assets/38340/v1/model.glb","downloadUrl":"https://3dassets.dev/download/vertical-farm-and-hydroponics-tower-vertical-farm-and--68ec3b05","thumbnailUrl":"https://cdn.3dassets.dev/assets/38340/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38340/v1/poster.webp","blurhash":"UDC%BUxu00oJ~qxu9FM{9Ej[%MWBt7t7RjNG","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"slug":"animated","title":"Animated"},{"slug":"interior","title":"Interior"}],"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":25356,"triangles":540,"vertices":1217,"meshes":4,"materials":3,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-1.0100932151582145,0,-0.5099299504853192],"max":[1.0100932151582145,2.549999952316284,0.5099299504853192]},"sizeMeters":[2.02,2.55,1.02],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T14:35:50.632Z","updatedAt":"2026-09-12T14:35:50.745Z","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/38340/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 ThreeTierGrowRackBay2MVerticalFarmAndHydroponicsTower(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/38340/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/38340/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38340/v1/model.glb\" alt=\"Three tier grow rack bay, 2 m (Vertical Farm and Hydroponics Tower)\" 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/38340/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/38340/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"38339","slug":"vertical-farm-and-hydroponics-tower-vertical-farm-and--2feb4f62","title":"Three tier grow rack bay, planted with lettuce (Vertical Farm and Hydroponics Tower)","summary":"The same 2 m growing bay with all three tiers planted: twelve heads of loose leaf lettuce a tier, spaced on the real 300 mm pitch so the tray reads as separate plants from above. The middle tray still pulls out with its crop.","description":"The same 2 m growing bay with all three tiers planted: twelve heads of loose leaf lettuce a tier, spaced on the real 300 mm pitch so the tray reads as separate plants from above. The middle tray still pulls out with its crop. Overall 2.02 by 2.55 by 1.02 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0. The rack frame, the decks and the fixed tier trays are solid, the LED bars are emissive looking geometry with no light source in the file, and the crop is static: there is no growth animation and no skinning anywhere in this pack. Rigid node-transform clips: open and close. No skinning. No collision or navigation data. Original CC0 geometry: no grower, seed house, equipment maker, lighting brand or retailer is named or depicted anywhere, and every screen, fascia, crate and label face is blank.","status":"published","url":"https://3dassets.dev/assets/vertical-farm-and-hydroponics-tower-vertical-farm-and--2feb4f62","cdnUrl":"https://cdn.3dassets.dev/assets/38339/v1/model.glb","downloadUrl":"https://3dassets.dev/download/vertical-farm-and-hydroponics-tower-vertical-farm-and--2feb4f62","thumbnailUrl":"https://cdn.3dassets.dev/assets/38339/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38339/v1/poster.webp","blurhash":"UDCsv?xu00n,~qxu9FM{DQjux[WAt7t7WANF","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"slug":"animated","title":"Animated"},{"slug":"interior","title":"Interior"}],"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":160712,"triangles":3996,"vertices":8273,"meshes":6,"materials":4,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-1.0100932151582145,0,-0.5099299504853192],"max":[1.0100932151582145,2.549999952316284,0.5099299504853192]},"sizeMeters":[2.02,2.55,1.02],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T14:35:50.576Z","updatedAt":"2026-09-12T14:35:50.705Z","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/38339/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 ThreeTierGrowRackBayPlantedWithLettuceVerticalFarmAndHydroponicsTower(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/38339/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/38339/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38339/v1/model.glb\" alt=\"Three tier grow rack bay, planted with lettuce (Vertical Farm and Hydroponics Tower)\" 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/38339/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/38339/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"38338","slug":"vertical-farm-and-hydroponics-tower-vertical-farm-and--c15e6373","title":"Three tier grow rack bay, planted with pak choi (Vertical Farm and Hydroponics Tower)","summary":"The 2 m growing bay planted with upright pak choi, whose pale stems and steep leaves give a row of racks a second crop shape without a second model family. Three planted tiers, middle tray on runners.","description":"The 2 m growing bay planted with upright pak choi, whose pale stems and steep leaves give a row of racks a second crop shape without a second model family. Three planted tiers, middle tray on runners. Overall 2.02 by 2.55 by 1.02 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0. The rack frame, the decks and the fixed tier trays are solid, the LED bars are emissive looking geometry with no light source in the file, and the crop is static: there is no growth animation and no skinning anywhere in this pack. Rigid node-transform clips: open and close. No skinning. No collision or navigation data. Original CC0 geometry: no grower, seed house, equipment maker, lighting brand or retailer is named or depicted anywhere, and every screen, fascia, crate and label face is blank.","status":"published","url":"https://3dassets.dev/assets/vertical-farm-and-hydroponics-tower-vertical-farm-and--c15e6373","cdnUrl":"https://cdn.3dassets.dev/assets/38338/v1/model.glb","downloadUrl":"https://3dassets.dev/download/vertical-farm-and-hydroponics-tower-vertical-farm-and--c15e6373","thumbnailUrl":"https://cdn.3dassets.dev/assets/38338/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38338/v1/poster.webp","blurhash":"UDCspztR00oM~qxu9FM{Dij[x[WBt7t7RjNF","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"slug":"animated","title":"Animated"},{"slug":"interior","title":"Interior"}],"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":146944,"triangles":3564,"vertices":7409,"meshes":7,"materials":4,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-1.0100932151582145,0,-0.5099299504853192],"max":[1.0100932151582145,2.549999952316284,0.5099299504853192]},"sizeMeters":[2.02,2.55,1.02],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T14:35:50.579Z","updatedAt":"2026-09-12T14:35:50.711Z","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/38338/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 ThreeTierGrowRackBayPlantedWithPakChoiVerticalFarmAndHydroponicsTower(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/38338/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/38338/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38338/v1/model.glb\" alt=\"Three tier grow rack bay, planted with pak choi (Vertical Farm and Hydroponics Tower)\" 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/38338/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/38338/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"38341","slug":"vertical-farm-and-hydroponics-tower-vertical-farm-and--82348d72","title":"Three tier grow rack bay, propagation plugs (Vertical Farm and Hydroponics Tower)","summary":"The 2 m growing bay set up for propagation: twenty four rockwool plugs a tier under the LED bars, each with a seedling just through, which is what the first week of a crop cycle looks like.","description":"The 2 m growing bay set up for propagation: twenty four rockwool plugs a tier under the LED bars, each with a seedling just through, which is what the first week of a crop cycle looks like. Overall 2.02 by 2.55 by 1.02 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0. The rack frame, the decks and the fixed tier trays are solid, the LED bars are emissive looking geometry with no light source in the file, and the crop is static: there is no growth animation and no skinning anywhere in this pack. Rigid node-transform clips: open and close. No skinning. No collision or navigation data. Original CC0 geometry: no grower, seed house, equipment maker, lighting brand or retailer is named or depicted anywhere, and every screen, fascia, crate and label face is blank.","status":"published","url":"https://3dassets.dev/assets/vertical-farm-and-hydroponics-tower-vertical-farm-and--82348d72","cdnUrl":"https://cdn.3dassets.dev/assets/38341/v1/model.glb","downloadUrl":"https://3dassets.dev/download/vertical-farm-and-hydroponics-tower-vertical-farm-and--82348d72","thumbnailUrl":"https://cdn.3dassets.dev/assets/38341/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38341/v1/poster.webp","blurhash":"UDC%Eaxu00oL~qxu9FM{9Fj[%MWBt7t7RjNF","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"slug":"animated","title":"Animated"},{"slug":"interior","title":"Interior"}],"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":334460,"triangles":8316,"vertices":17345,"meshes":7,"materials":4,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-1.0100932151582145,0,-0.5099299504853192],"max":[1.0100932151582145,2.549999952316284,0.5099299504853192]},"sizeMeters":[2.02,2.55,1.02],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T14:35:50.662Z","updatedAt":"2026-09-12T14:35:50.771Z","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/38341/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 ThreeTierGrowRackBayPropagationPlugsVerticalFarmAndHydroponicsTower(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/38341/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/38341/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38341/v1/model.glb\" alt=\"Three tier grow rack bay, propagation plugs (Vertical Farm and Hydroponics Tower)\" 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/38341/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/38341/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"38342","slug":"vertical-farm-and-hydroponics-tower-vertical-farm-and--a4d07f6a","title":"Grow rack end frame (Vertical Farm and Hydroponics Tower)","summary":"The closing end frame for a rack row: two uprights, three tier rails, a diagonal brace and a blank row plate, 1 m deep and 2.55 m tall, ported on one face so it caps a run of bays.","description":"The closing end frame for a rack row: two uprights, three tier rails, a diagonal brace and a blank row plate, 1 m deep and 2.55 m tall, ported on one face so it caps a run of bays. Overall 0.10 by 2.55 by 1.02 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0. The origin sits on the frame's own centre line and its port is on that line, so it stands exactly on the last bay's end port, 1 m from that bay's centre. Static geometry; no rig, collision or navigation data. Original CC0 geometry: no grower, seed house, equipment maker, lighting brand or retailer is named or depicted anywhere, and every screen, fascia, crate and label face is blank.","status":"published","url":"https://3dassets.dev/assets/vertical-farm-and-hydroponics-tower-vertical-farm-and--a4d07f6a","cdnUrl":"https://cdn.3dassets.dev/assets/38342/v1/model.glb","downloadUrl":"https://3dassets.dev/download/vertical-farm-and-hydroponics-tower-vertical-farm-and--a4d07f6a","thumbnailUrl":"https://cdn.3dassets.dev/assets/38342/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38342/v1/poster.webp","blurhash":"U16[5Q-p004.yCM{Dj.800V@~qx]IUIU%M_3","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"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":6020,"triangles":108,"vertices":252,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.04996185092889354,0,-0.5099299504853192],"max":[0.04996185092889354,2.549999952316284,0.5099299504853192]},"sizeMeters":[0.1,2.55,1.02],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T14:35:53.574Z","updatedAt":"2026-09-12T14:35:53.712Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38342/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GrowRackEndFrameVerticalFarmAndHydroponicsTower(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38342/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38342/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38342/v1/model.glb\" alt=\"Grow rack end frame (Vertical Farm and Hydroponics Tower)\" 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/38342/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/38342/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38343","slug":"vertical-farm-and-hydroponics-tower-vertical-farm-and--b26a52d9","title":"Nutrient film channel run, 2 m (Vertical Farm and Hydroponics Tower)","summary":"A 2 m nutrient film bench: four white NFT channels falling gently to a return manifold on a stainless stand at 0.85 m, planted with lettuce on a 250 mm pitch, with the feed pipe and drain elbow modelled at both ends.","description":"A 2 m nutrient film bench: four white NFT channels falling gently to a return manifold on a stainless stand at 0.85 m, planted with lettuce on a 250 mm pitch, with the feed pipe and drain elbow modelled at both ends. Overall 2.06 by 1.04 by 0.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 stand's footprint; the channel tops sit at 0.9 m, which is the working height the benches in this pack share. The solution in the channel, the feed pipe and the drain elbow are modelled solid: flowing water needs a shader, not a node transform. Static geometry; no rig, collision or navigation data. Original CC0 geometry: no grower, seed house, equipment maker, lighting brand or retailer is named or depicted anywhere, and every screen, fascia, crate and label face is blank.","status":"published","url":"https://3dassets.dev/assets/vertical-farm-and-hydroponics-tower-vertical-farm-and--b26a52d9","cdnUrl":"https://cdn.3dassets.dev/assets/38343/v1/model.glb","downloadUrl":"https://3dassets.dev/download/vertical-farm-and-hydroponics-tower-vertical-farm-and--b26a52d9","thumbnailUrl":"https://cdn.3dassets.dev/assets/38343/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38343/v1/poster.webp","blurhash":"UNCGugbHDkt7_LxuIVRj4nxuoyMy4Uawx@WC","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"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":135076,"triangles":3336,"vertices":6902,"meshes":6,"materials":6,"textures":0,"animations":[],"boundingBox":{"min":[-1.034999966621399,-0.00003262944743487317,-0.4632443419952986],"max":[1.0299999713897705,1.043935349857483,0.48324566402631974]},"sizeMeters":[2.065,1.044,0.946],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T14:35:53.565Z","updatedAt":"2026-09-12T14:35:53.690Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38343/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function NutrientFilmChannelRun2MVerticalFarmAndHydroponicsTower(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38343/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38343/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38343/v1/model.glb\" alt=\"Nutrient film channel run, 2 m (Vertical Farm and Hydroponics Tower)\" 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/38343/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/38343/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38345","slug":"vertical-farm-and-hydroponics-tower-vertical-farm-and--190f4dd3","title":"Deep water culture tray (Vertical Farm and Hydroponics Tower)","summary":"A deep water culture tank on a stainless stand: a 1.8 m by 0.9 m pond 300 mm deep with the solution surface modelled, a white floating raft drilled on a 300 mm grid, twelve heads of lettuce in it and an air line down one side.","description":"A deep water culture tank on a stainless stand: a 1.8 m by 0.9 m pond 300 mm deep with the solution surface modelled, a white floating raft drilled on a 300 mm grid, twelve heads of lettuce in it and an air line down one side. Overall 1.84 by 0.93 by 0.99 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 stand's footprint and the raft sits at 0.78 m, level with the channel benches. The solution, the raft and the air line are solid geometry; nothing about a body of still water is reachable with a rigid node transform. Static geometry; no rig, collision or navigation data. Original CC0 geometry: no grower, seed house, equipment maker, lighting brand or retailer is named or depicted anywhere, and every screen, fascia, crate and label face is blank.","status":"published","url":"https://3dassets.dev/assets/vertical-farm-and-hydroponics-tower-vertical-farm-and--190f4dd3","cdnUrl":"https://cdn.3dassets.dev/assets/38345/v1/model.glb","downloadUrl":"https://3dassets.dev/download/vertical-farm-and-hydroponics-tower-vertical-farm-and--190f4dd3","thumbnailUrl":"https://cdn.3dassets.dev/assets/38345/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38345/v1/poster.webp","blurhash":"UB9aW^%LDjV__M%fMyRQ00tQxtM|4UM{%eWA","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"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":62652,"triangles":1452,"vertices":3030,"meshes":6,"materials":6,"textures":0,"animations":[],"boundingBox":{"min":[-0.9200000166893005,-1.5816959358927463e-7,-0.5200262315787092],"max":[0.9200000166893005,0.9314285516211369,0.4700656233226194]},"sizeMeters":[1.84,0.931,0.99],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T14:35:53.581Z","updatedAt":"2026-09-12T14:35:53.704Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38345/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DeepWaterCultureTrayVerticalFarmAndHydroponicsTower(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38345/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38345/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38345/v1/model.glb\" alt=\"Deep water culture tray (Vertical Farm and Hydroponics Tower)\" 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/38345/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/38345/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38344","slug":"vertical-farm-and-hydroponics-tower-vertical-farm-and--79540e5d","title":"Aeroponic mist chamber (Vertical Farm and Hydroponics Tower)","summary":"A sealed aeroponic root chamber 1.6 m by 1 m on a stand, with a hinged access door, two misting lines on their manifold inside, a bare root curtain hanging from the lid grid and a collection sump with a return fitting.","description":"A sealed aeroponic root chamber 1.6 m by 1 m on a stand, with a hinged access door, two misting lines on their manifold inside, a bare root curtain hanging from the lid grid and a collection sump with a return fitting. Overall 1.60 by 1.35 by 1.06 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0. The mist, the solution in the sump, the nozzles and the root curtain are modelled solid: an atomised spray is a particle effect, not geometry a node transform can drive. Rigid node-transform clips: open and close. No skinning. No collision or navigation data. Original CC0 geometry: no grower, seed house, equipment maker, lighting brand or retailer is named or depicted anywhere, and every screen, fascia, crate and label face is blank.","status":"published","url":"https://3dassets.dev/assets/vertical-farm-and-hydroponics-tower-vertical-farm-and--79540e5d","cdnUrl":"https://cdn.3dassets.dev/assets/38344/v1/model.glb","downloadUrl":"https://3dassets.dev/download/vertical-farm-and-hydroponics-tower-vertical-farm-and--79540e5d","thumbnailUrl":"https://cdn.3dassets.dev/assets/38344/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38344/v1/poster.webp","blurhash":"UbFiV]IU9Eof~qWBIUWBITxuWVWBIUt7Rjay","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"interior","title":"Interior"}],"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":49952,"triangles":1016,"vertices":2325,"meshes":8,"materials":6,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.800000011920929,-0.000034942212974897746,-0.49996643708965677],"max":[0.800000011920929,1.3500610608617194,0.5650028670691271]},"sizeMeters":[1.6,1.35,1.065],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T14:35:53.619Z","updatedAt":"2026-09-12T14:35:53.728Z","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/38344/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 AeroponicMistChamberVerticalFarmAndHydroponicsTower(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/38344/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/38344/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38344/v1/model.glb\" alt=\"Aeroponic mist chamber (Vertical Farm and Hydroponics Tower)\" 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/38344/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/38344/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"38347","slug":"vertical-farm-and-hydroponics-tower-vertical-farm-and--9a67b0fb","title":"Rockwool plug tray (Vertical Farm and Hydroponics Tower)","summary":"A 600 mm by 400 mm propagation tray of forty rockwool plugs, freshly sown: the plugs sit proud of a black carry tray with its stacking rim, and nothing is up yet.","description":"A 600 mm by 400 mm propagation tray of forty rockwool plugs, freshly sown: the plugs sit proud of a black carry tray with its stacking rim, and nothing is up yet. Overall 0.60 by 0.10 by 0.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 tray's footprint; it stacks on its own rim at 60 mm centres. Static geometry; no rig, collision or navigation data. Original CC0 geometry: no grower, seed house, equipment maker, lighting brand or retailer is named or depicted anywhere, and every screen, fascia, crate and label face is blank.","status":"published","url":"https://3dassets.dev/assets/vertical-farm-and-hydroponics-tower-vertical-farm-and--9a67b0fb","cdnUrl":"https://cdn.3dassets.dev/assets/38347/v1/model.glb","downloadUrl":"https://3dassets.dev/download/vertical-farm-and-hydroponics-tower-vertical-farm-and--9a67b0fb","thumbnailUrl":"https://cdn.3dassets.dev/assets/38347/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38347/v1/poster.webp","blurhash":"UDDS?%-;00WB~q%MIUM{00Rj_3M{00D%%Mf6","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"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":24608,"triangles":516,"vertices":1204,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.3005000054836273,-0.0004902795672651408,-0.20001541549723537],"max":[0.3005000054836273,0.09999409495554536,0.20001541549723537]},"sizeMeters":[0.601,0.1,0.4],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T14:35:56.389Z","updatedAt":"2026-09-12T14:35:56.514Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38347/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RockwoolPlugTrayVerticalFarmAndHydroponicsTower(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38347/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38347/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38347/v1/model.glb\" alt=\"Rockwool plug tray (Vertical Farm and Hydroponics Tower)\" 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/38347/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/38347/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38348","slug":"vertical-farm-and-hydroponics-tower-vertical-farm-and--2c8cbdc0","title":"Seedling propagation tray with dome (Vertical Farm and Hydroponics Tower)","summary":"The same 600 mm plug tray a week on, with seedlings through the rockwool and a clear vented propagation dome over them. The dome lifts off on its back edge.","description":"The same 600 mm plug tray a week on, with seedlings through the rockwool and a clear vented propagation dome over them. The dome lifts off on its back edge. Overall 0.62 by 0.31 by 0.42 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0. The vent sliders in the dome are modelled closed and do not move. Rigid node-transform clips: open and close. No skinning. No collision or navigation data. Original CC0 geometry: no grower, seed house, equipment maker, lighting brand or retailer is named or depicted anywhere, and every screen, fascia, crate and label face is blank.","status":"published","url":"https://3dassets.dev/assets/vertical-farm-and-hydroponics-tower-vertical-farm-and--2c8cbdc0","cdnUrl":"https://cdn.3dassets.dev/assets/38348/v1/model.glb","downloadUrl":"https://3dassets.dev/download/vertical-farm-and-hydroponics-tower-vertical-farm-and--2c8cbdc0","thumbnailUrl":"https://cdn.3dassets.dev/assets/38348/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38348/v1/poster.webp","blurhash":"U9DTkc~p00Rj*0%gxYWB00E2knRiD4MxIXM{","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"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":179676,"triangles":4428,"vertices":9212,"meshes":5,"materials":4,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.3222685158252716,-0.0004902795672651408,-0.21103044639722937],"max":[0.3005000054836273,0.30999786672713453,0.21055270026819342]},"sizeMeters":[0.623,0.31,0.422],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T14:35:56.446Z","updatedAt":"2026-09-12T14:35:56.564Z","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/38348/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 SeedlingPropagationTrayWithDomeVerticalFarmAndHydroponicsTower(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/38348/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/38348/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38348/v1/model.glb\" alt=\"Seedling propagation tray with dome (Vertical Farm and Hydroponics Tower)\" 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/38348/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/38348/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"38349","slug":"vertical-farm-and-hydroponics-tower-vertical-farm-and--bad08317","title":"Germination chamber (Vertical Farm and Hydroponics Tower)","summary":"A 1.2 m insulated germination cabinet on castors: twin doors with gasket seals, five shelf levels of sown plug trays inside, a blank set point display on the fascia and the refrigeration cowl on top.","description":"A 1.2 m insulated germination cabinet on castors: twin doors with gasket seals, five shelf levels of sown plug trays inside, a blank set point display on the fascia and the refrigeration cowl on top. Overall 1.20 by 2.30 by 0.92 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0. The gaskets, the cabling and the display content are solid and blank; only the two doors move. Rigid node-transform clips: open and close. No skinning. No collision or navigation data. Original CC0 geometry: no grower, seed house, equipment maker, lighting brand or retailer is named or depicted anywhere, and every screen, fascia, crate and label face is blank.","status":"published","url":"https://3dassets.dev/assets/vertical-farm-and-hydroponics-tower-vertical-farm-and--bad08317","cdnUrl":"https://cdn.3dassets.dev/assets/38349/v1/model.glb","downloadUrl":"https://3dassets.dev/download/vertical-farm-and-hydroponics-tower-vertical-farm-and--bad08317","thumbnailUrl":"https://cdn.3dassets.dev/assets/38349/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38349/v1/poster.webp","blurhash":"U9FPKaRj00WBxut7axIU00j[~qt7xbofRjM{","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"interior","title":"Interior"}],"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":1038320,"triangles":26292,"vertices":54628,"meshes":11,"materials":5,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.6000549109632686,0,-0.42497022862188566],"max":[0.6000549109632686,2.299999952316284,0.49499465820513056]},"sizeMeters":[1.2,2.3,0.92],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T14:35:56.458Z","updatedAt":"2026-09-12T14:35:56.587Z","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/38349/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 GerminationChamberVerticalFarmAndHydroponicsTower(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/38349/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/38349/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38349/v1/model.glb\" alt=\"Germination chamber (Vertical Farm and Hydroponics Tower)\" 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/38349/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/38349/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"38346","slug":"vertical-farm-and-hydroponics-tower-vertical-farm-and--e7d192a7","title":"Grow tray, freshly sown (Vertical Farm and Hydroponics Tower)","summary":"A 1.2 m by 0.8 m stainless growing tray at the start of a cycle: forty rockwool plugs sown out on their grid and nothing above the surface yet. The first of three crop states of the same tray.","description":"A 1.2 m by 0.8 m stainless growing tray at the start of a cycle: forty rockwool plugs sown out on their grid and nothing above the surface yet. The first of three crop states of the same tray. Overall 1.20 by 0.07 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 tray's footprint; it is sized to sit on a rack tier deck or a bench. Static geometry; no rig, collision or navigation data. Original CC0 geometry: no grower, seed house, equipment maker, lighting brand or retailer is named or depicted anywhere, and every screen, fascia, crate and label face is blank.","status":"published","url":"https://3dassets.dev/assets/vertical-farm-and-hydroponics-tower-vertical-farm-and--e7d192a7","cdnUrl":"https://cdn.3dassets.dev/assets/38346/v1/model.glb","downloadUrl":"https://3dassets.dev/download/vertical-farm-and-hydroponics-tower-vertical-farm-and--e7d192a7","thumbnailUrl":"https://cdn.3dassets.dev/assets/38346/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38346/v1/poster.webp","blurhash":"U9BM}Zxu00Rj-;xvRiM{00ay~qRj9ED%t7xu","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"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":25412,"triangles":540,"vertices":1247,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.6000000238418579,-0.0000011444441508287606,-0.40002443070312294],"max":[0.6000000238418579,0.07500114742438307,0.40002443070312294]},"sizeMeters":[1.2,0.075,0.8],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T14:35:56.371Z","updatedAt":"2026-09-12T14:35:56.490Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38346/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GrowTrayFreshlySownVerticalFarmAndHydroponicsTower(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38346/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38346/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38346/v1/model.glb\" alt=\"Grow tray, freshly sown (Vertical Farm and Hydroponics Tower)\" 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/38346/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/38346/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38350","slug":"vertical-farm-and-hydroponics-tower-vertical-farm-and--d9e8899e","title":"Grow tray, half grown (Vertical Farm and Hydroponics Tower)","summary":"The same growing tray a fortnight in: twelve lettuce at about half size, the leaves still clear of each other so the grid of plants is readable. The second of three crop states.","description":"The same growing tray a fortnight in: twelve lettuce at about half size, the leaves still clear of each other so the grid of plants is readable. The second of three crop states. Overall 1.20 by 0.09 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 tray's footprint; it is sized to sit on a rack tier deck or a bench. Static geometry; no rig, collision or navigation data. Original CC0 geometry: no grower, seed house, equipment maker, lighting brand or retailer is named or depicted anywhere, and every screen, fascia, crate and label face is blank.","status":"published","url":"https://3dassets.dev/assets/vertical-farm-and-hydroponics-tower-vertical-farm-and--d9e8899e","cdnUrl":"https://cdn.3dassets.dev/assets/38350/v1/model.glb","downloadUrl":"https://3dassets.dev/download/vertical-farm-and-hydroponics-tower-vertical-farm-and--d9e8899e","thumbnailUrl":"https://cdn.3dassets.dev/assets/38350/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38350/v1/poster.webp","blurhash":"U8A,?]xu00Rj%fx]RjM{00WB_Mae9FD%of%M","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"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":49216,"triangles":1212,"vertices":2479,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.6000000238418579,-0.0000011444441508287606,-0.40002443070312294],"max":[0.6000000238418579,0.0924453454500691,0.40002443070312294]},"sizeMeters":[1.2,0.092,0.8],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T14:35:59.169Z","updatedAt":"2026-09-12T14:35:59.364Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38350/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GrowTrayHalfGrownVerticalFarmAndHydroponicsTower(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38350/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38350/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38350/v1/model.glb\" alt=\"Grow tray, half grown (Vertical Farm and Hydroponics Tower)\" 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/38350/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/38350/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38351","slug":"vertical-farm-and-hydroponics-tower-vertical-farm-and--a05abe0f","title":"Grow tray, ready to harvest (Vertical Farm and Hydroponics Tower)","summary":"The growing tray at harvest: twelve full heads of loose leaf lettuce closed into a canopy that fills the tray. The third of three crop states, and the one a harvest bench is dressed with.","description":"The growing tray at harvest: twelve full heads of loose leaf lettuce closed into a canopy that fills the tray. The third of three crop states, and the one a harvest bench is dressed with. Overall 1.20 by 0.15 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 tray's footprint; it is sized to sit on a rack tier deck or a bench. Static geometry; no rig, collision or navigation data. Original CC0 geometry: no grower, seed house, equipment maker, lighting brand or retailer is named or depicted anywhere, and every screen, fascia, crate and label face is blank.","status":"published","url":"https://3dassets.dev/assets/vertical-farm-and-hydroponics-tower-vertical-farm-and--a05abe0f","cdnUrl":"https://cdn.3dassets.dev/assets/38351/v1/model.glb","downloadUrl":"https://3dassets.dev/download/vertical-farm-and-hydroponics-tower-vertical-farm-and--a05abe0f","thumbnailUrl":"https://cdn.3dassets.dev/assets/38351/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38351/v1/poster.webp","blurhash":"UABNQ7xu00%2y9xuaPRQ00Rj?@M{DTIBo[tQ","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"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":49192,"triangles":1212,"vertices":2479,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.6000000238418579,-0.0000011444441508287606,-0.40002443070312294],"max":[0.6000000238418579,0.1545803401485951,0.40002443070312294]},"sizeMeters":[1.2,0.155,0.8],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T14:35:59.352Z","updatedAt":"2026-09-12T14:35:59.484Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38351/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GrowTrayReadyToHarvestVerticalFarmAndHydroponicsTower(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38351/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38351/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38351/v1/model.glb\" alt=\"Grow tray, ready to harvest (Vertical Farm and Hydroponics Tower)\" 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/38351/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/38351/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38352","slug":"vertical-farm-and-hydroponics-tower-vertical-farm-and--b4b33315","title":"Leafy crop cluster, loose leaf lettuce (Vertical Farm and Hydroponics Tower)","summary":"Four heads of loose leaf lettuce in a 440 mm carry tray, cut and ready: broad shallow rosettes on a wide spread, the commonest shape in a leafy greens farm.","description":"Four heads of loose leaf lettuce in a 440 mm carry tray, cut and ready: broad shallow rosettes on a wide spread, the commonest shape in a leafy greens farm. Overall 0.46 by 0.21 by 0.47 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 carry tray's footprint. Use it to dress a bench, a crate or a packing line. Static geometry; no rig, collision or navigation data. Original CC0 geometry: no grower, seed house, equipment maker, lighting brand or retailer is named or depicted anywhere, and every screen, fascia, crate and label face is blank.","status":"published","url":"https://3dassets.dev/assets/vertical-farm-and-hydroponics-tower-vertical-farm-and--b4b33315","cdnUrl":"https://cdn.3dassets.dev/assets/38352/v1/model.glb","downloadUrl":"https://3dassets.dev/download/vertical-farm-and-hydroponics-tower-vertical-farm-and--b4b33315","thumbnailUrl":"https://cdn.3dassets.dev/assets/38352/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38352/v1/poster.webp","blurhash":"UADADBt700jH??W.MgsC00WB_LWB8*s:kjR*","category":{"slug":"nature","title":"Nature & Landscape"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"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":18620,"triangles":408,"vertices":840,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.23307779188136774,-0.000003203935483486048,-0.2199999988079071],"max":[0.22646808381061273,0.21193651155330392,0.25461244583129883]},"sizeMeters":[0.46,0.212,0.475],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T14:35:59.370Z","updatedAt":"2026-09-12T14:35:59.496Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38352/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LeafyCropClusterLooseLeafLettuceVerticalFarmAndHydroponicsTower(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38352/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38352/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38352/v1/model.glb\" alt=\"Leafy crop cluster, loose leaf lettuce (Vertical Farm and Hydroponics Tower)\" 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/38352/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/38352/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38353","slug":"vertical-farm-and-hydroponics-tower-vertical-farm-and--9431d595","title":"Leafy crop cluster, pak choi (Vertical Farm and Hydroponics Tower)","summary":"Four heads of pak choi in the same carry tray: steep pale stems with the leaf held high and tight, which reads as a different crop beside the lettuce without a second material.","description":"Four heads of pak choi in the same carry tray: steep pale stems with the leaf held high and tight, which reads as a different crop beside the lettuce without a second material. Overall 0.44 by 0.27 by 0.44 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data. Original CC0 geometry: no grower, seed house, equipment maker, lighting brand or retailer is named or depicted anywhere, and every screen, fascia, crate and label face is blank.","status":"published","url":"https://3dassets.dev/assets/vertical-farm-and-hydroponics-tower-vertical-farm-and--9431d595","cdnUrl":"https://cdn.3dassets.dev/assets/38353/v1/model.glb","downloadUrl":"https://3dassets.dev/download/vertical-farm-and-hydroponics-tower-vertical-farm-and--9431d595","thumbnailUrl":"https://cdn.3dassets.dev/assets/38353/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38353/v1/poster.webp","blurhash":"UCDv$M%L00RRJMWAaQah00RQ.7WA?1s=Suk9","category":{"slug":"nature","title":"Nature & Landscape"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"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":17276,"triangles":360,"vertices":744,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.2199999988079071,-0.000003203935483486048,-0.2199999988079071],"max":[0.2199999988079071,0.2714290439557983,0.2199999988079071]},"sizeMeters":[0.44,0.271,0.44],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T14:35:59.516Z","updatedAt":"2026-09-12T14:35:59.643Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38353/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LeafyCropClusterPakChoiVerticalFarmAndHydroponicsTower(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38353/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38353/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38353/v1/model.glb\" alt=\"Leafy crop cluster, pak choi (Vertical Farm and Hydroponics Tower)\" 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/38353/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/38353/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38354","slug":"vertical-farm-and-hydroponics-tower-vertical-farm-and--89a178a3","title":"Leafy crop cluster, kale (Vertical Farm and Hydroponics Tower)","summary":"Four heads of kale in the same carry tray: long narrow deep green blades on a tall open plant, the darkest of the three crop shapes in the pack.","description":"Four heads of kale in the same carry tray: long narrow deep green blades on a tall open plant, the darkest of the three crop shapes in the pack. Overall 0.46 by 0.29 by 0.48 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data. Original CC0 geometry: no grower, seed house, equipment maker, lighting brand or retailer is named or depicted anywhere, and every screen, fascia, crate and label face is blank.","status":"published","url":"https://3dassets.dev/assets/vertical-farm-and-hydroponics-tower-vertical-farm-and--89a178a3","cdnUrl":"https://cdn.3dassets.dev/assets/38354/v1/model.glb","downloadUrl":"https://3dassets.dev/download/vertical-farm-and-hydroponics-tower-vertical-farm-and--89a178a3","thumbnailUrl":"https://cdn.3dassets.dev/assets/38354/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38354/v1/poster.webp","blurhash":"UBBzwU%g00ofFoR%rxtR00My%yRj}xs;J4Rj","category":{"slug":"nature","title":"Nature & Landscape"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"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":16772,"triangles":360,"vertices":744,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.2199999988079071,-0.000003203935483486048,-0.24516351521015167],"max":[0.23939172448134782,0.2860634892477016,0.23204074800014496]},"sizeMeters":[0.459,0.286,0.477],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T14:36:01.999Z","updatedAt":"2026-09-12T14:36:02.126Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38354/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LeafyCropClusterKaleVerticalFarmAndHydroponicsTower(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38354/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38354/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38354/v1/model.glb\" alt=\"Leafy crop cluster, kale (Vertical Farm and Hydroponics Tower)\" 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/38354/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/38354/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38356","slug":"vertical-farm-and-hydroponics-tower-vertical-farm-and--6c743416","title":"Herb tray (Vertical Farm and Hydroponics Tower)","summary":"A 900 mm by 500 mm herb tray of twenty four potted herbs on their pitch, each a tight deep green plant in its own pot, as a farm grows the high value line beside the leaf crop.","description":"A 900 mm by 500 mm herb tray of twenty four potted herbs on their pitch, each a tight deep green plant in its own pot, as a farm grows the high value line beside the leaf crop. Overall 0.90 by 0.26 by 0.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 tray's footprint. Static geometry; no rig, collision or navigation data. Original CC0 geometry: no grower, seed house, equipment maker, lighting brand or retailer is named or depicted anywhere, and every screen, fascia, crate and label face is blank.","status":"published","url":"https://3dassets.dev/assets/vertical-farm-and-hydroponics-tower-vertical-farm-and--6c743416","cdnUrl":"https://cdn.3dassets.dev/assets/38356/v1/model.glb","downloadUrl":"https://3dassets.dev/download/vertical-farm-and-hydroponics-tower-vertical-farm-and--6c743416","thumbnailUrl":"https://cdn.3dassets.dev/assets/38356/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38356/v1/poster.webp","blurhash":"U6AUEO%f00NFck.7rxD%00Nr?[a3zO8{Jz%M","category":{"slug":"nature","title":"Nature & Landscape"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"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":102756,"triangles":2532,"vertices":5279,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.44999998807907104,0.000009616310462506883,-0.25002898596049583],"max":[0.44999998807907104,0.26207294387042945,0.25002898596049583]},"sizeMeters":[0.9,0.262,0.5],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T14:36:02.152Z","updatedAt":"2026-09-12T14:36:02.280Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38356/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HerbTrayVerticalFarmAndHydroponicsTower(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38356/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38356/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38356/v1/model.glb\" alt=\"Herb tray (Vertical Farm and Hydroponics Tower)\" 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/38356/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/38356/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38355","slug":"vertical-farm-and-hydroponics-tower-vertical-farm-and--6c81fef7","title":"Strawberry growing tower (Vertical Farm and Hydroponics Tower)","summary":"A 2 m vertical strawberry tower: stacked white planting pots on a central column with the plants set out round each stage, fruit hanging over the pot lips, a drip line down the column and a catch tray at the foot.","description":"A 2 m vertical strawberry tower: stacked white planting pots on a central column with the plants set out round each stage, fruit hanging over the pot lips, a drip line down the column and a catch tray at the foot. Overall 0.68 by 2.04 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 catch tray; the tower stands free and needs no fixing. The drip line, the solution in the catch tray and the fruit are solid geometry and do not move. Static geometry; no rig, collision or navigation data. Original CC0 geometry: no grower, seed house, equipment maker, lighting brand or retailer is named or depicted anywhere, and every screen, fascia, crate and label face is blank.","status":"published","url":"https://3dassets.dev/assets/vertical-farm-and-hydroponics-tower-vertical-farm-and--6c81fef7","cdnUrl":"https://cdn.3dassets.dev/assets/38355/v1/model.glb","downloadUrl":"https://3dassets.dev/download/vertical-farm-and-hydroponics-tower-vertical-farm-and--6c81fef7","thumbnailUrl":"https://cdn.3dassets.dev/assets/38355/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38355/v1/poster.webp","blurhash":"U5ATo_%M008{_2ah9Goe00Rj~q%La$f#awj1","category":{"slug":"nature","title":"Nature & Landscape"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"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":95992,"triangles":2232,"vertices":4769,"meshes":8,"materials":8,"textures":0,"animations":[],"boundingBox":{"min":[-0.3400000035762787,0.000008393905002512803,-0.3400000035762787],"max":[0.3400000035762787,2.0399999618530273,0.3400000035762787]},"sizeMeters":[0.68,2.04,0.68],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T14:36:02.169Z","updatedAt":"2026-09-12T14:36:02.290Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38355/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function StrawberryGrowingTowerVerticalFarmAndHydroponicsTower(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38355/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38355/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38355/v1/model.glb\" alt=\"Strawberry growing tower (Vertical Farm and Hydroponics Tower)\" 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/38355/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/38355/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38357","slug":"vertical-farm-and-hydroponics-tower-vertical-farm-and--9742a251","title":"Harvest crate (Vertical Farm and Hydroponics Tower)","summary":"A single vented harvest crate 600 by 400 by 290 mm with moulded hand holds and a stacking rim, filled with cut lettuce. The crate face is blank: no grower, packer or retailer mark anywhere.","description":"A single vented harvest crate 600 by 400 by 290 mm with moulded hand holds and a stacking rim, filled with cut lettuce. The crate face is blank: no grower, packer or retailer mark anywhere. Overall 0.60 by 0.28 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 crate's footprint; crates stack on 290 mm centres. Static geometry; no rig, collision or navigation data. Original CC0 geometry: no grower, seed house, equipment maker, lighting brand or retailer is named or depicted anywhere, and every screen, fascia, crate and label face is blank.","status":"published","url":"https://3dassets.dev/assets/vertical-farm-and-hydroponics-tower-vertical-farm-and--9742a251","cdnUrl":"https://cdn.3dassets.dev/assets/38357/v1/model.glb","downloadUrl":"https://3dassets.dev/download/vertical-farm-and-hydroponics-tower-vertical-farm-and--9742a251","thumbnailUrl":"https://cdn.3dassets.dev/assets/38357/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38357/v1/poster.webp","blurhash":"U8IOkN~q00xv?b?bogM{00D%NEIUMya#In9E","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"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":29036,"triangles":660,"vertices":1372,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.30000001192092896,0.000011060476597768432,-0.21498398105438662],"max":[0.30000001192092896,0.2749889454838667,0.2049248438206515]},"sizeMeters":[0.6,0.275,0.42],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T14:36:02.526Z","updatedAt":"2026-09-12T14:36:02.629Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38357/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HarvestCrateVerticalFarmAndHydroponicsTower(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38357/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38357/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38357/v1/model.glb\" alt=\"Harvest crate (Vertical Farm and Hydroponics Tower)\" 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/38357/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/38357/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38358","slug":"vertical-farm-and-hydroponics-tower-vertical-farm-and--4ee6be5e","title":"Harvest crate, empty (Vertical Farm and Hydroponics Tower)","summary":"The same vented harvest crate washed and empty, ready to go back to the line. Blank faces, stacking rim, moulded hand holds.","description":"The same vented harvest crate washed and empty, ready to go back to the line. Blank faces, stacking rim, moulded hand holds. Overall 0.60 by 0.28 by 0.41 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data. Original CC0 geometry: no grower, seed house, equipment maker, lighting brand or retailer is named or depicted anywhere, and every screen, fascia, crate and label face is blank.","status":"published","url":"https://3dassets.dev/assets/vertical-farm-and-hydroponics-tower-vertical-farm-and--4ee6be5e","cdnUrl":"https://cdn.3dassets.dev/assets/38358/v1/model.glb","downloadUrl":"https://3dassets.dev/download/vertical-farm-and-hydroponics-tower-vertical-farm-and--4ee6be5e","thumbnailUrl":"https://cdn.3dassets.dev/assets/38358/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38358/v1/poster.webp","blurhash":"U9Ihpl~q00tR?b-;ofM{00D%bHIUIojtM{9F","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"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":5888,"triangles":84,"vertices":196,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.30000001192092896,0.000011060476597768432,-0.21498398105438662],"max":[0.30000001192092896,0.2749889454838667,0.20001221535156147]},"sizeMeters":[0.6,0.275,0.415],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T14:36:04.834Z","updatedAt":"2026-09-12T14:36:04.942Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38358/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HarvestCrateEmptyVerticalFarmAndHydroponicsTower(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38358/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38358/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38358/v1/model.glb\" alt=\"Harvest crate, empty (Vertical Farm and Hydroponics Tower)\" 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/38358/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/38358/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38359","slug":"vertical-farm-and-hydroponics-tower-vertical-farm-and--85dadfbd","title":"Harvest crate stack (Vertical Farm and Hydroponics Tower)","summary":"Seven harvest crates staged between cuts: five on a low dolly, cropped at the bottom and empty above, with a pair more stood on the floor alongside.","description":"Seven harvest crates staged between cuts: five on a low dolly, cropped at the bottom and empty above, with a pair more stood on the floor alongside. Overall 1.26 by 1.53 by 0.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 dolly's footprint. Static geometry; no rig, collision or navigation data. Original CC0 geometry: no grower, seed house, equipment maker, lighting brand or retailer is named or depicted anywhere, and every screen, fascia, crate and label face is blank.","status":"published","url":"https://3dassets.dev/assets/vertical-farm-and-hydroponics-tower-vertical-farm-and--85dadfbd","cdnUrl":"https://cdn.3dassets.dev/assets/38359/v1/model.glb","downloadUrl":"https://3dassets.dev/download/vertical-farm-and-hydroponics-tower-vertical-farm-and--85dadfbd","thumbnailUrl":"https://cdn.3dassets.dev/assets/38359/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38359/v1/poster.webp","blurhash":"UEGSDh~q0000WA_3t7004nD%xu%M?bNGIUof","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"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":77308,"triangles":1808,"vertices":3900,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.3399929683432099,0,-0.23998725477033173],"max":[0.920004032822143,1.534999966621399,0.26381368747769296]},"sizeMeters":[1.26,1.535,0.504],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T14:36:05.109Z","updatedAt":"2026-09-12T14:36:05.237Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38359/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HarvestCrateStackVerticalFarmAndHydroponicsTower(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38359/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38359/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38359/v1/model.glb\" alt=\"Harvest crate stack (Vertical Farm and Hydroponics Tower)\" 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/38359/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/38359/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38360","slug":"vertical-farm-and-hydroponics-tower-vertical-farm-and--b817fa44","title":"Nutrient tote stack (Vertical Farm and Hydroponics Tower)","summary":"Two blue 1,000 litre intermediate bulk containers in their galvanised cages on pallets, stacked one on the other, with the outlet valve and a blank label panel on the near face.","description":"Two blue 1,000 litre intermediate bulk containers in their galvanised cages on pallets, stacked one on the other, with the outlet valve and a blank label panel on the near face. Overall 1.20 by 2.28 by 0.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 lower pallet's footprint. The solution inside, the outlet valve and the cage strapping are solid and do not move. Static geometry; no rig, collision or navigation data. Original CC0 geometry: no grower, seed house, equipment maker, lighting brand or retailer is named or depicted anywhere, and every screen, fascia, crate and label face is blank.","status":"published","url":"https://3dassets.dev/assets/vertical-farm-and-hydroponics-tower-vertical-farm-and--b817fa44","cdnUrl":"https://cdn.3dassets.dev/assets/38360/v1/model.glb","downloadUrl":"https://3dassets.dev/download/vertical-farm-and-hydroponics-tower-vertical-farm-and--b817fa44","thumbnailUrl":"https://cdn.3dassets.dev/assets/38360/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38360/v1/poster.webp","blurhash":"U8A1S6,E005Q~qfl4nV?mjNbOu%1-;kDITV?","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"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":31792,"triangles":648,"vertices":1492,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.5999987658486031,0,-0.3999731347715647],"max":[0.5999987658486031,2.2799999713897705,0.5149763432829716]},"sizeMeters":[1.2,2.28,0.915],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T14:36:05.188Z","updatedAt":"2026-09-12T14:36:05.289Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38360/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function NutrientToteStackVerticalFarmAndHydroponicsTower(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38360/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38360/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38360/v1/model.glb\" alt=\"Nutrient tote stack (Vertical Farm and Hydroponics Tower)\" 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/38360/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/38360/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38361","slug":"vertical-farm-and-hydroponics-tower-vertical-farm-and--c6f8f68b","title":"Transplanting bench (Vertical Farm and Hydroponics Tower)","summary":"A 2 m stainless transplanting bench: a plug tray and a part planted grow tray on the top, a rack of spare trays under it, a waste chute at one end and a set of dibbers and a spacing board on the upstand.","description":"A 2 m stainless transplanting bench: a plug tray and a part planted grow tray on the top, a rack of spare trays under it, a waste chute at one end and a set of dibbers and a spacing board on the upstand. Overall 2.00 by 1.17 by 0.86 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 bench footprint and the worktop is at 0.9 m. Static geometry; no rig, collision or navigation data. Original CC0 geometry: no grower, seed house, equipment maker, lighting brand or retailer is named or depicted anywhere, and every screen, fascia, crate and label face is blank.","status":"published","url":"https://3dassets.dev/assets/vertical-farm-and-hydroponics-tower-vertical-farm-and--c6f8f68b","cdnUrl":"https://cdn.3dassets.dev/assets/38361/v1/model.glb","downloadUrl":"https://3dassets.dev/download/vertical-farm-and-hydroponics-tower-vertical-farm-and--c6f8f68b","thumbnailUrl":"https://cdn.3dassets.dev/assets/38361/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38361/v1/poster.webp","blurhash":"UBCjFQWl4nxu_M?aM_M{00%Mx]My9GMyt6M|","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"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":233304,"triangles":5836,"vertices":12141,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-1,-0.00005629520542571598,-0.45001403866668577],"max":[1,1.1649876827977854,0.40995009746863514]},"sizeMeters":[2,1.165,0.86],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T14:36:05.353Z","updatedAt":"2026-09-12T14:36:05.456Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38361/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TransplantingBenchVerticalFarmAndHydroponicsTower(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38361/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38361/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38361/v1/model.glb\" alt=\"Transplanting bench (Vertical Farm and Hydroponics Tower)\" 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/38361/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/38361/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38362","slug":"vertical-farm-and-hydroponics-tower-vertical-farm-and--0a1e5cff","title":"Harvest bench with conveyor stub (Vertical Farm and Hydroponics Tower)","summary":"A 2 m harvest bench with a short gravity roller stub running off one end at deck height: a cut tray on the top, a crate catching under the rollers, and the rollers themselves turn.","description":"A 2 m harvest bench with a short gravity roller stub running off one end at deck height: a cut tray on the top, a crate catching under the rollers, and the rollers themselves turn. Overall 2.69 by 1.08 by 0.80 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0. The bench, the crate and the cut crop are solid; only the four conveyor rollers turn. Rigid node-transform clips: roller-spin. No skinning. No collision or navigation data. Original CC0 geometry: no grower, seed house, equipment maker, lighting brand or retailer is named or depicted anywhere, and every screen, fascia, crate and label face is blank.","status":"published","url":"https://3dassets.dev/assets/vertical-farm-and-hydroponics-tower-vertical-farm-and--0a1e5cff","cdnUrl":"https://cdn.3dassets.dev/assets/38362/v1/model.glb","downloadUrl":"https://3dassets.dev/download/vertical-farm-and-hydroponics-tower-vertical-farm-and--0a1e5cff","thumbnailUrl":"https://cdn.3dassets.dev/assets/38362/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38362/v1/poster.webp","blurhash":"UBC%KnNX00xc%f~pM|8{00t7%gWCDi9Fx[x[","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"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":88688,"triangles":2212,"vertices":4603,"meshes":8,"materials":4,"textures":0,"animations":["roller-spin"],"boundingBox":{"min":[-1,-0.00003075479795350278,-0.40000687517339656],"max":[1.690000057220459,1.0776061186068189,0.40000687517339656]},"sizeMeters":[2.69,1.078,0.8],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T14:36:07.735Z","updatedAt":"2026-09-12T14:36:07.841Z","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/38362/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 HarvestBenchWithConveyorStubVerticalFarmAndHydroponicsTower(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/38362/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/38362/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38362/v1/model.glb\" alt=\"Harvest bench with conveyor stub (Vertical Farm and Hydroponics Tower)\" 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/38362/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/38362/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"38365","slug":"vertical-farm-and-hydroponics-tower-vertical-farm-and--eb5ec603","title":"Wash and spin station (Vertical Farm and Hydroponics Tower)","summary":"A 2 m wash line: a deep stainless wash sink with the water modelled, a swan neck tap, and a spin dryer alongside whose lid lifts and whose perforated basket spins, with a drained crate on the drainer.","description":"A 2 m wash line: a deep stainless wash sink with the water modelled, a swan neck tap, and a spin dryer alongside whose lid lifts and whose perforated basket spins, with a drained crate on the drainer. Overall 2.00 by 1.52 by 0.80 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0. The water in the sink, the tap and the drain plumbing are modelled solid; only the spinner lid and its basket move. Rigid node-transform clips: open, close and spin. No skinning. No collision or navigation data. Original CC0 geometry: no grower, seed house, equipment maker, lighting brand or retailer is named or depicted anywhere, and every screen, fascia, crate and label face is blank.","status":"published","url":"https://3dassets.dev/assets/vertical-farm-and-hydroponics-tower-vertical-farm-and--eb5ec603","cdnUrl":"https://cdn.3dassets.dev/assets/38365/v1/model.glb","downloadUrl":"https://3dassets.dev/download/vertical-farm-and-hydroponics-tower-vertical-farm-and--eb5ec603","thumbnailUrl":"https://cdn.3dassets.dev/assets/38365/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38365/v1/poster.webp","blurhash":"UBCP|xM{00?b%Mt7M{Rj00of~qM{9ZaxxuWX","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"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":28020,"triangles":528,"vertices":1206,"meshes":9,"materials":5,"textures":0,"animations":["open","close","spin"],"boundingBox":{"min":[-1,-0.000037896024495776004,-0.3999450666829432],"max":[1,1.51999786054338,0.3999450666829432]},"sizeMeters":[2,1.52,0.8],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T14:36:08.255Z","updatedAt":"2026-09-12T14:36:08.376Z","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/38365/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 WashAndSpinStationVerticalFarmAndHydroponicsTower(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/38365/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/38365/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38365/v1/model.glb\" alt=\"Wash and spin station (Vertical Farm and Hydroponics Tower)\" 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/38365/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/38365/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"38363","slug":"vertical-farm-and-hydroponics-tower-vertical-farm-and--cb54725f","title":"Packing bench (Vertical Farm and Hydroponics Tower)","summary":"A 2 m packing bench: a checkweigher with a blank readout, a bagging chute, a roll of film on its spindle, two crates of cut leaf below and a stack of flat packed boxes at the end.","description":"A 2 m packing bench: a checkweigher with a blank readout, a bagging chute, a roll of film on its spindle, two crates of cut leaf below and a stack of flat packed boxes at the end. Overall 2.09 by 1.59 by 0.80 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0. The film roll, the bag chute and the readout are solid and the readout is blank. Static geometry; no rig, collision or navigation data. Original CC0 geometry: no grower, seed house, equipment maker, lighting brand or retailer is named or depicted anywhere, and every screen, fascia, crate and label face is blank.","status":"published","url":"https://3dassets.dev/assets/vertical-farm-and-hydroponics-tower-vertical-farm-and--cb54725f","cdnUrl":"https://cdn.3dassets.dev/assets/38363/v1/model.glb","downloadUrl":"https://3dassets.dev/download/vertical-farm-and-hydroponics-tower-vertical-farm-and--cb54725f","thumbnailUrl":"https://cdn.3dassets.dev/assets/38363/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38363/v1/poster.webp","blurhash":"U8D,AqbI00?bM{a~xut600V@~qM|In%2oe9G","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"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":45236,"triangles":992,"vertices":2152,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-1,-0.00005629520542571598,-0.3999450666829432],"max":[1.090000033378601,1.5900320801795824,0.3999450666829432]},"sizeMeters":[2.09,1.59,0.8],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T14:36:08.004Z","updatedAt":"2026-09-12T14:36:08.108Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38363/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PackingBenchVerticalFarmAndHydroponicsTower(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38363/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38363/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38363/v1/model.glb\" alt=\"Packing bench (Vertical Farm and Hydroponics Tower)\" 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/38363/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/38363/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38364","slug":"vertical-farm-and-hydroponics-tower-vertical-farm-and--4b86ee51","title":"Pallet and stretch wrapper (Vertical Farm and Hydroponics Tower)","summary":"A stretch wrapping station: a plastic pallet of crates standing on a turntable that spins, with the film carriage on its mast alongside and a part wrapped film skirt round the bottom courses.","description":"A stretch wrapping station: a plastic pallet of crates standing on a turntable that spins, with the film carriage on its mast alongside and a part wrapped film skirt round the bottom courses. Overall 2.45 by 2.22 by 1.70 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0. The film on the load and on the carriage is modelled solid, and the carriage does not rise: stretch film is a sheet, which needs a cloth simulation rather than a node transform. Rigid node-transform clips: spin. No skinning. No collision or navigation data. Original CC0 geometry: no grower, seed house, equipment maker, lighting brand or retailer is named or depicted anywhere, and every screen, fascia, crate and label face is blank.","status":"published","url":"https://3dassets.dev/assets/vertical-farm-and-hydroponics-tower-vertical-farm-and--4b86ee51","cdnUrl":"https://cdn.3dassets.dev/assets/38364/v1/model.glb","downloadUrl":"https://3dassets.dev/download/vertical-farm-and-hydroponics-tower-vertical-farm-and--4b86ee51","thumbnailUrl":"https://cdn.3dassets.dev/assets/38364/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38364/v1/poster.webp","blurhash":"UEBNA+IU00-pD$aexvkD00xa_NM{%hozRORP","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"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":82044,"triangles":1820,"vertices":3913,"meshes":11,"materials":7,"textures":0,"animations":["spin"],"boundingBox":{"min":[-0.8500000238418579,0.00003417822240938534,-0.850064105414477],"max":[1.600000023841858,2.2200000286102295,0.850064105414477]},"sizeMeters":[2.45,2.22,1.7],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T14:36:08.245Z","updatedAt":"2026-09-12T14:36:08.369Z","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/38364/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 PalletAndStretchWrapperVerticalFarmAndHydroponicsTower(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/38364/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/38364/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38364/v1/model.glb\" alt=\"Pallet and stretch wrapper (Vertical Farm and Hydroponics Tower)\" 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/38364/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/38364/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"38366","slug":"vertical-farm-and-hydroponics-tower-vertical-farm-and--9d9c89f3","title":"Nutrient dosing skid (Vertical Farm and Hydroponics Tower)","summary":"A skid mounted dosing set: three stock tanks of concentrate and acid on a bunded base frame, four peristaltic dosing pumps whose rotors turn, a mixing manifold with a handwheel valve and a blank control fascia.","description":"A skid mounted dosing set: three stock tanks of concentrate and acid on a bunded base frame, four peristaltic dosing pumps whose rotors turn, a mixing manifold with a handwheel valve and a blank control fascia. Overall 2.00 by 1.18 by 1.09 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0. The concentrate in the tanks, the suction lines, the injection tubing and the fascia display are modelled solid and blank; the pump rotors and the manifold handwheel turn. Rigid node-transform clips: rotor-spin and valve-spin. No skinning. No collision or navigation data. Original CC0 geometry: no grower, seed house, equipment maker, lighting brand or retailer is named or depicted anywhere, and every screen, fascia, crate and label face is blank.","status":"published","url":"https://3dassets.dev/assets/vertical-farm-and-hydroponics-tower-vertical-farm-and--9d9c89f3","cdnUrl":"https://cdn.3dassets.dev/assets/38366/v1/model.glb","downloadUrl":"https://3dassets.dev/download/vertical-farm-and-hydroponics-tower-vertical-farm-and--9d9c89f3","thumbnailUrl":"https://cdn.3dassets.dev/assets/38366/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38366/v1/poster.webp","blurhash":"UAG91=?c00$|0t_2e+9G009IXrM_rlV=~oNM","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"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":42204,"triangles":900,"vertices":2005,"meshes":15,"materials":8,"textures":0,"animations":["rotor-spin","valve-spin"],"boundingBox":{"min":[-1,-0.00003906726840796626,-0.50007629627369],"max":[1,1.1750255346788905,0.5900022772840224]},"sizeMeters":[2,1.175,1.09],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T14:36:10.545Z","updatedAt":"2026-09-12T14:36:10.652Z","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/38366/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 NutrientDosingSkidVerticalFarmAndHydroponicsTower(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/38366/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/38366/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38366/v1/model.glb\" alt=\"Nutrient dosing skid (Vertical Farm and Hydroponics Tower)\" 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/38366/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/38366/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"38367","slug":"vertical-farm-and-hydroponics-tower-vertical-farm-and--570998b9","title":"Nutrient reservoir tank (Vertical Farm and Hydroponics Tower)","summary":"A 2 m by 1.4 m nutrient reservoir: a white tank 1.2 m deep on a bunded plinth with the solution level modelled, an inspection lid that lifts, a sight glass up one end and the suction and return flanges on the near face.","description":"A 2 m by 1.4 m nutrient reservoir: a white tank 1.2 m deep on a bunded plinth with the solution level modelled, an inspection lid that lifts, a sight glass up one end and the suction and return flanges on the near face. Overall 2.20 by 1.89 by 1.61 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0. The solution, the sight glass and the pipe flanges are solid; only the inspection lid lifts. Rigid node-transform clips: open and close. No skinning. No collision or navigation data. Original CC0 geometry: no grower, seed house, equipment maker, lighting brand or retailer is named or depicted anywhere, and every screen, fascia, crate and label face is blank.","status":"published","url":"https://3dassets.dev/assets/vertical-farm-and-hydroponics-tower-vertical-farm-and--570998b9","cdnUrl":"https://cdn.3dassets.dev/assets/38367/v1/model.glb","downloadUrl":"https://3dassets.dev/download/vertical-farm-and-hydroponics-tower-vertical-farm-and--570998b9","thumbnailUrl":"https://cdn.3dassets.dev/assets/38367/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38367/v1/poster.webp","blurhash":"U8G[~F_300IA00kC-nRP00E1%Lxa~p%M-;Rj","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"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":16244,"triangles":252,"vertices":553,"meshes":7,"materials":6,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-1.100000023841858,-0.000023807079476710624,-0.7999817062334506],"max":[1.100000023841858,1.8900138805573619,0.8099610614830092]},"sizeMeters":[2.2,1.89,1.61],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T14:36:10.864Z","updatedAt":"2026-09-12T14:36:10.970Z","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/38367/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 NutrientReservoirTankVerticalFarmAndHydroponicsTower(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/38367/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/38367/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38367/v1/model.glb\" alt=\"Nutrient reservoir tank (Vertical Farm and Hydroponics Tower)\" 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/38367/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/38367/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"38368","slug":"vertical-farm-and-hydroponics-tower-vertical-farm-and--1b234730","title":"Pump and filter set (Vertical Farm and Hydroponics Tower)","summary":"A skid of two centrifugal circulation pumps on their plinth with a duty and standby arrangement, two sand filters on legs beside them, isolation handwheels either side and a pressure gauge board. The pump rotors and the handwheels turn.","description":"A skid of two centrifugal circulation pumps on their plinth with a duty and standby arrangement, two sand filters on legs beside them, isolation handwheels either side and a pressure gauge board. The pump rotors and the handwheels turn. Overall 1.60 by 1.35 by 0.93 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0. The pipework, the gauges and the cable gland boxes are solid; the two rotors and the two handwheels turn. Rigid node-transform clips: rotor-spin and valve-spin. No skinning. No collision or navigation data. Original CC0 geometry: no grower, seed house, equipment maker, lighting brand or retailer is named or depicted anywhere, and every screen, fascia, crate and label face is blank.","status":"published","url":"https://3dassets.dev/assets/vertical-farm-and-hydroponics-tower-vertical-farm-and--1b234730","cdnUrl":"https://cdn.3dassets.dev/assets/38368/v1/model.glb","downloadUrl":"https://3dassets.dev/download/vertical-farm-and-hydroponics-tower-vertical-farm-and--1b234730","thumbnailUrl":"https://cdn.3dassets.dev/assets/38368/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38368/v1/poster.webp","blurhash":"UDFiS.~W00E200%M-;NF0001-=-pbwax-:Rk","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"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":38864,"triangles":864,"vertices":1878,"meshes":11,"materials":7,"textures":0,"animations":["rotor-spin","valve-spin"],"boundingBox":{"min":[-0.800000011920929,0.00003723034694134292,-0.4499649104191022],"max":[0.800000011920929,1.349989934415662,0.4800404291219695]},"sizeMeters":[1.6,1.35,0.93],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T14:36:11.047Z","updatedAt":"2026-09-12T14:36:11.145Z","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/38368/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 PumpAndFilterSetVerticalFarmAndHydroponicsTower(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/38368/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/38368/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38368/v1/model.glb\" alt=\"Pump and filter set (Vertical Farm and Hydroponics Tower)\" 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/38368/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/38368/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"38369","slug":"vertical-farm-and-hydroponics-tower-vertical-farm-and--778d2988","title":"UV steriliser (Vertical Farm and Hydroponics Tower)","summary":"An inline ultraviolet steriliser: a stainless chamber on a wall frame with the lamp end caps, the flow in and out flanges, a blank hour counter box and the ballast enclosure under it.","description":"An inline ultraviolet steriliser: a stainless chamber on a wall frame with the lamp end caps, the flow in and out flanges, a blank hour counter box and the ballast enclosure under it. Overall 0.34 by 1.50 by 0.71 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0. The lamp, the quartz sleeve and the counter display are solid and the display is blank. Static geometry; no rig, collision or navigation data. Original CC0 geometry: no grower, seed house, equipment maker, lighting brand or retailer is named or depicted anywhere, and every screen, fascia, crate and label face is blank.","status":"published","url":"https://3dassets.dev/assets/vertical-farm-and-hydroponics-tower-vertical-farm-and--778d2988","cdnUrl":"https://cdn.3dassets.dev/assets/38369/v1/model.glb","downloadUrl":"https://3dassets.dev/download/vertical-farm-and-hydroponics-tower-vertical-farm-and--778d2988","thumbnailUrl":"https://cdn.3dassets.dev/assets/38369/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38369/v1/poster.webp","blurhash":"U784xoE100~V?bRPIA%M4mxa-=EL9Fxv%MD%","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"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":17048,"triangles":296,"vertices":655,"meshes":6,"materials":6,"textures":0,"animations":[],"boundingBox":{"min":[-0.169972834502839,0,-0.359997887028267],"max":[0.169972834502839,1.5,0.35000078097217974]},"sizeMeters":[0.34,1.5,0.71],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T14:36:10.088Z","updatedAt":"2026-09-12T14:36:10.187Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38369/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function UVSteriliserVerticalFarmAndHydroponicsTower(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38369/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38369/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38369/v1/model.glb\" alt=\"UV steriliser (Vertical Farm and Hydroponics Tower)\" 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/38369/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/38369/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38370","slug":"vertical-farm-and-hydroponics-tower-vertical-farm-and--51e4d868","title":"Reverse osmosis rack (Vertical Farm and Hydroponics Tower)","summary":"A framed reverse osmosis set: six membrane vessels in two banks on a galvanised frame, the high pressure pump at the foot with a turning rotor, a pre filter pair, a handwheel on the concentrate line and a blank instrument panel.","description":"A framed reverse osmosis set: six membrane vessels in two banks on a galvanised frame, the high pressure pump at the foot with a turning rotor, a pre filter pair, a handwheel on the concentrate line and a blank instrument panel. Overall 1.74 by 2.00 by 0.71 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0. The membranes, the hoses, the gauges and the instrument panel are solid and blank; the pump rotor and the concentrate handwheel turn. Rigid node-transform clips: rotor-spin and valve-spin. No skinning. No collision or navigation data. Original CC0 geometry: no grower, seed house, equipment maker, lighting brand or retailer is named or depicted anywhere, and every screen, fascia, crate and label face is blank.","status":"published","url":"https://3dassets.dev/assets/vertical-farm-and-hydroponics-tower-vertical-farm-and--51e4d868","cdnUrl":"https://cdn.3dassets.dev/assets/38370/v1/model.glb","downloadUrl":"https://3dassets.dev/download/vertical-farm-and-hydroponics-tower-vertical-farm-and--51e4d868","thumbnailUrl":"https://cdn.3dassets.dev/assets/38370/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38370/v1/poster.webp","blurhash":"UFCj9F?b00V@~qxu9GIU9EM{o#RkD%R+%2t6","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"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":72184,"triangles":1608,"vertices":3437,"meshes":8,"materials":6,"textures":0,"animations":["rotor-spin","valve-spin"],"boundingBox":{"min":[-0.8700000047683716,0,-0.37399485589227005],"max":[0.8700000047683716,2,0.3350016785180212]},"sizeMeters":[1.74,2,0.709],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T14:36:12.978Z","updatedAt":"2026-09-12T14:36:13.083Z","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/38370/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 ReverseOsmosisRackVerticalFarmAndHydroponicsTower(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/38370/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/38370/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38370/v1/model.glb\" alt=\"Reverse osmosis rack (Vertical Farm and Hydroponics Tower)\" 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/38370/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/38370/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"38371","slug":"vertical-farm-and-hydroponics-tower-vertical-farm-and--bf7e583a","title":"Service pipework run, 2 m (Vertical Farm and Hydroponics Tower)","summary":"A 2 m ported service run: flow and return nutrient mains on wall brackets at 2.2 m, two drop legs to floor plates with a handwheel valve on each and a blank labelled band at every pipe end. The handwheels turn.","description":"A 2 m ported service run: flow and return nutrient mains on wall brackets at 2.2 m, two drop legs to floor plates with a handwheel valve on each and a blank labelled band at every pipe end. The handwheels turn. Overall 2.00 by 2.36 by 0.40 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0. The origin is on the floor under the centre of the run, against the wall face it brackets to, so a run lays out on the 2 m wall module. The pipe, the brackets, the labels and the flanges are solid; only the two handwheels turn. Rigid node-transform clips: valve-spin. No skinning. No collision or navigation data. Original CC0 geometry: no grower, seed house, equipment maker, lighting brand or retailer is named or depicted anywhere, and every screen, fascia, crate and label face is blank.","status":"published","url":"https://3dassets.dev/assets/vertical-farm-and-hydroponics-tower-vertical-farm-and--bf7e583a","cdnUrl":"https://cdn.3dassets.dev/assets/38371/v1/model.glb","downloadUrl":"https://3dassets.dev/download/vertical-farm-and-hydroponics-tower-vertical-farm-and--bf7e583a","thumbnailUrl":"https://cdn.3dassets.dev/assets/38371/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38371/v1/poster.webp","blurhash":"U86uL?W900x_?^tSMcMw%LxvRRI9RRxut6IU","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"slug":"animated","title":"Animated"},{"slug":"interior","title":"Interior"}],"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":19504,"triangles":416,"vertices":932,"meshes":6,"materials":5,"textures":0,"animations":["valve-spin"],"boundingBox":{"min":[-0.9999505352504806,0,-0.18993773543941467],"max":[0.9999505352504806,2.359999895095825,0.20993773126708953]},"sizeMeters":[2,2.36,0.4],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T14:36:12.434Z","updatedAt":"2026-09-12T14:36:12.538Z","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/38371/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 ServicePipeworkRun2MVerticalFarmAndHydroponicsTower(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/38371/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/38371/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38371/v1/model.glb\" alt=\"Service pipework run, 2 m (Vertical Farm and Hydroponics Tower)\" 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/38371/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/38371/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"38372","slug":"vertical-farm-and-hydroponics-tower-vertical-farm-and--42076014","title":"Grow room dehumidifier (Vertical Farm and Hydroponics Tower)","summary":"A floor standing grow room dehumidifier on castors: a louvred discharge with a fan behind it that spins, a condensate drawer that pulls out at the foot, a blank humidity readout and the drain hose spigot at the back.","description":"A floor standing grow room dehumidifier on castors: a louvred discharge with a fan behind it that spins, a condensate drawer that pulls out at the foot, a blank humidity readout and the drain hose spigot at the back. Overall 0.72 by 1.52 by 0.69 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0. The drain hose, the coil block and the readout are solid and blank; the fan spins and the condensate drawer pulls out. Rigid node-transform clips: open, close and fan-spin. No skinning. No collision or navigation data. Original CC0 geometry: no grower, seed house, equipment maker, lighting brand or retailer is named or depicted anywhere, and every screen, fascia, crate and label face is blank.","status":"published","url":"https://3dassets.dev/assets/vertical-farm-and-hydroponics-tower-vertical-farm-and--42076014","cdnUrl":"https://cdn.3dassets.dev/assets/38372/v1/model.glb","downloadUrl":"https://3dassets.dev/download/vertical-farm-and-hydroponics-tower-vertical-farm-and--42076014","thumbnailUrl":"https://cdn.3dassets.dev/assets/38372/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38372/v1/poster.webp","blurhash":"UDEV+;t700oe~qof9FWB00fk-;Rj-;t7D%IU","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"interior","title":"Interior"}],"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":24188,"triangles":416,"vertices":934,"meshes":8,"materials":5,"textures":0,"animations":["open","close","fan-spin"],"boundingBox":{"min":[-0.3600054181836859,0,-0.38999998569488525],"max":[0.3600054181836859,1.524999976158142,0.30250767526897043]},"sizeMeters":[0.72,1.525,0.693],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T14:36:13.670Z","updatedAt":"2026-09-12T14:36:13.767Z","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/38372/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 GrowRoomDehumidifierVerticalFarmAndHydroponicsTower(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/38372/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/38372/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38372/v1/model.glb\" alt=\"Grow room dehumidifier (Vertical Farm and Hydroponics Tower)\" 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/38372/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/38372/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"38373","slug":"vertical-farm-and-hydroponics-tower-vertical-farm-and--e56c2636","title":"Air handling unit (Vertical Farm and Hydroponics Tower)","summary":"A 2.4 m packaged air handling unit on a plinth: filter, coil and fan sections, a hinged access door with a sight port, the supply fan behind the guard turning, and spigots on both ends for the duct run.","description":"A 2.4 m packaged air handling unit on a plinth: filter, coil and fan sections, a hinged access door with a sight port, the supply fan behind the guard turning, and spigots on both ends for the duct run. Overall 2.69 by 2.01 by 1.34 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0. The coils, the filters behind the door, the cabling and the flexible connections are modelled solid; the fan spins and the access door opens. Rigid node-transform clips: open, close and fan-spin. No skinning. No collision or navigation data. Original CC0 geometry: no grower, seed house, equipment maker, lighting brand or retailer is named or depicted anywhere, and every screen, fascia, crate and label face is blank.","status":"published","url":"https://3dassets.dev/assets/vertical-farm-and-hydroponics-tower-vertical-farm-and--e56c2636","cdnUrl":"https://cdn.3dassets.dev/assets/38373/v1/model.glb","downloadUrl":"https://3dassets.dev/download/vertical-farm-and-hydroponics-tower-vertical-farm-and--e56c2636","thumbnailUrl":"https://cdn.3dassets.dev/assets/38373/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38373/v1/poster.webp","blurhash":"U9G[{60000V[be-;M_Dj00?bxt%M~ptRIUIU","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"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":22472,"triangles":364,"vertices":810,"meshes":10,"materials":5,"textures":0,"animations":["open","close","fan-spin"],"boundingBox":{"min":[-1.399999976158142,0.00007706221665912394,-0.6499679555650502],"max":[1.2899999618530273,2.0099715884975815,0.6949964769297767]},"sizeMeters":[2.69,2.01,1.345],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T14:36:13.786Z","updatedAt":"2026-09-12T14:36:13.996Z","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/38373/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 AirHandlingUnitVerticalFarmAndHydroponicsTower(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/38373/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/38373/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38373/v1/model.glb\" alt=\"Air handling unit (Vertical Farm and Hydroponics Tower)\" 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/38373/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/38373/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"38374","slug":"vertical-farm-and-hydroponics-tower-vertical-farm-and--5c7e6ef8","title":"Supply duct run, 2 m (Vertical Farm and Hydroponics Tower)","summary":"A 2 m ported supply duct on wall brackets at 2.6 m: a rectangular galvanised section with its flanged joints, a takeoff spigot and a four way diffuser hanging under it.","description":"A 2 m ported supply duct on wall brackets at 2.6 m: a rectangular galvanised section with its flanged joints, a takeoff spigot and a four way diffuser hanging under it. Overall 2.00 by 0.75 by 0.50 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, with a free origin as described below. A duct is hung, so the origin is the centre of the section on its own axis, against the wall face its brackets fix to; place a run at the height it flies at, 2.6 m in the starter scene. Static geometry; no rig, collision or navigation data. Original CC0 geometry: no grower, seed house, equipment maker, lighting brand or retailer is named or depicted anywhere, and every screen, fascia, crate and label face is blank.","status":"published","url":"https://3dassets.dev/assets/vertical-farm-and-hydroponics-tower-vertical-farm-and--5c7e6ef8","cdnUrl":"https://cdn.3dassets.dev/assets/38374/v1/model.glb","downloadUrl":"https://3dassets.dev/download/vertical-farm-and-hydroponics-tower-vertical-farm-and--5c7e6ef8","thumbnailUrl":"https://cdn.3dassets.dev/assets/38374/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38374/v1/poster.webp","blurhash":"U7A,%u-;00D%-=?b%2oe00%N~qoKM_IARkIU","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"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":8376,"triangles":156,"vertices":364,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-1,-0.4000040398417283,-0.22999466084816758],"max":[1,0.3499786368414812,0.2699946674046785]},"sizeMeters":[2,0.75,0.5],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T14:36:15.336Z","updatedAt":"2026-09-12T14:36:15.632Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38374/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SupplyDuctRun2MVerticalFarmAndHydroponicsTower(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38374/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38374/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38374/v1/model.glb\" alt=\"Supply duct run, 2 m (Vertical Farm and Hydroponics Tower)\" 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/38374/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/38374/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38375","slug":"vertical-farm-and-hydroponics-tower-vertical-farm-and--c375a975","title":"Carbon dioxide cylinder rack (Vertical Farm and Hydroponics Tower)","summary":"A six cylinder carbon dioxide rack against the wall: cylinders in two rows behind a restraint bar, a two stage regulator manifold with its blank gauges, a handwheel isolation valve and a warning plate left blank.","description":"A six cylinder carbon dioxide rack against the wall: cylinders in two rows behind a restraint bar, a two stage regulator manifold with its blank gauges, a handwheel isolation valve and a warning plate left blank. Overall 2.00 by 1.98 by 0.60 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0. The cylinders, the pigtail hoses, the gauges and the plate are solid and blank; only the isolation handwheel turns. Rigid node-transform clips: valve-spin. No skinning. No collision or navigation data. Original CC0 geometry: no grower, seed house, equipment maker, lighting brand or retailer is named or depicted anywhere, and every screen, fascia, crate and label face is blank.","status":"published","url":"https://3dassets.dev/assets/vertical-farm-and-hydroponics-tower-vertical-farm-and--c375a975","cdnUrl":"https://cdn.3dassets.dev/assets/38375/v1/model.glb","downloadUrl":"https://3dassets.dev/download/vertical-farm-and-hydroponics-tower-vertical-farm-and--c375a975","thumbnailUrl":"https://cdn.3dassets.dev/assets/38375/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38375/v1/poster.webp","blurhash":"U39j+SXn00v#Xo.8nh8w00?v~q4TNHxv-=D$","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"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":51856,"triangles":1072,"vertices":2418,"meshes":7,"materials":7,"textures":0,"animations":["valve-spin"],"boundingBox":{"min":[-0.8500000238418579,0.000013722811182725891,-0.3000045861913232],"max":[1.149999976158142,1.9800147047469814,0.3000045861913232]},"sizeMeters":[2,1.98,0.6],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T14:36:15.773Z","updatedAt":"2026-09-12T14:36:15.881Z","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/38375/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 CarbonDioxideCylinderRackVerticalFarmAndHydroponicsTower(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/38375/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/38375/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38375/v1/model.glb\" alt=\"Carbon dioxide cylinder rack (Vertical Farm and Hydroponics Tower)\" 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/38375/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/38375/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"38376","slug":"vertical-farm-and-hydroponics-tower-vertical-farm-and--a615f086","title":"Control cabinet (Vertical Farm and Hydroponics Tower)","summary":"A 1.2 m plant control cabinet on a plinth: two hinged doors, a blank touch screen and a row of unlabelled indicator lamps on the right door, gland plate at the foot and a beacon on top. The doors open on their hinges.","description":"A 1.2 m plant control cabinet on a plinth: two hinged doors, a blank touch screen and a row of unlabelled indicator lamps on the right door, gland plate at the foot and a beacon on top. The doors open on their hinges. Overall 1.24 by 2.19 by 0.51 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0. The cabling, the gland plate and the beacon are solid and every screen face is blank; the two doors open. Rigid node-transform clips: open and close. No skinning. No collision or navigation data. Original CC0 geometry: no grower, seed house, equipment maker, lighting brand or retailer is named or depicted anywhere, and every screen, fascia, crate and label face is blank.","status":"published","url":"https://3dassets.dev/assets/vertical-farm-and-hydroponics-tower-vertical-farm-and--a615f086","cdnUrl":"https://cdn.3dassets.dev/assets/38376/v1/model.glb","downloadUrl":"https://3dassets.dev/download/vertical-farm-and-hydroponics-tower-vertical-farm-and--a615f086","thumbnailUrl":"https://cdn.3dassets.dev/assets/38376/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38376/v1/poster.webp","blurhash":"U9EMOLW;00RP%NxuInIA00of~qV@-;j[D%WB","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"interior","title":"Interior"}],"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":19016,"triangles":284,"vertices":658,"meshes":12,"materials":6,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.6200411745243652,0,-0.24996215993205445],"max":[0.6200411745243652,2.1849999874830246,0.26000458228534146]},"sizeMeters":[1.24,2.185,0.51],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T14:36:16.406Z","updatedAt":"2026-09-12T14:36:16.518Z","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/38376/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 ControlCabinetVerticalFarmAndHydroponicsTower(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/38376/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/38376/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38376/v1/model.glb\" alt=\"Control cabinet (Vertical Farm and Hydroponics Tower)\" 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/38376/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/38376/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"38377","slug":"vertical-farm-and-hydroponics-tower-vertical-farm-and--0fda2c26","title":"Environment sensor pole (Vertical Farm and Hydroponics Tower)","summary":"A 2.4 m sensor pole on a weighted foot: a radiation shielded temperature and humidity head, a carbon dioxide head, a light sensor on its arm and a junction box with the cable entries, all blank.","description":"A 2.4 m sensor pole on a weighted foot: a radiation shielded temperature and humidity head, a carbon dioxide head, a light sensor on its arm and a junction box with the cable entries, all blank. Overall 0.48 by 2.40 by 0.44 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0. The cabling is modelled solid and the pole carries no moving part. Static geometry; no rig, collision or navigation data. Original CC0 geometry: no grower, seed house, equipment maker, lighting brand or retailer is named or depicted anywhere, and every screen, fascia, crate and label face is blank.","status":"published","url":"https://3dassets.dev/assets/vertical-farm-and-hydroponics-tower-vertical-farm-and--0fda2c26","cdnUrl":"https://cdn.3dassets.dev/assets/38377/v1/model.glb","downloadUrl":"https://3dassets.dev/download/vertical-farm-and-hydroponics-tower-vertical-farm-and--0fda2c26","thumbnailUrl":"https://cdn.3dassets.dev/assets/38377/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38377/v1/poster.webp","blurhash":"U26t]:%M004ns-xuR+9Z0Ka}_3n%aKIUg3_3","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"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":20788,"triangles":400,"vertices":901,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.21998580212551894,0,-0.21998580212551894],"max":[0.26499998569488525,2.4000000953674316,0.21998580212551894]},"sizeMeters":[0.485,2.4,0.44],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T14:36:16.682Z","updatedAt":"2026-09-12T14:36:16.799Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38377/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function EnvironmentSensorPoleVerticalFarmAndHydroponicsTower(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38377/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38377/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38377/v1/model.glb\" alt=\"Environment sensor pole (Vertical Farm and Hydroponics Tower)\" 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/38377/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/38377/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38378","slug":"vertical-farm-and-hydroponics-tower-vertical-farm-and--9791e4bc","title":"Monitoring tablet on a stand (Vertical Farm and Hydroponics Tower)","summary":"A floor stand with a tablet at chest height on a tilting bracket, its screen blank and dark, a cable clip down the column and a weighted disc foot, as a grower keeps beside the packing line.","description":"A floor stand with a tablet at chest height on a tilting bracket, its screen blank and dark, a cable clip down the column and a weighted disc foot, as a grower keeps beside the packing line. Overall 0.52 by 1.35 by 0.51 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0. The tablet is fixed in its bracket and the screen carries no content of any kind. Static geometry; no rig, collision or navigation data. Original CC0 geometry: no grower, seed house, equipment maker, lighting brand or retailer is named or depicted anywhere, and every screen, fascia, crate and label face is blank.","status":"published","url":"https://3dassets.dev/assets/vertical-farm-and-hydroponics-tower-vertical-farm-and--9791e4bc","cdnUrl":"https://cdn.3dassets.dev/assets/38378/v1/model.glb","downloadUrl":"https://3dassets.dev/download/vertical-farm-and-hydroponics-tower-vertical-farm-and--9791e4bc","thumbnailUrl":"https://cdn.3dassets.dev/assets/38378/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38378/v1/poster.webp","blurhash":"U15X[Y%N009D00av~qak%Ot8n#RNIUob%2Ro","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"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":9372,"triangles":148,"vertices":333,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.2600287505584026,0,-0.25344626498141587],"max":[0.2600287505584026,1.350204726833174,0.25344626498141587]},"sizeMeters":[0.52,1.35,0.507],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T14:36:18.254Z","updatedAt":"2026-09-12T14:36:18.353Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38378/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function MonitoringTabletOnAStandVerticalFarmAndHydroponicsTower(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38378/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38378/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38378/v1/model.glb\" alt=\"Monitoring tablet on a stand (Vertical Farm and Hydroponics Tower)\" 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/38378/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/38378/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38379","slug":"vertical-farm-and-hydroponics-tower-vertical-farm-and--7085c4a9","title":"Shuttle rail run, 2 m (Vertical Farm and Hydroponics Tower)","summary":"A 2 m section of the aisle rail the rack shuttle runs on: two capped rails on sleepers set in the slab, a yellow keep clear stripe either side and a ported end so the run repeats down an aisle.","description":"A 2 m section of the aisle rail the rack shuttle runs on: two capped rails on sleepers set in the slab, a yellow keep clear stripe either side and a ported end so the run repeats down an aisle. Overall 2.00 by 0.11 by 1.18 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 section on the slab; the rail heads stand 110 mm proud. Static geometry; no rig, collision or navigation data. Original CC0 geometry: no grower, seed house, equipment maker, lighting brand or retailer is named or depicted anywhere, and every screen, fascia, crate and label face is blank.","status":"published","url":"https://3dassets.dev/assets/vertical-farm-and-hydroponics-tower-vertical-farm-and--7085c4a9","cdnUrl":"https://cdn.3dassets.dev/assets/38379/v1/model.glb","downloadUrl":"https://3dassets.dev/download/vertical-farm-and-hydroponics-tower-vertical-farm-and--7085c4a9","thumbnailUrl":"https://cdn.3dassets.dev/assets/38379/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38379/v1/poster.webp","blurhash":"U4AJ}|-;00WH?I%3axW900IV_MRi0JISIpIc","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"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":6844,"triangles":108,"vertices":252,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-1,-0.000025177397788667816,-0.5900662308497145],"max":[1,0.11003021339888705,0.5900662308497145]},"sizeMeters":[2,0.11,1.18],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T14:36:18.734Z","updatedAt":"2026-09-12T14:36:18.838Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38379/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ShuttleRailRun2MVerticalFarmAndHydroponicsTower(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38379/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38379/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38379/v1/model.glb\" alt=\"Shuttle rail run, 2 m (Vertical Farm and Hydroponics Tower)\" 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/38379/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/38379/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38380","slug":"vertical-farm-and-hydroponics-tower-vertical-farm-and--fbf0240c","title":"Rack shuttle robot on rail (Vertical Farm and Hydroponics Tower)","summary":"An automated tray shuttle on its own 2 m rail section: a low carriage with guide rollers, a telescopic transfer deck carrying a grow tray and a blank status panel. The carriage runs the rail and the transfer flap at the rail end lifts.","description":"An automated tray shuttle on its own 2 m rail section: a low carriage with guide rollers, a telescopic transfer deck carrying a grow tray and a blank status panel. The carriage runs the rail and the transfer flap at the rail end lifts. Overall 2.00 by 0.52 by 1.18 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 rail section, so the shuttle laces straight into a rail run. The carriage rests at the left hand end of its travel. The guide rollers, the drive belt and the status panel are modelled solid and the panel is blank. The carriage and its tray are one node: it runs the rail, and its wheels do not turn separately. Rigid node-transform clips: traverse-open, traverse-close, lid-open and lid-close. No skinning. No collision or navigation data. Original CC0 geometry: no grower, seed house, equipment maker, lighting brand or retailer is named or depicted anywhere, and every screen, fascia, crate and label face is blank.","status":"published","url":"https://3dassets.dev/assets/vertical-farm-and-hydroponics-tower-vertical-farm-and--fbf0240c","cdnUrl":"https://cdn.3dassets.dev/assets/38380/v1/model.glb","downloadUrl":"https://3dassets.dev/download/vertical-farm-and-hydroponics-tower-vertical-farm-and--fbf0240c","thumbnailUrl":"https://cdn.3dassets.dev/assets/38380/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38380/v1/poster.webp","blurhash":"U5B3=^-:00aQ9d%gs*IA00D*?wbu^cDhtS%h","category":{"slug":"vehicles","title":"Vehicles"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"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":38576,"triangles":764,"vertices":1627,"meshes":11,"materials":7,"textures":0,"animations":["traverse-open","traverse-close","lid-open","lid-close"],"boundingBox":{"min":[-1,-0.000025177397788667816,-0.5900662308497145],"max":[1.0000033752899649,0.5185278332348938,0.5900662308497145]},"sizeMeters":[2,0.519,1.18],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T14:36:19.289Z","updatedAt":"2026-09-12T14:36:19.397Z","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/38380/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 RackShuttleRobotOnRailVerticalFarmAndHydroponicsTower(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/38380/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/38380/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38380/v1/model.glb\" alt=\"Rack shuttle robot on rail (Vertical Farm and Hydroponics Tower)\" 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/38380/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/38380/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"38381","slug":"vertical-farm-and-hydroponics-tower-vertical-farm-and--e512664b","title":"Scissor lift work platform, stowed (Vertical Farm and Hydroponics Tower)","summary":"A compact electric scissor lift stowed: a yellow chassis on four solid tyres, a two stage scissor stack, a guarded work deck with a swinging entry gate and a blank control box on the rail.","description":"A compact electric scissor lift stowed: a yellow chassis on four solid tyres, a two stage scissor stack, a guarded work deck with a swinging entry gate and a blank control box on the rail. Overall 1.54 by 1.97 by 0.96 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0. The scissor linkage is modelled solid and does not extend: a crossed linkage needs a joint per arm, and this library animates rigid node transforms only. The raised variant of this model is the extended state; the wheels turn and the deck gate swings. Rigid node-transform clips: open, close and wheel-roll. No skinning. No collision or navigation data. Original CC0 geometry: no grower, seed house, equipment maker, lighting brand or retailer is named or depicted anywhere, and every screen, fascia, crate and label face is blank.","status":"published","url":"https://3dassets.dev/assets/vertical-farm-and-hydroponics-tower-vertical-farm-and--e512664b","cdnUrl":"https://cdn.3dassets.dev/assets/38381/v1/model.glb","downloadUrl":"https://3dassets.dev/download/vertical-farm-and-hydroponics-tower-vertical-farm-and--e512664b","thumbnailUrl":"https://cdn.3dassets.dev/assets/38381/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38381/v1/poster.webp","blurhash":"U9Bz2it800WT4_t6-lM|03Rk?Yf9~St7D+RQ","category":{"slug":"vehicles","title":"Vehicles"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"interior","title":"Interior"}],"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":28448,"triangles":680,"vertices":1454,"meshes":14,"materials":4,"textures":0,"animations":["open","close","wheel-roll"],"boundingBox":{"min":[-0.7699773139915341,0,-0.4799999952316284],"max":[0.7699773139915341,1.9726999998092651,0.4799999952316284]},"sizeMeters":[1.54,1.973,0.96],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T14:36:18.454Z","updatedAt":"2026-09-12T14:36:18.570Z","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/38381/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 ScissorLiftWorkPlatformStowedVerticalFarmAndHydroponicsTower(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/38381/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/38381/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38381/v1/model.glb\" alt=\"Scissor lift work platform, stowed (Vertical Farm and Hydroponics Tower)\" 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/38381/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/38381/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"38382","slug":"vertical-farm-and-hydroponics-tower-vertical-farm-and--0f0612fa","title":"Scissor lift work platform, raised (Vertical Farm and Hydroponics Tower)","summary":"The same scissor lift at full height with the stack extended and the deck at 2.6 m, for servicing the top tier of a rack or the duct run. Wheels turn and the deck gate swings; the linkage is baked in the raised pose.","description":"The same scissor lift at full height with the stack extended and the deck at 2.6 m, for servicing the top tier of a rack or the duct run. Wheels turn and the deck gate swings; the linkage is baked in the raised pose. Overall 1.54 by 3.77 by 0.96 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0. The scissor linkage is solid in its raised pose for the reason the stowed model gives. Rigid node-transform clips: open, close and wheel-roll. No skinning. No collision or navigation data. Original CC0 geometry: no grower, seed house, equipment maker, lighting brand or retailer is named or depicted anywhere, and every screen, fascia, crate and label face is blank.","status":"published","url":"https://3dassets.dev/assets/vertical-farm-and-hydroponics-tower-vertical-farm-and--0f0612fa","cdnUrl":"https://cdn.3dassets.dev/assets/38382/v1/model.glb","downloadUrl":"https://3dassets.dev/download/vertical-farm-and-hydroponics-tower-vertical-farm-and--0f0612fa","thumbnailUrl":"https://cdn.3dassets.dev/assets/38382/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38382/v1/poster.webp","blurhash":"U39QjS%f008{N$tR$^Mxx_ofMwRk07s;~QIo","category":{"slug":"vehicles","title":"Vehicles"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"interior","title":"Interior"}],"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":28548,"triangles":680,"vertices":1454,"meshes":14,"materials":4,"textures":0,"animations":["open","close","wheel-roll"],"boundingBox":{"min":[-0.7699306483533154,0,-0.4799999952316284],"max":[0.7699306483533154,3.7730228900909424,0.4799999952316284]},"sizeMeters":[1.54,3.773,0.96],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T14:36:21.012Z","updatedAt":"2026-09-12T14:36:21.121Z","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/38382/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 ScissorLiftWorkPlatformRaisedVerticalFarmAndHydroponicsTower(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/38382/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/38382/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38382/v1/model.glb\" alt=\"Scissor lift work platform, raised (Vertical Farm and Hydroponics Tower)\" 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/38382/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/38382/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"38383","slug":"vertical-farm-and-hydroponics-tower-vertical-farm-and--7d9fa93d","title":"Hand pallet truck (Vertical Farm and Hydroponics Tower)","summary":"A hand pallet truck: steel forks that rise on the pump, a tiller arm that rocks back with its grip and trigger, steer wheels at the head and tandem load rollers at the fork tips.","description":"A hand pallet truck: steel forks that rise on the pump, a tiller arm that rocks back with its grip and trigger, steer wheels at the head and tandem load rollers at the fork tips. Overall 0.54 by 1.34 by 1.85 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0. The pump linkage and the hydraulic ram are modelled solid; the forks rise, the tiller rocks and the wheels turn. Rigid node-transform clips: open, close, wheel-roll and tilt. No skinning. No collision or navigation data. Original CC0 geometry: no grower, seed house, equipment maker, lighting brand or retailer is named or depicted anywhere, and every screen, fascia, crate and label face is blank.","status":"published","url":"https://3dassets.dev/assets/vertical-farm-and-hydroponics-tower-vertical-farm-and--7d9fa93d","cdnUrl":"https://cdn.3dassets.dev/assets/38383/v1/model.glb","downloadUrl":"https://3dassets.dev/download/vertical-farm-and-hydroponics-tower-vertical-farm-and--7d9fa93d","thumbnailUrl":"https://cdn.3dassets.dev/assets/38383/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38383/v1/poster.webp","blurhash":"U99aETN49E%LMu01%L?b%ER;%foH~pR:IAjE","category":{"slug":"vehicles","title":"Vehicles"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"interior","title":"Interior"}],"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":17992,"triangles":252,"vertices":555,"meshes":7,"materials":3,"textures":0,"animations":["open","close","wheel-roll","tilt"],"boundingBox":{"min":[-0.26998450484344066,-3.5762786898541066e-9,-1.0250443966844482],"max":[0.26998450484344066,1.3350443978765412,0.8249999761581421]},"sizeMeters":[0.54,1.335,1.85],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T14:36:21.351Z","updatedAt":"2026-09-12T14:36:21.451Z","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/38383/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 HandPalletTruckVerticalFarmAndHydroponicsTower(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/38383/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/38383/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38383/v1/model.glb\" alt=\"Hand pallet truck (Vertical Farm and Hydroponics Tower)\" 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/38383/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/38383/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"38384","slug":"vertical-farm-and-hydroponics-tower-vertical-farm-and--6e684ade","title":"Tray trolley (Vertical Farm and Hydroponics Tower)","summary":"A six shelf tray trolley on braked castors: grow trays at half and full crop on the shelves, a push handle at each end and a bumper rail round the base. Every shelf tray runs out on its channels.","description":"A six shelf tray trolley on braked castors: grow trays at half and full crop on the shelves, a push handle at each end and a bumper rail round the base. Every shelf tray runs out on its channels. Overall 0.94 by 1.69 by 0.70 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0. The frame, the handles and the castor brakes are solid; the six trays slide out and the castors turn. Rigid node-transform clips: open, close and wheel-roll. No skinning. No collision or navigation data. Original CC0 geometry: no grower, seed house, equipment maker, lighting brand or retailer is named or depicted anywhere, and every screen, fascia, crate and label face is blank.","status":"published","url":"https://3dassets.dev/assets/vertical-farm-and-hydroponics-tower-vertical-farm-and--6e684ade","cdnUrl":"https://cdn.3dassets.dev/assets/38384/v1/model.glb","downloadUrl":"https://3dassets.dev/download/vertical-farm-and-hydroponics-tower-vertical-farm-and--6e684ade","thumbnailUrl":"https://cdn.3dassets.dev/assets/38384/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38384/v1/poster.webp","blurhash":"U8AwM6%f00IU~qt79FWB00M{.7xuxuj[M{a_","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"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":88476,"triangles":2536,"vertices":5298,"meshes":19,"materials":3,"textures":0,"animations":["open","close","wheel-roll"],"boundingBox":{"min":[-0.4699999988079071,-7.450580569168253e-10,-0.3475524274244821],"max":[0.4699999988079071,1.690000057220459,0.3475524274244821]},"sizeMeters":[0.94,1.69,0.695],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T14:36:21.546Z","updatedAt":"2026-09-12T14:36:21.654Z","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/38384/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 TrayTrolleyVerticalFarmAndHydroponicsTower(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/38384/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/38384/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38384/v1/model.glb\" alt=\"Tray trolley (Vertical Farm and Hydroponics Tower)\" 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/38384/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/38384/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"38385","slug":"vertical-farm-and-hydroponics-tower-vertical-farm-and--10af5e96","title":"Hand tool rack (Vertical Farm and Hydroponics Tower)","summary":"A wall mounted stainless tool rack: harvest knives in their sheaths, two pairs of snips, a scrub brush, a spacing dibber board and a shadow board behind, with a sanitising dip pot on the shelf.","description":"A wall mounted stainless tool rack: harvest knives in their sheaths, two pairs of snips, a scrub brush, a spacing dibber board and a shadow board behind, with a sanitising dip pot on the shelf. Overall 1.10 by 0.96 by 0.26 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, with a free origin as described below. The rack is screwed to a wall, so the origin is the centre of the shadow board on the wall face; place it at the height the shelf should sit, 1.5 m in the starter scene. Static geometry; no rig, collision or navigation data. Original CC0 geometry: no grower, seed house, equipment maker, lighting brand or retailer is named or depicted anywhere, and every screen, fascia, crate and label face is blank.","status":"published","url":"https://3dassets.dev/assets/vertical-farm-and-hydroponics-tower-vertical-farm-and--10af5e96","cdnUrl":"https://cdn.3dassets.dev/assets/38385/v1/model.glb","downloadUrl":"https://3dassets.dev/download/vertical-farm-and-hydroponics-tower-vertical-farm-and--10af5e96","thumbnailUrl":"https://cdn.3dassets.dev/assets/38385/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38385/v1/poster.webp","blurhash":"UEFY$3E100%2~q%M9F9F00%M-pIVxvt7RjRj","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"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":21992,"triangles":392,"vertices":910,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.5511999726295471,-0.4599789337761238,-0.08998138288871442],"max":[0.550000011920929,0.4999908471562608,0.16997649769372944]},"sizeMeters":[1.101,0.96,0.26],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T14:36:22.052Z","updatedAt":"2026-09-12T14:36:22.158Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38385/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HandToolRackVerticalFarmAndHydroponicsTower(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38385/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38385/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38385/v1/model.glb\" alt=\"Hand tool rack (Vertical Farm and Hydroponics Tower)\" 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/38385/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/38385/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38386","slug":"vertical-farm-and-hydroponics-tower-vertical-farm-and--403ef38f","title":"Hygiene station with boot wash (Vertical Farm and Hydroponics Tower)","summary":"The entry hygiene station: a stainless hand wash trough with sensor taps and two blank dispensers, a grab rail, and a boot wash pit alongside with two upright brushes that turn and a drained grating.","description":"The entry hygiene station: a stainless hand wash trough with sensor taps and two blank dispensers, a grab rail, and a boot wash pit alongside with two upright brushes that turn and a drained grating. Overall 2.12 by 1.53 by 0.90 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0. The water, the soap and sanitiser in the dispensers and the drain plumbing are modelled solid; the two boot brushes turn. Rigid node-transform clips: brush-spin. No skinning. No collision or navigation data. Original CC0 geometry: no grower, seed house, equipment maker, lighting brand or retailer is named or depicted anywhere, and every screen, fascia, crate and label face is blank.","status":"published","url":"https://3dassets.dev/assets/vertical-farm-and-hydroponics-tower-vertical-farm-and--403ef38f","cdnUrl":"https://cdn.3dassets.dev/assets/38386/v1/model.glb","downloadUrl":"https://3dassets.dev/download/vertical-farm-and-hydroponics-tower-vertical-farm-and--403ef38f","thumbnailUrl":"https://cdn.3dassets.dev/assets/38386/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38386/v1/poster.webp","blurhash":"UACsmt%L00IU_3~q9F00IURjM{IUD%IUxufi","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"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":31200,"triangles":680,"vertices":1550,"meshes":8,"materials":4,"textures":0,"animations":["brush-spin"],"boundingBox":{"min":[-1.0499999523162842,-0.000048015118518374145,-0.4499508662117875],"max":[1.0700000524520874,1.5300128000528352,0.4499508662117875]},"sizeMeters":[2.12,1.53,0.9],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T14:36:23.816Z","updatedAt":"2026-09-12T14:36:24.026Z","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/38386/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 HygieneStationWithBootWashVerticalFarmAndHydroponicsTower(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/38386/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/38386/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38386/v1/model.glb\" alt=\"Hygiene station with boot wash (Vertical Farm and Hydroponics Tower)\" 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/38386/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/38386/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"38387","slug":"vertical-farm-and-hydroponics-tower-vertical-farm-and--ce183864","title":"Gowning bench (Vertical Farm and Hydroponics Tower)","summary":"A 1.6 m gowning bench for the changing lobby: a slatted seat with a shoe rack under it, a coat rail of clean coveralls behind, a hairnet and glove dispenser pair and a waste bin at the end.","description":"A 1.6 m gowning bench for the changing lobby: a slatted seat with a shoe rack under it, a coat rail of clean coveralls behind, a hairnet and glove dispenser pair and a waste bin at the end. Overall 1.89 by 1.95 by 0.71 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0. The coveralls hanging on the rail are modelled solid: cloth needs a simulation, not a node transform. Static geometry; no rig, collision or navigation data. Original CC0 geometry: no grower, seed house, equipment maker, lighting brand or retailer is named or depicted anywhere, and every screen, fascia, crate and label face is blank.","status":"published","url":"https://3dassets.dev/assets/vertical-farm-and-hydroponics-tower-vertical-farm-and--ce183864","cdnUrl":"https://cdn.3dassets.dev/assets/38387/v1/model.glb","downloadUrl":"https://3dassets.dev/download/vertical-farm-and-hydroponics-tower-vertical-farm-and--ce183864","thumbnailUrl":"https://cdn.3dassets.dev/assets/38387/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38387/v1/poster.webp","blurhash":"UEFiV^RP00kX~pxv4.I900xa^+NGxttRWCRP","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"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":25408,"triangles":500,"vertices":1150,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.8000336092415196,0,-0.44496460131621896],"max":[1.0900165031131406,1.9500000476837158,0.269989161350127]},"sizeMeters":[1.89,1.95,0.715],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T14:36:24.015Z","updatedAt":"2026-09-12T14:36:24.153Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38387/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GowningBenchVerticalFarmAndHydroponicsTower(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38387/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38387/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38387/v1/model.glb\" alt=\"Gowning bench (Vertical Farm and Hydroponics Tower)\" 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/38387/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/38387/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38388","slug":"vertical-farm-and-hydroponics-tower-vertical-farm-and--2d6a6c68","title":"Locker run (Vertical Farm and Hydroponics Tower)","summary":"A four door staff locker run 1.6 m wide on a plinth: perforated vent panels, a sloped top so nothing is stored on it, blank card readers and four doors that open on their own hinges.","description":"A four door staff locker run 1.6 m wide on a plinth: perforated vent panels, a sloped top so nothing is stored on it, blank card readers and four doors that open on their own hinges. Overall 1.64 by 2.02 by 0.54 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0. The card readers and number plates are blank; the four doors open. Rigid node-transform clips: open and close. No skinning. No collision or navigation data. Original CC0 geometry: no grower, seed house, equipment maker, lighting brand or retailer is named or depicted anywhere, and every screen, fascia, crate and label face is blank.","status":"published","url":"https://3dassets.dev/assets/vertical-farm-and-hydroponics-tower-vertical-farm-and--2d6a6c68","cdnUrl":"https://cdn.3dassets.dev/assets/38388/v1/model.glb","downloadUrl":"https://3dassets.dev/download/vertical-farm-and-hydroponics-tower-vertical-farm-and--2d6a6c68","thumbnailUrl":"https://cdn.3dassets.dev/assets/38388/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38388/v1/poster.webp","blurhash":"UGGb#Pj]00t6~q%M9FIU00of-;Rj-:ofIURQ","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"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":16952,"triangles":420,"vertices":980,"meshes":16,"materials":4,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.8199999928474426,0.00002960386254088898,-0.2694702755036682],"max":[0.8199999928474426,2.0189547538757324,0.27500320811343115]},"sizeMeters":[1.64,2.019,0.544],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T14:36:24.571Z","updatedAt":"2026-09-12T14:36:24.752Z","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/38388/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 LockerRunVerticalFarmAndHydroponicsTower(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/38388/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/38388/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38388/v1/model.glb\" alt=\"Locker run (Vertical Farm and Hydroponics Tower)\" 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/38388/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/38388/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"38389","slug":"vertical-farm-and-hydroponics-tower-vertical-farm-and--9391bf91","title":"Airlock door pair (Vertical Farm and Hydroponics Tower)","summary":"A 2 m wall module holding the airlock: twin swing leaves in a stainless frame with round vision panels, kick plates, a blank interlock box beside them and a warning lamp over the head. Both leaves swing.","description":"A 2 m wall module holding the airlock: twin swing leaves in a stainless frame with round vision panels, kick plates, a blank interlock box beside them and a warning lamp over the head. Both leaves swing. Overall 2.00 by 3.20 by 0.26 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 module on the floor, on the wall centre line, so it drops straight into a 2 m wall run. The interlock box and the lamp lens are solid and blank; the two leaves swing. Rigid node-transform clips: open and close. No skinning. No collision or navigation data. Original CC0 geometry: no grower, seed house, equipment maker, lighting brand or retailer is named or depicted anywhere, and every screen, fascia, crate and label face is blank.","status":"published","url":"https://3dassets.dev/assets/vertical-farm-and-hydroponics-tower-vertical-farm-and--9391bf91","cdnUrl":"https://cdn.3dassets.dev/assets/38389/v1/model.glb","downloadUrl":"https://3dassets.dev/download/vertical-farm-and-hydroponics-tower-vertical-farm-and--9391bf91","thumbnailUrl":"https://cdn.3dassets.dev/assets/38389/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38389/v1/poster.webp","blurhash":"U7FY+Aj[00WC~q?b9F0000t7?bM{tR%MV@D%","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"slug":"animated","title":"Animated"},{"slug":"interior","title":"Interior"}],"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":14980,"triangles":216,"vertices":474,"meshes":11,"materials":5,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.9999328741793135,0,-0.08000732214009099],"max":[0.9999328741793135,3.200000047683716,0.18000305527814647]},"sizeMeters":[2,3.2,0.26],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T14:36:25.020Z","updatedAt":"2026-09-12T14:36:25.133Z","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/38389/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 AirlockDoorPairVerticalFarmAndHydroponicsTower(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/38389/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/38389/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38389/v1/model.glb\" alt=\"Airlock door pair (Vertical Farm and Hydroponics Tower)\" 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/38389/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/38389/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"38390","slug":"vertical-farm-and-hydroponics-tower-vertical-farm-and--60b2f3c8","title":"Cold store door (Vertical Farm and Hydroponics Tower)","summary":"A 2 m wall module with the cold store door in it: a thick insulated leaf on strap hinges with a safety release handle, a blank temperature display over the head, a strip curtain header and a kick plate.","description":"A 2 m wall module with the cold store door in it: a thick insulated leaf on strap hinges with a safety release handle, a blank temperature display over the head, a strip curtain header and a kick plate. Overall 2.00 by 3.20 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 module on the floor, on the wall centre line. The strip curtain behind the opening is modelled solid: hanging strips are flexible, which no rigid node transform reaches. The display is blank. Rigid node-transform clips: open and close. No skinning. No collision or navigation data. Original CC0 geometry: no grower, seed house, equipment maker, lighting brand or retailer is named or depicted anywhere, and every screen, fascia, crate and label face is blank.","status":"published","url":"https://3dassets.dev/assets/vertical-farm-and-hydroponics-tower-vertical-farm-and--60b2f3c8","cdnUrl":"https://cdn.3dassets.dev/assets/38390/v1/model.glb","downloadUrl":"https://3dassets.dev/download/vertical-farm-and-hydroponics-tower-vertical-farm-and--60b2f3c8","thumbnailUrl":"https://cdn.3dassets.dev/assets/38390/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38390/v1/poster.webp","blurhash":"U8E:0o9F00?b~qxu4nD%00xu_3M{-;t7IUM{","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"slug":"animated","title":"Animated"},{"slug":"interior","title":"Interior"}],"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":17228,"triangles":276,"vertices":629,"meshes":7,"materials":4,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.9999328741793135,0,-0.09995422016353003],"max":[0.9999328741793135,3.200000047683716,0.2650038069158417]},"sizeMeters":[2,3.2,0.365],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T14:36:26.760Z","updatedAt":"2026-09-12T14:36:26.859Z","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/38390/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 ColdStoreDoorVerticalFarmAndHydroponicsTower(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/38390/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/38390/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38390/v1/model.glb\" alt=\"Cold store door (Vertical Farm and Hydroponics Tower)\" 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/38390/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/38390/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"38391","slug":"vertical-farm-and-hydroponics-tower-vertical-farm-and--50f93394","title":"Floor drain run, 2 m (Vertical Farm and Hydroponics Tower)","summary":"A 2 m stainless channel drain for the wash area: a slot channel in a shallow surround with a lift out slotted grating, an end sump with its basket and a ported end so the run repeats.","description":"A 2 m stainless channel drain for the wash area: a slot channel in a shallow surround with a lift out slotted grating, an end sump with its basket and a ported end so the run repeats. Overall 2.00 by 0.07 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 run on the slab; the grating sits 60 mm proud, as a surface mounted channel does in a wash room. Static geometry; no rig, collision or navigation data. Original CC0 geometry: no grower, seed house, equipment maker, lighting brand or retailer is named or depicted anywhere, and every screen, fascia, crate and label face is blank.","status":"published","url":"https://3dassets.dev/assets/vertical-farm-and-hydroponics-tower-vertical-farm-and--50f93394","cdnUrl":"https://cdn.3dassets.dev/assets/38391/v1/model.glb","downloadUrl":"https://3dassets.dev/download/vertical-farm-and-hydroponics-tower-vertical-farm-and--50f93394","thumbnailUrl":"https://cdn.3dassets.dev/assets/38391/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38391/v1/poster.webp","blurhash":"U59tM:xs00o#?b_4WBD%00xv~qM{0J00xv_3","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"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":18396,"triangles":376,"vertices":875,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-1,-0.00003524872943316826,-0.20996734519486068],"max":[1,0.07003524902745639,0.20996734519486068]},"sizeMeters":[2,0.07,0.42],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T14:36:25.762Z","updatedAt":"2026-09-12T14:36:25.871Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38391/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FloorDrainRun2MVerticalFarmAndHydroponicsTower(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38391/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38391/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38391/v1/model.glb\" alt=\"Floor drain run, 2 m (Vertical Farm and Hydroponics Tower)\" 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/38391/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/38391/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38392","slug":"vertical-farm-and-hydroponics-tower-vertical-farm-and--ff738c69","title":"Grow room floor tile, 2 m (Vertical Farm and Hydroponics Tower)","summary":"A 2 m resin floor tile for a controlled environment room: a 120 mm slab section with a coved edge detail and a lightly dished surface, ported on all four edges so a floor of any size tiles from it.","description":"A 2 m resin floor tile for a controlled environment room: a 120 mm slab section with a coved edge detail and a lightly dished surface, ported on all four edges so a floor of any size tiles from it. Overall 2.00 by 0.13 by 2.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 with its top face at 0.12 m, so a slab is laid by placing tiles at 2 m centres and dropping the whole floor by its own thickness. Static geometry; no rig, collision or navigation data. Original CC0 geometry: no grower, seed house, equipment maker, lighting brand or retailer is named or depicted anywhere, and every screen, fascia, crate and label face is blank.","status":"published","url":"https://3dassets.dev/assets/vertical-farm-and-hydroponics-tower-vertical-farm-and--ff738c69","cdnUrl":"https://cdn.3dassets.dev/assets/38392/v1/model.glb","downloadUrl":"https://3dassets.dev/download/vertical-farm-and-hydroponics-tower-vertical-farm-and--ff738c69","thumbnailUrl":"https://cdn.3dassets.dev/assets/38392/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38392/v1/poster.webp","blurhash":"U9EMLD-;00WB-;j[M{of00IU~qRj9FfPt7Rj","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"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":2304,"triangles":24,"vertices":56,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-1,0.000033207178146768546,-1],"max":[1,0.127966798901527,1]},"sizeMeters":[2,0.128,2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T14:36:27.327Z","updatedAt":"2026-09-12T14:36:27.471Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38392/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GrowRoomFloorTile2MVerticalFarmAndHydroponicsTower(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38392/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38392/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38392/v1/model.glb\" alt=\"Grow room floor tile, 2 m (Vertical Farm and Hydroponics Tower)\" 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/38392/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/38392/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38393","slug":"vertical-farm-and-hydroponics-tower-vertical-farm-and--5df713c9","title":"Grow room floor tile, walkway marked (Vertical Farm and Hydroponics Tower)","summary":"The same 2 m floor tile with a yellow walkway edge painted down one side, which is how the safe route past the rack aisles and the rail is set out.","description":"The same 2 m floor tile with a yellow walkway edge painted down one side, which is how the safe route past the rack aisles and the rail is set out. Overall 2.00 by 0.13 by 2.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 with its top face at 0.12 m, so a slab is laid by placing tiles at 2 m centres and dropping the whole floor by its own thickness. Static geometry; no rig, collision or navigation data. Original CC0 geometry: no grower, seed house, equipment maker, lighting brand or retailer is named or depicted anywhere, and every screen, fascia, crate and label face is blank.","status":"published","url":"https://3dassets.dev/assets/vertical-farm-and-hydroponics-tower-vertical-farm-and--5df713c9","cdnUrl":"https://cdn.3dassets.dev/assets/38393/v1/model.glb","downloadUrl":"https://3dassets.dev/download/vertical-farm-and-hydroponics-tower-vertical-farm-and--5df713c9","thumbnailUrl":"https://cdn.3dassets.dev/assets/38393/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38393/v1/poster.webp","blurhash":"U8EfTe?Z00ax-;ayM{oe00D+~qM|4noft8Rn","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"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":3428,"triangles":48,"vertices":112,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-1,0.000033207178146768546,-1],"max":[1,0.13195318728867284,1]},"sizeMeters":[2,0.132,2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T14:36:27.815Z","updatedAt":"2026-09-12T14:36:27.926Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38393/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GrowRoomFloorTileWalkwayMarkedVerticalFarmAndHydroponicsTower(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38393/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38393/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38393/v1/model.glb\" alt=\"Grow room floor tile, walkway marked (Vertical Farm and Hydroponics Tower)\" 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/38393/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/38393/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38394","slug":"vertical-farm-and-hydroponics-tower-vertical-farm-and--8c9e3e7d","title":"Grow room wall panel, 2 m (Vertical Farm and Hydroponics Tower)","summary":"A 2 m hygienic wall panel 3.2 m tall: an insulated white cassette with its jointing trim, a coved skirting at the foot and a capping rail at the head, ported at both ends so a wall run repeats.","description":"A 2 m hygienic wall panel 3.2 m tall: an insulated white cassette with its jointing trim, a coved skirting at the foot and a capping rail at the head, ported at both ends so a wall run repeats. Overall 2.00 by 3.20 by 0.17 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 on the floor, on the wall centre line, so panels lay out at 2 m centres. Static geometry; no rig, collision or navigation data. Original CC0 geometry: no grower, seed house, equipment maker, lighting brand or retailer is named or depicted anywhere, and every screen, fascia, crate and label face is blank.","status":"published","url":"https://3dassets.dev/assets/vertical-farm-and-hydroponics-tower-vertical-farm-and--8c9e3e7d","cdnUrl":"https://cdn.3dassets.dev/assets/38394/v1/model.glb","downloadUrl":"https://3dassets.dev/download/vertical-farm-and-hydroponics-tower-vertical-farm-and--8c9e3e7d","thumbnailUrl":"https://cdn.3dassets.dev/assets/38394/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38394/v1/poster.webp","blurhash":"U8EfWr?b0000Rlxut6D%00Rj~qxut7xuj=IU","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"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":4820,"triangles":60,"vertices":140,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-1.0012388950168938,0,-0.08496353164723144],"max":[1.0012388950168938,3.201200008392334,0.08496353164723144]},"sizeMeters":[2.002,3.201,0.17],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T14:36:28.684Z","updatedAt":"2026-09-12T14:36:28.789Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38394/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GrowRoomWallPanel2MVerticalFarmAndHydroponicsTower(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38394/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38394/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38394/v1/model.glb\" alt=\"Grow room wall panel, 2 m (Vertical Farm and Hydroponics Tower)\" 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/38394/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/38394/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38395","slug":"vertical-farm-and-hydroponics-tower-vertical-farm-and--8f001502","title":"Grow room corner post (Vertical Farm and Hydroponics Tower)","summary":"The corner post that closes two wall runs at a right angle: a 3.2 m column the depth of the panel system with coved returns both ways and a capping cap, ported on the two faces a panel meets.","description":"The corner post that closes two wall runs at a right angle: a 3.2 m column the depth of the panel system with coved returns both ways and a capping cap, ported on the two faces a panel meets. Overall 0.28 by 3.20 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 post's footprint and all four ports sit on it, one facing each way, so the post takes a wall run from any two sides and the runs land on its centre line. Static geometry; no rig, collision or navigation data. Original CC0 geometry: no grower, seed house, equipment maker, lighting brand or retailer is named or depicted anywhere, and every screen, fascia, crate and label face is blank.","status":"published","url":"https://3dassets.dev/assets/vertical-farm-and-hydroponics-tower-vertical-farm-and--8f001502","cdnUrl":"https://cdn.3dassets.dev/assets/38395/v1/model.glb","downloadUrl":"https://3dassets.dev/download/vertical-farm-and-hydroponics-tower-vertical-farm-and--8f001502","thumbnailUrl":"https://cdn.3dassets.dev/assets/38395/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38395/v1/poster.webp","blurhash":"U29@S5?v0000xvfQM{j@00j[~qayxufQRij[","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"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":3784,"triangles":36,"vertices":84,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.14004333837026423,0,-0.14004333837026423],"max":[0.14004333837026423,3.201191093835293,0.14004333837026423]},"sizeMeters":[0.28,3.201,0.28],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T14:36:29.761Z","updatedAt":"2026-09-12T14:36:33.275Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38395/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GrowRoomCornerPostVerticalFarmAndHydroponicsTower(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38395/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38395/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38395/v1/model.glb\" alt=\"Grow room corner post (Vertical Farm and Hydroponics Tower)\" 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/38395/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/38395/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38396","slug":"vertical-farm-and-hydroponics-tower-vertical-farm-and--bc170f8b","title":"Grow room ceiling cassette, 2 m (Vertical Farm and Hydroponics Tower)","summary":"A 2 m suspended ceiling cassette for a sealed grow room: a white insulated panel with its grid tee, a flush service light and a sprinkler rose, ported on all four edges.","description":"A 2 m suspended ceiling cassette for a sealed grow room: a white insulated panel with its grid tee, a flush service light and a sprinkler rose, ported on all four edges. Overall 2.00 by 0.18 by 2.03 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, with a free origin as described below. A ceiling is hung, so the origin is the centre of the cassette on its underside, with the panel above it and the sprinkler rose 60 mm below: lay a ceiling by placing cassettes at 2 m centres at the wanted height. Static geometry; no rig, collision or navigation data. Original CC0 geometry: no grower, seed house, equipment maker, lighting brand or retailer is named or depicted anywhere, and every screen, fascia, crate and label face is blank.","status":"published","url":"https://3dassets.dev/assets/vertical-farm-and-hydroponics-tower-vertical-farm-and--bc170f8b","cdnUrl":"https://cdn.3dassets.dev/assets/38396/v1/model.glb","downloadUrl":"https://3dassets.dev/download/vertical-farm-and-hydroponics-tower-vertical-farm-and--bc170f8b","thumbnailUrl":"https://cdn.3dassets.dev/assets/38396/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38396/v1/poster.webp","blurhash":"UAEfWq%M00WB?bj[M{j[00M{~qWB00a#t7WB","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"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":7392,"triangles":140,"vertices":322,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-1.0012465144082698,-0.05996856660579197,-1.0149999856948853],"max":[1.0012465144082698,0.11996856526468747,1.0149999856948853]},"sizeMeters":[2.002,0.18,2.03],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T14:36:31.644Z","updatedAt":"2026-09-12T14:36:32.987Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38396/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GrowRoomCeilingCassette2MVerticalFarmAndHydroponicsTower(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38396/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38396/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38396/v1/model.glb\" alt=\"Grow room ceiling cassette, 2 m (Vertical Farm and Hydroponics Tower)\" 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/38396/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/38396/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38397","slug":"vertical-farm-and-hydroponics-tower-vertical-farm-and--5e10b0ad","title":"LED grow bar fixture (Vertical Farm and Hydroponics Tower)","summary":"A single 1.8 m LED grow bar: an extruded aluminium body with end caps, a magenta emitting face, the driver box on top and two hanger eyes. Emissive looking geometry only, with no light source in the file.","description":"A single 1.8 m LED grow bar: an extruded aluminium body with end caps, a magenta emitting face, the driver box on top and two hanger eyes. Emissive looking geometry only, with no light source in the file. Overall 1.83 by 0.14 by 0.10 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, with a free origin as described below. The origin is at the centre of the fixture's mounting face on top, because a grow bar is hung rather than stood: place it at the height it hangs at. The bar carries no moving part, and the pack embeds no lights: the magenta face is emissive material. Static geometry; no rig, collision or navigation data. Original CC0 geometry: no grower, seed house, equipment maker, lighting brand or retailer is named or depicted anywhere, and every screen, fascia, crate and label face is blank.","status":"published","url":"https://3dassets.dev/assets/vertical-farm-and-hydroponics-tower-vertical-farm-and--5e10b0ad","cdnUrl":"https://cdn.3dassets.dev/assets/38397/v1/model.glb","downloadUrl":"https://3dassets.dev/download/vertical-farm-and-hydroponics-tower-vertical-farm-and--5e10b0ad","thumbnailUrl":"https://cdn.3dassets.dev/assets/38397/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38397/v1/poster.webp","blurhash":"U8Bf@R%24nxutQ~Xt7IU00NG~qRjMy00Io_3","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"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":6716,"triangles":84,"vertices":196,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.9150000214576721,-0.07195736440569667,-0.05004059079110533],"max":[0.9150000214576721,0.06998718041338503,0.05004059079110533]},"sizeMeters":[1.83,0.142,0.1],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T14:36:32.761Z","updatedAt":"2026-09-12T14:36:33.515Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38397/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LEDGrowBarFixtureVerticalFarmAndHydroponicsTower(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38397/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38397/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38397/v1/model.glb\" alt=\"LED grow bar fixture (Vertical Farm and Hydroponics Tower)\" 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/38397/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/38397/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38398","slug":"vertical-farm-and-hydroponics-tower-vertical-farm-and--fa0d5a7a","title":"Mezzanine walkway, 2 m (Vertical Farm and Hydroponics Tower)","summary":"A 2 m section of service walkway at 2.4 m: an open mesh deck on a steel frame with legs to the floor, a toe board and a handrail both sides, ported at both ends so a run crosses the room.","description":"A 2 m section of service walkway at 2.4 m: an open mesh deck on a steel frame with legs to the floor, a toe board and a handrail both sides, ported at both ends so a run crosses the room. Overall 2.00 by 3.54 by 1.16 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 section on the floor and the deck top is at 2.4 m. Static geometry; no rig, collision or navigation data. Original CC0 geometry: no grower, seed house, equipment maker, lighting brand or retailer is named or depicted anywhere, and every screen, fascia, crate and label face is blank.","status":"published","url":"https://3dassets.dev/assets/vertical-farm-and-hydroponics-tower-vertical-farm-and--fa0d5a7a","cdnUrl":"https://cdn.3dassets.dev/assets/38398/v1/model.glb","downloadUrl":"https://3dassets.dev/download/vertical-farm-and-hydroponics-tower-vertical-farm-and--fa0d5a7a","thumbnailUrl":"https://cdn.3dassets.dev/assets/38398/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38398/v1/poster.webp","blurhash":"U48XLMt800t1~pkD8{f30Lax-nog0Noc?YRn","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"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":20712,"triangles":408,"vertices":952,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-1.0012676219506234,0,-0.5800080997999832],"max":[1.0012676219506234,3.538800001144409,0.5800080997999832]},"sizeMeters":[2.003,3.539,1.16],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T14:36:32.740Z","updatedAt":"2026-09-12T14:36:33.465Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38398/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function MezzanineWalkway2MVerticalFarmAndHydroponicsTower(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38398/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38398/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38398/v1/model.glb\" alt=\"Mezzanine walkway, 2 m (Vertical Farm and Hydroponics Tower)\" 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/38398/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/38398/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38399","slug":"vertical-farm-and-hydroponics-tower-vertical-farm-and--ec5f6452","title":"Mezzanine stair flight (Vertical Farm and Hydroponics Tower)","summary":"A straight stair flight up to the 2.4 m walkway: twelve open mesh treads on steel stringers, a handrail both sides and a bolted foot plate, with a half landing plate at the head.","description":"A straight stair flight up to the 2.4 m walkway: twelve open mesh treads on steel stringers, a handrail both sides and a bolted foot plate, with a half landing plate at the head. Overall 1.14 by 3.40 by 3.37 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 flight's footprint on the floor; it climbs toward -Z and lands at 2.4 m. Static geometry; no rig, collision or navigation data. Original CC0 geometry: no grower, seed house, equipment maker, lighting brand or retailer is named or depicted anywhere, and every screen, fascia, crate and label face is blank.","status":"published","url":"https://3dassets.dev/assets/vertical-farm-and-hydroponics-tower-vertical-farm-and--ec5f6452","cdnUrl":"https://cdn.3dassets.dev/assets/38399/v1/model.glb","downloadUrl":"https://3dassets.dev/download/vertical-farm-and-hydroponics-tower-vertical-farm-and--ec5f6452","thumbnailUrl":"https://cdn.3dassets.dev/assets/38399/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38399/v1/poster.webp","blurhash":"U47BG+%g00D%of9EM{_400Ri_3t7M{.8xu9E","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"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":42208,"triangles":924,"vertices":2148,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.5699179211952763,0,-1.8250684681314027],"max":[0.5699179211952763,3.4000000953674316,1.5430943965911865]},"sizeMeters":[1.14,3.4,3.368],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T14:36:39.876Z","updatedAt":"2026-09-12T14:36:39.999Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38399/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function MezzanineStairFlightVerticalFarmAndHydroponicsTower(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38399/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38399/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38399/v1/model.glb\" alt=\"Mezzanine stair flight (Vertical Farm and Hydroponics Tower)\" 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/38399/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/38399/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38401","slug":"vertical-farm-and-hydroponics-tower-vert-765944bf-starter-scene","title":"Vertical farm grow room and pack house (Vertical Farm and Hydroponics Tower)","summary":"A working vertical farm in one 18 m by 20 m hall. The growing floor takes the north half: three rows of six three tier bays under their magenta LED bars, every tier planted with lettuce, pak choi or propagation plugs, and the shuttle robot on its rail down the aisle between...","description":"A working vertical farm in one 18 m by 20 m hall. The growing floor takes the north half: three rows of six three tier bays under their magenta LED bars, every tier planted with lettuce, pak choi or propagation plugs, and the shuttle robot on its rail down the aisle between the first two rows. The wet systems run across the middle, nutrient film benches into a deep water culture tray, the aeroponic chamber and the germination cabinet, with strawberry towers, a tray trolley and cut crop on the open floor in front. The pack house fills the south half: the bench line from transplanting through harvest and the wash and spin station to packing, channel drains behind it, crates staged on the slab, the stretch wrapper part way through a pallet, the dosing skid, reservoir, pumps, membrane rack and steriliser down the east wall and the hygiene station, gowning bench and lockers down the west. Nutrient mains and a supply duct run the north wall past the airlock and the cold store door, and a service walkway with its stair runs down the west lane. The hall is left open topped on purpose: the pack page looks down into it, so the ceiling cassettes ship in the pack but are not laid here, and the racks stop at three tiers so the top tier still reads from standing height. Every working item is on the floor for the same reason, because a walk through the scene has no way up.","status":"published","url":"https://3dassets.dev/assets/vertical-farm-and-hydroponics-tower-vert-765944bf-starter-scene","cdnUrl":"https://cdn.3dassets.dev/assets/38401/v1/model.glb","downloadUrl":"https://3dassets.dev/download/vertical-farm-and-hydroponics-tower-vert-765944bf-starter-scene","thumbnailUrl":"https://cdn.3dassets.dev/assets/38401/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38401/v1/poster.webp","blurhash":"U3Dl~A_N00xtE19Ft7?b009F_ME0_3~qRj9G","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":3678920,"triangles":91832,"vertices":194175,"meshes":347,"materials":12,"textures":0,"animations":[],"boundingBox":{"min":[-9.140043338370264,-0.11996679282185323,-7.169994660848168],"max":[9.140043338370264,3.7730228900909424,13.140043338370264]},"sizeMeters":[18.28,3.893,20.31],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":1,"publishedAt":"2026-09-12T14:36:39.973Z","updatedAt":"2026-09-12T18:48:57.672Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38401/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function VerticalFarmGrowRoomAndPackHouseVerticalFarmAndHydroponicsTower(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38401/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38401/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38401/v1/model.glb\" alt=\"Vertical farm grow room and pack house (Vertical Farm and Hydroponics Tower)\" 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/38401/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/38401/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38400","slug":"vertical-farm-and-hydroponics-tower-vertical-farm-and--db2b3b7b","title":"Vertical farm pack house and plant room (Vertical Farm and Hydroponics Tower)","summary":"The other half of the same building, also open topped: the bench line down the north wall from transplanting through harvest and the wash and spin station to packing, with the channel drains behind it, crates staged on the floor, the stretch wrapper part way through a pallet...","description":"The other half of the same building, also open topped: the bench line down the north wall from transplanting through harvest and the wash and spin station to packing, with the channel drains behind it, crates staged on the floor, the stretch wrapper part way through a pallet and a tote of concentrate by the door. The plant room fills the east side, dosing skid, reservoir, pumps and filters, membrane rack and steriliser, with the air handling unit, the gas rack and the changing lobby of hygiene station, gowning bench and lockers on the west. The cold store door in the north wall is the way back through to the growing floor.","status":"published","url":"https://3dassets.dev/assets/vertical-farm-and-hydroponics-tower-vertical-farm-and--db2b3b7b","cdnUrl":"https://cdn.3dassets.dev/assets/38400/v1/model.glb","downloadUrl":"https://3dassets.dev/download/vertical-farm-and-hydroponics-tower-vertical-farm-and--db2b3b7b","thumbnailUrl":"https://cdn.3dassets.dev/assets/38400/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38400/v1/poster.webp","blurhash":"U4Eyb].800?H%Nofoet700IU~q9FITs:M{D%","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":1284296,"triangles":30956,"vertices":66650,"meshes":230,"materials":12,"textures":0,"animations":[],"boundingBox":{"min":[-7.140043338370265,-0.11996679282185323,-6.140043338370265],"max":[7.140043338370265,3.201200008392334,6.140043338370265]},"sizeMeters":[14.28,3.321,12.28],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T14:36:39.894Z","updatedAt":"2026-09-12T14:36:40.018Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38400/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function VerticalFarmPackHouseAndPlantRoomVerticalFarmAndHydroponicsTower(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38400/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38400/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38400/v1/model.glb\" alt=\"Vertical farm pack house and plant room (Vertical Farm and Hydroponics Tower)\" 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/38400/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/38400/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}}],"demo":{"slug":"vertical-farm-and-hydroponics-tower","title":"Vertical Farm and Hydroponics Tower","url":"https://3dassets.dev/demos/vertical-farm-and-hydroponics-tower"}}}