{"data":{"id":"36815","slug":"vineyard-and-winery-vine-row-fruiting-f23824de","title":"Vine Row Fruiting (Vineyard and Winery)","summary":"Four metre trellised vine row bay at harvest: canopy along the foliage wires and ten tapered bunches hanging in the fruiting zone under it, on the same three post trellis as the bare and leafed bays.","description":"Four metre trellised vine row bay at harvest: canopy along the foliage wires and ten tapered bunches hanging in the fruiting zone under it, on the same three post trellis as the bare and leafed bays. Overall 4.094 x 1.940 x 0.400 m (X x Y x Z), metre units, +Y up, +Z forward, resting on y=0. Connectors: start (vine-row), end (vine-row), cross (row-gap). Vineyard and Winery / vineyard-std-v1: limestone, gravel and sawn timber under vine green, fruit purple, terracotta and stainless, with embedded procedural timber, stone and soil maps and no custom shaders. No estate, appellation, marque or label is named or depicted anywhere: every bottle, reel, crate and board is blank. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/vineyard-and-winery-vine-row-fruiting-f23824de","cdnUrl":"https://cdn.3dassets.dev/assets/36815/v1/model.glb","downloadUrl":"https://3dassets.dev/download/vineyard-and-winery-vine-row-fruiting-f23824de","thumbnailUrl":"https://cdn.3dassets.dev/assets/36815/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/36815/v1/poster.webp","blurhash":"U89tV:oeIWog?[?tjIR-01.Q%LVuMLID%fae","category":{"slug":"nature","title":"Nature & Landscape"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"slug":"exterior","title":"Exterior"}],"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":122216,"triangles":2068,"vertices":5153,"meshes":6,"materials":6,"textures":1,"animations":[],"boundingBox":{"min":[-2.006200075149536,-0.00009459290960078803,-0.19991821695131534],"max":[2.0880000591278076,1.939995743364535,0.19991821695131534]},"sizeMeters":[4.094,1.94,0.4],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T04:36:41.914Z","updatedAt":"2026-09-12T04:36:42.007Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/36815/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function VineRowFruitingVineyardAndWinery(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/36815/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/36815/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/36815/v1/model.glb\" alt=\"Vine Row Fruiting (Vineyard and Winery)\" 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/36815/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/36815/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}}}