{"data":{"id":9,"slug":"frontier-post","title":"Frontier Post","summary":"A coherent western supply stop with timber buildings, trail equipment, animals and route modules.","description":"Build a compact frontier trading stop around a shared ochre, rust and weathered timber palette. Buildings use metre scale and boardwalk and fence modules repeat every 2 m. Includes static characters, provisions and quest objects. Individual GLBs and a composed scene use the same materials.","url":"https://3dassets.dev/packs/frontier-post","coverUrl":"https://cdn.3dassets.dev/assets/250/v1/poster.webp","assetCount":25,"aiGenerated":true,"aiGeneratedAssetCount":25,"aiModels":["GPT-6 via Codex"],"aiModelUnspecifiedCount":0,"featured":true,"licenseLabel":"CC0 1.0 Universal","totalBytes":872612,"totalTriangles":16156,"starterScene":{"id":"250","slug":"frontier-post-starter-scene","title":"Frontier Post starter scene","summary":"A composed frontier post scene with named objects. Use it as a starting layout for a web or mobile game.","description":"A composed example built from the Frontier Post kit. Each placed object has a named parent node for editing in three.js or Blender.\n\nUses metres, Y up and the pack's shared palette. This is a static environment layout. Individual models are also included in the pack. Collision meshes, navigation meshes, scripts and lighting are not included.\n\nPart of [Frontier Post](/packs/frontier-post).","status":"published","url":"https://3dassets.dev/assets/frontier-post-starter-scene","cdnUrl":"https://cdn.3dassets.dev/assets/250/v1/model.glb","downloadUrl":"https://3dassets.dev/download/frontier-post-starter-scene","thumbnailUrl":"https://cdn.3dassets.dev/assets/250/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/250/v1/poster.webp","blurhash":"UEC$$Kxu0Ls:4:oK%2WB00M{%2R*~VWXNHt7","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"western","title":"Western"},{"slug":"low-poly","title":"Low Poly"},{"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":427188,"triangles":8084,"vertices":24252,"meshes":73,"materials":8,"textures":0,"animations":[],"boundingBox":{"min":[-9.868365287780762,-0.2001195979248136,-8.670200873400638],"max":[9.204999923706055,4.920000076293945,7.816353369738529]},"sizeMeters":[19.073,5.12,16.487],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:22:25.241Z","updatedAt":"2026-09-06T03:41:44.639Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/250/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FrontierPostStarterScene(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/250/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/250/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/250/v1/model.glb\" alt=\"Frontier Post starter scene\" 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/250/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/250/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},"assets":[{"id":"125","slug":"frontier-trading-store","title":"Frontier trading store","summary":"Timber trading store with a raised porch, framed windows and a tall false front for a western settlement.","description":"Timber trading store with a raised porch, framed windows and a tall false front for a western settlement.\n\nPart of the Frontier Post collection. Dimensions: 4.3 m wide, 3.45 m high and 5.63 m deep. Uses metres with +Y up and +Z forward. The origin sits on the ground at the horizontal centre. Static mesh with no rig, animation or collision mesh. Shared collection colours support a consistent game environment. CC0 licensed for commercial and personal projects.\n\nPart of [Frontier Post](/packs/frontier-post).","status":"published","url":"https://3dassets.dev/assets/frontier-trading-store","cdnUrl":"https://cdn.3dassets.dev/assets/125/v1/model.glb","downloadUrl":"https://3dassets.dev/download/frontier-trading-store","thumbnailUrl":"https://cdn.3dassets.dev/assets/125/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/125/v1/poster.webp","blurhash":"UDEVA}~V9aEMK7V@xCod00D%WBs9V=OYSOxa","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"western","title":"Western"},{"slug":"low-poly","title":"Low Poly"},{"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":14536,"triangles":236,"vertices":708,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-2.1500000953674316,-0.0000892427983594235,-2.8125],"max":[2.1500000953674316,3.450089290482075,2.8125]},"sizeMeters":[4.3,3.45,5.625],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:11:08.463Z","updatedAt":"2026-09-06T03:41:45.646Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/125/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FrontierTradingStore(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/125/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/125/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/125/v1/model.glb\" alt=\"Frontier trading store\" 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/125/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/125/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"126","slug":"frontier-telegraph-office","title":"Frontier telegraph office","summary":"Compact telegraph office with a signal mast, parcel counter and covered doorway.","description":"Compact telegraph office with a signal mast, parcel counter and covered doorway.\n\nPart of the Frontier Post collection. Dimensions: 4.25 m wide, 4 m high and 2.67 m deep. Uses metres with +Y up and +Z forward. The origin sits on the ground at the horizontal centre. Static mesh with no rig, animation or collision mesh. Shared collection colours support a consistent game environment. CC0 licensed for commercial and personal projects.\n\nPart of [Frontier Post](/packs/frontier-post).","status":"published","url":"https://3dassets.dev/assets/frontier-telegraph-office","cdnUrl":"https://cdn.3dassets.dev/assets/126/v1/model.glb","downloadUrl":"https://3dassets.dev/download/frontier-telegraph-office","thumbnailUrl":"https://cdn.3dassets.dev/assets/126/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/126/v1/poster.webp","blurhash":"U9G*yeN_00wb4T-:TJD*00Mx]%kqQ7jb+[IU","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"western","title":"Western"},{"slug":"low-poly","title":"Low Poly"},{"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":14916,"triangles":244,"vertices":732,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-2.125043164247792,-0.00010985471645907907,-1.3375160111482227],"max":[2.125,4,1.337579612778574]},"sizeMeters":[4.25,4,2.675],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:11:10.158Z","updatedAt":"2026-09-06T03:41:45.638Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/126/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FrontierTelegraphOffice(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/126/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/126/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/126/v1/model.glb\" alt=\"Frontier telegraph office\" 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/126/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/126/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"127","slug":"frontier-water-tower","title":"Frontier water tower","summary":"Elevated octagonal water tank with timber cross braces and a side delivery spout.","description":"Elevated octagonal water tank with timber cross braces and a side delivery spout.\n\nPart of the Frontier Post collection. Dimensions: 3.01 m wide, 4.92 m high and 2.34 m deep. Uses metres with +Y up and +Z forward. The origin sits on the ground at the horizontal centre. Static mesh with no rig, animation or collision mesh. Shared collection colours support a consistent game environment. CC0 licensed for commercial and personal projects.\n\nPart of [Frontier Post](/packs/frontier-post).","status":"published","url":"https://3dassets.dev/assets/frontier-water-tower","cdnUrl":"https://cdn.3dassets.dev/assets/127/v1/model.glb","downloadUrl":"https://3dassets.dev/download/frontier-water-tower","thumbnailUrl":"https://cdn.3dassets.dev/assets/127/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/127/v1/poster.webp","blurhash":"U7AJTN~T000MtTR.MxjE0OE3=w-nSvxVxZWY","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"western","title":"Western"},{"slug":"low-poly","title":"Low Poly"},{"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":20852,"triangles":396,"vertices":1188,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-1.505048080025024,0,-1.1698996044985743],"max":[1.505048080025024,4.920000076293945,1.1698996044985743]},"sizeMeters":[3.01,4.92,2.34],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:11:11.987Z","updatedAt":"2026-09-06T03:41:45.629Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/127/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FrontierWaterTower(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/127/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/127/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/127/v1/model.glb\" alt=\"Frontier water 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/127/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/127/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"128","slug":"frontier-covered-wagon","title":"Frontier covered wagon","summary":"Open-sided supply wagon with wooden spoked wheels, canvas roof ribs and a rear cargo bed.","description":"Open-sided supply wagon with wooden spoked wheels, canvas roof ribs and a rear cargo bed.\n\nPart of the Frontier Post collection. Dimensions: 1.85 m wide, 2.3 m high and 3.8 m deep. Uses metres with +Y up and +Z forward. The origin sits on the ground at the horizontal centre. Static mesh with no rig, animation or collision mesh. Shared collection colours support a consistent game environment. CC0 licensed for commercial and personal projects.\n\nPart of [Frontier Post](/packs/frontier-post).","status":"published","url":"https://3dassets.dev/assets/frontier-covered-wagon","cdnUrl":"https://cdn.3dassets.dev/assets/128/v1/model.glb","downloadUrl":"https://3dassets.dev/download/frontier-covered-wagon","thumbnailUrl":"https://cdn.3dassets.dev/assets/128/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/128/v1/poster.webp","blurhash":"UKD+rI9F4ox]~pD*IUxu57WB%1xt9F%1%MWB","category":{"slug":"vehicles","title":"Vehicles"},"tags":[{"slug":"western","title":"Western"},{"slug":"low-poly","title":"Low Poly"},{"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":45668,"triangles":896,"vertices":2688,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.9238160468555404,0.000005951603909759573,-1.899999976158142],"max":[0.923739522094347,2.2999595364016088,1.899999976158142]},"sizeMeters":[1.848,2.3,3.8],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:11:13.660Z","updatedAt":"2026-09-06T03:41:45.619Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/128/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FrontierCoveredWagon(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/128/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/128/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/128/v1/model.glb\" alt=\"Frontier covered wagon\" 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/128/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/128/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"129","slug":"frontier-saddle-horse","title":"Frontier saddle horse","summary":"Standing trail horse with a dark mane, riding saddle, muzzle and four planted legs.","description":"Standing trail horse with a dark mane, riding saddle, muzzle and four planted legs.\n\nPart of the Frontier Post collection. Dimensions: 0.68 m wide, 2.29 m high and 2.07 m deep. Uses metres with +Y up and +Z forward. The origin sits on the ground at the horizontal centre. Static mesh with no rig, animation or collision mesh. Shared collection colours support a consistent game environment. CC0 licensed for commercial and personal projects.\n\nPart of [Frontier Post](/packs/frontier-post).","status":"published","url":"https://3dassets.dev/assets/frontier-saddle-horse","cdnUrl":"https://cdn.3dassets.dev/assets/129/v1/model.glb","downloadUrl":"https://3dassets.dev/download/frontier-saddle-horse","thumbnailUrl":"https://cdn.3dassets.dev/assets/129/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/129/v1/poster.webp","blurhash":"U78zJi$%01ENRin#f,XA03Ws~9jWjXWCs;sn","category":{"slug":"animals","title":"Animals"},"tags":[{"slug":"western","title":"Western"},{"slug":"low-poly","title":"Low Poly"},{"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":36412,"triangles":704,"vertices":2112,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.3399784525607792,0,-1.0355360280620856],"max":[0.3399784525607792,2.2899999618530273,1.0355737679262362]},"sizeMeters":[0.68,2.29,2.071],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:11:15.650Z","updatedAt":"2026-09-06T03:41:45.611Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/129/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FrontierSaddleHorse(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/129/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/129/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/129/v1/model.glb\" alt=\"Frontier saddle horse\" 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/129/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/129/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"130","slug":"frontier-pack-goat","title":"Frontier pack goat","summary":"Horned pack goat with strapped panniers for trails, ranches and western settlement scenes.","description":"Horned pack goat with strapped panniers for trails, ranches and western settlement scenes.\n\nPart of the Frontier Post collection. Dimensions: 0.7 m wide, 0.94 m high and 0.95 m deep. Uses metres with +Y up and +Z forward. The origin sits on the ground at the horizontal centre. Static mesh with no rig, animation or collision mesh. Shared collection colours support a consistent game environment. CC0 licensed for commercial and personal projects.\n\nPart of [Frontier Post](/packs/frontier-post).","status":"published","url":"https://3dassets.dev/assets/frontier-pack-goat","cdnUrl":"https://cdn.3dassets.dev/assets/130/v1/model.glb","downloadUrl":"https://3dassets.dev/download/frontier-pack-goat","thumbnailUrl":"https://cdn.3dassets.dev/assets/130/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/130/v1/poster.webp","blurhash":"UCBMY:kq00Mdr?WBbboy00nN~VpIS~t7V@Rj","category":{"slug":"animals","title":"Animals"},"tags":[{"slug":"western","title":"Western"},{"slug":"low-poly","title":"Low Poly"},{"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":35432,"triangles":684,"vertices":2052,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.3499999940395355,0,-0.4734956148185208],"max":[0.3499999940395355,0.9399999976158142,0.47349950671195984]},"sizeMeters":[0.7,0.94,0.947],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:11:17.341Z","updatedAt":"2026-09-06T03:41:45.603Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/130/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FrontierPackGoat(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/130/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/130/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/130/v1/model.glb\" alt=\"Frontier pack goat\" 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/130/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/130/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"131","slug":"frontier-courier-character","title":"Frontier courier character","summary":"Static western courier wearing a broad hat, leather boots, belt and shoulder satchel.","description":"Static western courier wearing a broad hat, leather boots, belt and shoulder satchel.\n\nPart of the Frontier Post collection. Dimensions: 0.83 m wide, 1.9 m high and 0.68 m deep. Uses metres with +Y up and +Z forward. The origin sits on the ground at the horizontal centre. Static mesh with no rig, animation or collision mesh. Shared collection colours support a consistent game environment. CC0 licensed for commercial and personal projects.\n\nPart of [Frontier Post](/packs/frontier-post).","status":"published","url":"https://3dassets.dev/assets/frontier-courier-character","cdnUrl":"https://cdn.3dassets.dev/assets/131/v1/model.glb","downloadUrl":"https://3dassets.dev/download/frontier-courier-character","thumbnailUrl":"https://cdn.3dassets.dev/assets/131/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/131/v1/poster.webp","blurhash":"U89aW|%M009F%2W:Ipnl00Rj_MxtkCo2jFSe","category":{"slug":"characters","title":"Characters & Creatures"},"tags":[{"slug":"western","title":"Western"},{"slug":"low-poly","title":"Low Poly"},{"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":15700,"triangles":244,"vertices":732,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.4149662961127571,0,-0.3400540134946569],"max":[0.4149662961127571,1.899999976158142,0.3400540134946569]},"sizeMeters":[0.83,1.9,0.68],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:11:19.255Z","updatedAt":"2026-09-06T03:41:45.595Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/131/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FrontierCourierCharacter(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/131/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/131/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/131/v1/model.glb\" alt=\"Frontier courier character\" 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/131/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/131/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"132","slug":"frontier-saguaro-cactus","title":"Frontier saguaro cactus","summary":"Branching six-sided saguaro cactus with raised arms and a small red flower.","description":"Branching six-sided saguaro cactus with raised arms and a small red flower.\n\nPart of the Frontier Post collection. Dimensions: 1.41 m wide, 2.42 m high and 0.33 m deep. Uses metres with +Y up and +Z forward. The origin sits on the ground at the horizontal centre. Static mesh with no rig, animation or collision mesh. Shared collection colours support a consistent game environment. CC0 licensed for commercial and personal projects.\n\nPart of [Frontier Post](/packs/frontier-post).","status":"published","url":"https://3dassets.dev/assets/frontier-saguaro-cactus","cdnUrl":"https://cdn.3dassets.dev/assets/132/v1/model.glb","downloadUrl":"https://3dassets.dev/download/frontier-saguaro-cactus","thumbnailUrl":"https://cdn.3dassets.dev/assets/132/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/132/v1/poster.webp","blurhash":"U6851ByC00Hs.6kVIVix00Vu?[o|8|a1%Mb]","category":{"slug":"nature","title":"Nature & Landscape"},"tags":[{"slug":"western","title":"Western"},{"slug":"low-poly","title":"Low Poly"},{"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":12392,"triangles":220,"vertices":660,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.7049440207594747,0,-0.16454848383992768],"max":[0.7049440207594747,2.4200000762939453,0.16454848383992768]},"sizeMeters":[1.41,2.42,0.329],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:11:21.032Z","updatedAt":"2026-09-06T03:41:45.587Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/132/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FrontierSaguaroCactus(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/132/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/132/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/132/v1/model.glb\" alt=\"Frontier saguaro cactus\" 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/132/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/132/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"133","slug":"frontier-sandstone-outcrop","title":"Frontier sandstone outcrop","summary":"Layered sandstone landmark with broad ledges and a narrow upper stack for desert routes.","description":"Layered sandstone landmark with broad ledges and a narrow upper stack for desert routes.\n\nPart of the Frontier Post collection. Dimensions: 2.74 m wide, 2.22 m high and 2.63 m deep. Uses metres with +Y up and +Z forward. The origin sits on the ground at the horizontal centre. Static mesh with no rig, animation or collision mesh. Shared collection colours support a consistent game environment. CC0 licensed for commercial and personal projects.\n\nPart of [Frontier Post](/packs/frontier-post).","status":"published","url":"https://3dassets.dev/assets/frontier-sandstone-outcrop","cdnUrl":"https://cdn.3dassets.dev/assets/133/v1/model.glb","downloadUrl":"https://3dassets.dev/download/frontier-sandstone-outcrop","thumbnailUrl":"https://cdn.3dassets.dev/assets/133/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/133/v1/poster.webp","blurhash":"UBEL~S_2004.4pNGofoM00E1~Vxu^*xutQof","category":{"slug":"nature","title":"Nature & Landscape"},"tags":[{"slug":"western","title":"Western"},{"slug":"low-poly","title":"Low Poly"},{"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":11100,"triangles":192,"vertices":576,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-1.3683652877807617,0.000048508707261252226,-1.3160811805905546],"max":[1.3683652877807617,2.2199515199029682,1.3160811805905546]},"sizeMeters":[2.737,2.22,2.632],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:11:22.709Z","updatedAt":"2026-09-06T03:41:45.578Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/133/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FrontierSandstoneOutcrop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/133/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/133/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/133/v1/model.glb\" alt=\"Frontier sandstone outcrop\" 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/133/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/133/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"134","slug":"frontier-boardwalk-module","title":"Frontier boardwalk module","summary":"Two-metre timber boardwalk with individual deck planks and supporting sleepers. Repeats on a 2 m grid.","description":"Two-metre timber boardwalk with individual deck planks and supporting sleepers. Repeats on a 2 m grid.\n\nPart of the Frontier Post collection. Dimensions: 2 m wide, 0.22 m high and 2 m deep. Uses metres with +Y up and +Z forward. The origin sits on the ground at the horizontal centre. Static mesh with no rig, animation or collision mesh. Shared collection colours support a consistent game environment. CC0 licensed for commercial and personal projects.\n\nPart of [Frontier Post](/packs/frontier-post).","status":"published","url":"https://3dassets.dev/assets/frontier-boardwalk-module","cdnUrl":"https://cdn.3dassets.dev/assets/134/v1/model.glb","downloadUrl":"https://3dassets.dev/download/frontier-boardwalk-module","thumbnailUrl":"https://cdn.3dassets.dev/assets/134/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/134/v1/poster.webp","blurhash":"U7C5|y%J02Se?FoeM}o200M}}@af0NWBoxRk","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"western","title":"Western"},{"slug":"low-poly","title":"Low Poly"},{"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":8596,"triangles":144,"vertices":432,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-1,0.00006164604803700346,-1],"max":[1,0.22005035360348443,1]},"sizeMeters":[2,0.22,2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:11:24.503Z","updatedAt":"2026-09-06T03:41:45.568Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/134/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FrontierBoardwalkModule(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/134/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/134/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/134/v1/model.glb\" alt=\"Frontier boardwalk module\" 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/134/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/134/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"135","slug":"frontier-split-rail-fence","title":"Frontier split rail fence","summary":"Two-metre ranch boundary with three timber rails and square ground posts.","description":"Two-metre ranch boundary with three timber rails and square ground posts.\n\nPart of the Frontier Post collection. Dimensions: 2.1 m wide, 1.32 m high and 0.22 m deep. Uses metres with +Y up and +Z forward. The origin sits on the ground at the horizontal centre. Static mesh with no rig, animation or collision mesh. Shared collection colours support a consistent game environment. CC0 licensed for commercial and personal projects.\n\nPart of [Frontier Post](/packs/frontier-post).","status":"published","url":"https://3dassets.dev/assets/frontier-split-rail-fence","cdnUrl":"https://cdn.3dassets.dev/assets/135/v1/model.glb","downloadUrl":"https://3dassets.dev/download/frontier-split-rail-fence","thumbnailUrl":"https://cdn.3dassets.dev/assets/135/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/135/v1/poster.webp","blurhash":"UDF5v$%e00xY_2^*IUD%00n,~qIV4oM{-:%f","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"western","title":"Western"},{"slug":"low-poly","title":"Low Poly"},{"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":5408,"triangles":76,"vertices":228,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-1.0499999523162842,-0.00005121489492621034,-0.10997649575333376],"max":[1.0499999523162842,1.3200512673470137,0.10997649575333376]},"sizeMeters":[2.1,1.32,0.22],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:11:26.304Z","updatedAt":"2026-09-06T03:41:45.559Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/135/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FrontierSplitRailFence(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/135/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/135/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/135/v1/model.glb\" alt=\"Frontier split rail fence\" 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/135/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/135/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"136","slug":"frontier-telegraph-pole","title":"Frontier telegraph pole","summary":"Freestanding telegraph pole with two crossarms and six blue insulators for route dressing.","description":"Freestanding telegraph pole with two crossarms and six blue insulators for route dressing.\n\nPart of the Frontier Post collection. Dimensions: 1.4 m wide, 4 m high and 0.24 m deep. Uses metres with +Y up and +Z forward. The origin sits on the ground at the horizontal centre. Static mesh with no rig, animation or collision mesh. Shared collection colours support a consistent game environment. CC0 licensed for commercial and personal projects.\n\nPart of [Frontier Post](/packs/frontier-post).","status":"published","url":"https://3dassets.dev/assets/frontier-telegraph-pole","cdnUrl":"https://cdn.3dassets.dev/assets/136/v1/model.glb","downloadUrl":"https://3dassets.dev/download/frontier-telegraph-pole","thumbnailUrl":"https://cdn.3dassets.dev/assets/136/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/136/v1/poster.webp","blurhash":"U77A;*s;01I.~Vt74:M{xut7RjM{ofofWVRQ","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"western","title":"Western"},{"slug":"low-poly","title":"Low Poly"},{"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":14996,"triangles":260,"vertices":780,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.7000335703604236,0,-0.11987670522171698],"max":[0.7000335703604236,4,0.11987670522171698]},"sizeMeters":[1.4,4,0.24],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:11:28.100Z","updatedAt":"2026-09-06T03:41:45.549Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/136/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FrontierTelegraphPole(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/136/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/136/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/136/v1/model.glb\" alt=\"Frontier telegraph pole\" 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/136/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/136/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"137","slug":"frontier-hitching-post","title":"Frontier hitching post","summary":"Two-post horse hitch with iron rings, a horizontal timber rail and a worn feeding trough.","description":"Two-post horse hitch with iron rings, a horizontal timber rail and a worn feeding trough.\n\nPart of the Frontier Post collection. Dimensions: 2 m wide, 1.15 m high and 0.92 m deep. Uses metres with +Y up and +Z forward. The origin sits on the ground at the horizontal centre. Static mesh with no rig, animation or collision mesh. Shared collection colours support a consistent game environment. CC0 licensed for commercial and personal projects.\n\nPart of [Frontier Post](/packs/frontier-post).","status":"published","url":"https://3dassets.dev/assets/frontier-hitching-post","cdnUrl":"https://cdn.3dassets.dev/assets/137/v1/model.glb","downloadUrl":"https://3dassets.dev/download/frontier-hitching-post","thumbnailUrl":"https://cdn.3dassets.dev/assets/137/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/137/v1/poster.webp","blurhash":"U4ELQbbW0102t7={RP9u00NI9a-8~A%L4?4:","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"western","title":"Western"},{"slug":"low-poly","title":"Low Poly"},{"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":15608,"triangles":288,"vertices":864,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-1,-0.00002976746766802929,-0.4574419385357219],"max":[1,1.1500297436258102,0.4574419385357219]},"sizeMeters":[2,1.15,0.915],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:11:30.023Z","updatedAt":"2026-09-06T03:41:45.541Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/137/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FrontierHitchingPost(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/137/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/137/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/137/v1/model.glb\" alt=\"Frontier hitching post\" 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/137/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/137/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"138","slug":"frontier-strapped-supply-crate","title":"Frontier strapped supply crate","summary":"Reinforced timber supply crate with corner battens, two iron straps and recessed side handles.","description":"Reinforced timber supply crate with corner battens, two iron straps and recessed side handles.\n\nPart of the Frontier Post collection. Dimensions: 1.2 m wide, 0.85 m high and 0.84 m deep. Uses metres with +Y up and +Z forward. The origin sits on the ground at the horizontal centre. Static mesh with no rig, animation or collision mesh. Shared collection colours support a consistent game environment. CC0 licensed for commercial and personal projects.\n\nPart of [Frontier Post](/packs/frontier-post).","status":"published","url":"https://3dassets.dev/assets/frontier-strapped-supply-crate","cdnUrl":"https://cdn.3dassets.dev/assets/138/v1/model.glb","downloadUrl":"https://3dassets.dev/download/frontier-strapped-supply-crate","thumbnailUrl":"https://cdn.3dassets.dev/assets/138/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/138/v1/poster.webp","blurhash":"U8F}l%~U02i_?v$%xGR*03IpE2M|IU%MRPD*","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"western","title":"Western"},{"slug":"low-poly","title":"Low Poly"},{"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":6504,"triangles":108,"vertices":324,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.6000000238418579,-0.00002442474265845762,-0.41747719912408643],"max":[0.6000000238418579,0.8500000238418579,0.41747719912408643]},"sizeMeters":[1.2,0.85,0.835],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:16:28.987Z","updatedAt":"2026-09-06T03:41:45.533Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/138/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FrontierStrappedSupplyCrate(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/138/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/138/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/138/v1/model.glb\" alt=\"Frontier strapped supply crate\" 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/138/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/138/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"240","slug":"frontier-canvas-bedroll","title":"Frontier canvas bedroll","summary":"Rolled trail blanket with leather securing straps and a small folded pillow for camps.","description":"Rolled trail blanket with leather securing straps and a small folded pillow for camps.\n\nPart of the Frontier Post collection. Dimensions: 1.05 m wide, 0.45 m high and 0.72 m deep. Uses metres with +Y up and +Z forward. The origin sits on the ground at the horizontal centre. Static mesh with no rig, animation or collision mesh. Shared collection colours support a consistent game environment. CC0 licensed for commercial and personal projects.\n\nPart of [Frontier Post](/packs/frontier-post).","status":"published","url":"https://3dassets.dev/assets/frontier-canvas-bedroll","cdnUrl":"https://cdn.3dassets.dev/assets/240/v1/model.glb","downloadUrl":"https://3dassets.dev/download/frontier-canvas-bedroll","thumbnailUrl":"https://cdn.3dassets.dev/assets/240/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/240/v1/poster.webp","blurhash":"UBCt2%-U004oT0XSi^sl00XT_N%1,BwbT0Iq","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"western","title":"Western"},{"slug":"low-poly","title":"Low Poly"},{"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":13784,"triangles":224,"vertices":672,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.5249999761581421,0.000019066461631439546,-0.362364242810174],"max":[0.5249999761581421,0.44999755156526966,0.3623601689701779]},"sizeMeters":[1.05,0.45,0.725],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:19:45.224Z","updatedAt":"2026-09-06T03:41:44.723Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/240/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FrontierCanvasBedroll(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/240/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/240/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/240/v1/model.glb\" alt=\"Frontier canvas bedroll\" 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/240/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/240/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"241","slug":"frontier-oil-lantern","title":"Frontier oil lantern","summary":"Hand lantern with a protective iron frame, warm glass chamber and arched carry handle.","description":"Hand lantern with a protective iron frame, warm glass chamber and arched carry handle.\n\nPart of the Frontier Post collection. Dimensions: 0.48 m wide, 0.83 m high and 0.48 m deep. Uses metres with +Y up and +Z forward. The origin sits on the ground at the horizontal centre. Static mesh with no rig, animation or collision mesh. Shared collection colours support a consistent game environment. CC0 licensed for commercial and personal projects.\n\nPart of [Frontier Post](/packs/frontier-post).","status":"published","url":"https://3dassets.dev/assets/frontier-oil-lantern","cdnUrl":"https://cdn.3dassets.dev/assets/241/v1/model.glb","downloadUrl":"https://3dassets.dev/download/frontier-oil-lantern","thumbnailUrl":"https://cdn.3dassets.dev/assets/241/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/241/v1/poster.webp","blurhash":"U78gskxu00D%4;WC?Fs:01Rk^*t7~9oe4=NI","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"western","title":"Western"},{"slug":"low-poly","title":"Low Poly"},{"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":12588,"triangles":224,"vertices":672,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.24000518332068477,0,-0.24000518332068477],"max":[0.24000518332068477,0.8299999833106995,0.24000518332068477]},"sizeMeters":[0.48,0.83,0.48],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:19:47.780Z","updatedAt":"2026-09-06T03:41:44.715Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/241/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FrontierOilLantern(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/241/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/241/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/241/v1/model.glb\" alt=\"Frontier oil lantern\" 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/241/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/241/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"242","slug":"frontier-hand-water-pump","title":"Frontier hand water pump","summary":"Iron hand pump on a stone base with an angled lever and projecting water spout.","description":"Iron hand pump on a stone base with an angled lever and projecting water spout.\n\nPart of the Frontier Post collection. Dimensions: 1.01 m wide, 1.69 m high and 0.93 m deep. Uses metres with +Y up and +Z forward. The origin sits on the ground at the horizontal centre. Static mesh with no rig, animation or collision mesh. Shared collection colours support a consistent game environment. CC0 licensed for commercial and personal projects.\n\nPart of [Frontier Post](/packs/frontier-post).","status":"published","url":"https://3dassets.dev/assets/frontier-hand-water-pump","cdnUrl":"https://cdn.3dassets.dev/assets/242/v1/model.glb","downloadUrl":"https://3dassets.dev/download/frontier-hand-water-pump","thumbnailUrl":"https://cdn.3dassets.dev/assets/242/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/242/v1/poster.webp","blurhash":"U58qB6xv00M^01I:~V-VrqMxR.%g-os+NGS6","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"western","title":"Western"},{"slug":"low-poly","title":"Low Poly"},{"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":9556,"triangles":144,"vertices":432,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.5050000101327896,-0.000011599268947871944,-0.4675000011920929],"max":[0.5049999952316284,1.690001707426174,0.4675067235963902]},"sizeMeters":[1.01,1.69,0.935],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:20:40.187Z","updatedAt":"2026-09-06T03:41:44.706Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/242/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FrontierHandWaterPump(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/242/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/242/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/242/v1/model.glb\" alt=\"Frontier hand water pump\" 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/242/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/242/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"243","slug":"frontier-trail-signpost","title":"Frontier trail signpost","summary":"Timber wayfinding sign with three blank direction boards ready for in-game destination labels.","description":"Timber wayfinding sign with three blank direction boards ready for in-game destination labels.\n\nPart of the Frontier Post collection. Dimensions: 1.65 m wide, 2.2 m high and 0.26 m deep. Uses metres with +Y up and +Z forward. The origin sits on the ground at the horizontal centre. Static mesh with no rig, animation or collision mesh. Shared collection colours support a consistent game environment. CC0 licensed for commercial and personal projects.\n\nPart of [Frontier Post](/packs/frontier-post).","status":"published","url":"https://3dassets.dev/assets/frontier-trail-signpost","cdnUrl":"https://cdn.3dassets.dev/assets/243/v1/model.glb","downloadUrl":"https://3dassets.dev/download/frontier-trail-signpost","thumbnailUrl":"https://cdn.3dassets.dev/assets/243/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/243/v1/poster.webp","blurhash":"UDBW6-xu00Io~p%L9FD*56%L?HD%8{j[.8ax","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"western","title":"Western"},{"slug":"low-poly","title":"Low Poly"},{"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":8656,"triangles":120,"vertices":360,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.824999988079071,0,-0.1287505473965205],"max":[0.824999988079071,2.200000047683716,0.1287795887538585]},"sizeMeters":[1.65,2.2,0.258],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:21:00.188Z","updatedAt":"2026-09-06T03:41:44.697Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/243/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FrontierTrailSignpost(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/243/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/243/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/243/v1/model.glb\" alt=\"Frontier trail signpost\" 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/243/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/243/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"244","slug":"frontier-mining-pickaxe","title":"Frontier mining pickaxe","summary":"Wood-handled mining pick with tapered steel ends and a reinforced central head.","description":"Wood-handled mining pick with tapered steel ends and a reinforced central head.\n\nPart of the Frontier Post collection. Dimensions: 1.02 m wide, 1.1 m high and 0.16 m deep. Uses metres with +Y up and +Z forward. The origin sits on the ground at the horizontal centre. Static mesh with no rig, animation or collision mesh. Shared collection colours support a consistent game environment. CC0 licensed for commercial and personal projects.\n\nPart of [Frontier Post](/packs/frontier-post).","status":"published","url":"https://3dassets.dev/assets/frontier-mining-pickaxe","cdnUrl":"https://cdn.3dassets.dev/assets/244/v1/model.glb","downloadUrl":"https://3dassets.dev/download/frontier-mining-pickaxe","thumbnailUrl":"https://cdn.3dassets.dev/assets/244/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/244/v1/poster.webp","blurhash":"U484Vk-n004=yEoMs8t50NXA~9xTjEtRIUIA","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"western","title":"Western"},{"slug":"low-poly","title":"Low Poly"},{"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":5076,"triangles":60,"vertices":180,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.5117685794830322,0,-0.07996628092144917],"max":[0.5117685794830322,1.100000023841858,0.07996628092144917]},"sizeMeters":[1.024,1.1,0.16],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:21:11.971Z","updatedAt":"2026-09-06T03:41:44.689Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/244/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FrontierMiningPickaxe(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/244/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/244/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/244/v1/model.glb\" alt=\"Frontier mining pickaxe\" 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/244/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/244/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"245","slug":"frontier-prospecting-pan","title":"Frontier prospecting pan","summary":"Shallow gold prospecting pan with stepped rim, interior gravel and visible gold nuggets.","description":"Shallow gold prospecting pan with stepped rim, interior gravel and visible gold nuggets.\n\nPart of the Frontier Post collection. Dimensions: 0.94 m wide, 0.17 m high and 0.94 m deep. Uses metres with +Y up and +Z forward. The origin sits on the ground at the horizontal centre. Static mesh with no rig, animation or collision mesh. Shared collection colours support a consistent game environment. CC0 licensed for commercial and personal projects.\n\nPart of [Frontier Post](/packs/frontier-post).","status":"published","url":"https://3dassets.dev/assets/frontier-prospecting-pan","cdnUrl":"https://cdn.3dassets.dev/assets/245/v1/model.glb","downloadUrl":"https://3dassets.dev/download/frontier-prospecting-pan","thumbnailUrl":"https://cdn.3dassets.dev/assets/245/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/245/v1/poster.webp","blurhash":"U36t{^WA00xuxuRjRjt700ay~pWBIoxut6M{","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"western","title":"Western"},{"slug":"low-poly","title":"Low Poly"},{"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":29548,"triangles":560,"vertices":1680,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.4699999988079071,0.0000034320641233986926,-0.4699999988079071],"max":[0.4699999988079071,0.17499656495564436,0.4699999988079071]},"sizeMeters":[0.94,0.175,0.94],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:21:42.723Z","updatedAt":"2026-09-06T03:41:44.680Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/245/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FrontierProspectingPan(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/245/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/245/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/245/v1/model.glb\" alt=\"Frontier prospecting pan\" 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/245/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/245/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"246","slug":"frontier-bean-skillet-meal","title":"Frontier bean skillet meal","summary":"Camp skillet with beans, a folded bread portion and an extended iron handle.","description":"Camp skillet with beans, a folded bread portion and an extended iron handle.\n\nPart of the Frontier Post collection. Dimensions: 0.66 m wide, 0.18 m high and 1.01 m deep. Uses metres with +Y up and +Z forward. The origin sits on the ground at the horizontal centre. Static mesh with no rig, animation or collision mesh. Shared collection colours support a consistent game environment. CC0 licensed for commercial and personal projects.\n\nPart of [Frontier Post](/packs/frontier-post).","status":"published","url":"https://3dassets.dev/assets/frontier-bean-skillet-meal","cdnUrl":"https://cdn.3dassets.dev/assets/246/v1/model.glb","downloadUrl":"https://3dassets.dev/download/frontier-bean-skillet-meal","thumbnailUrl":"https://cdn.3dassets.dev/assets/246/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/246/v1/poster.webp","blurhash":"U46RAWNG00-o-;RjE1xa00xZ~WI:0L%3_2Io","category":{"slug":"food","title":"Food & Drink"},"tags":[{"slug":"western","title":"Western"},{"slug":"low-poly","title":"Low Poly"},{"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":47572,"triangles":936,"vertices":2808,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.3300292946528547,0.00003677849197757099,-0.5049999952316284],"max":[0.3300292946528547,0.1799966450873856,0.5049999952316284]},"sizeMeters":[0.66,0.18,1.01],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:22:13.510Z","updatedAt":"2026-09-06T03:41:44.672Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/246/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FrontierBeanSkilletMeal(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/246/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/246/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/246/v1/model.glb\" alt=\"Frontier bean skillet meal\" 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/246/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/246/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"247","slug":"frontier-corn-harvest-basket","title":"Frontier corn harvest basket","summary":"Open harvest basket carrying five husked corn cobs for markets and trail provisions.","description":"Open harvest basket carrying five husked corn cobs for markets and trail provisions.\n\nPart of the Frontier Post collection. Dimensions: 0.68 m wide, 0.41 m high and 0.65 m deep. Uses metres with +Y up and +Z forward. The origin sits on the ground at the horizontal centre. Static mesh with no rig, animation or collision mesh. Shared collection colours support a consistent game environment. CC0 licensed for commercial and personal projects.\n\nPart of [Frontier Post](/packs/frontier-post).","status":"published","url":"https://3dassets.dev/assets/frontier-corn-harvest-basket","cdnUrl":"https://cdn.3dassets.dev/assets/247/v1/model.glb","downloadUrl":"https://3dassets.dev/download/frontier-corn-harvest-basket","thumbnailUrl":"https://cdn.3dassets.dev/assets/247/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/247/v1/poster.webp","blurhash":"UBDb.vxC00Ne~pNGD*t701NG?Fxt01xa-.WV","category":{"slug":"food","title":"Food & Drink"},"tags":[{"slug":"western","title":"Western"},{"slug":"low-poly","title":"Low Poly"},{"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":20656,"triangles":360,"vertices":1080,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.3400000035762787,-0.000010986663847939449,-0.32335642907338397],"max":[0.3400000035762787,0.4099879612702282,0.32335642907338397]},"sizeMeters":[0.68,0.41,0.647],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:22:17.336Z","updatedAt":"2026-09-06T03:41:44.665Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/247/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FrontierCornHarvestBasket(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/247/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/247/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/247/v1/model.glb\" alt=\"Frontier corn harvest basket\" 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/247/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/247/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"248","slug":"frontier-ranger-badge-collectible","title":"Frontier ranger badge collectible","summary":"Raised six-point ranger badge with a central inset medallion for quests and collectible markers.","description":"Raised six-point ranger badge with a central inset medallion for quests and collectible markers.\n\nPart of the Frontier Post collection. Dimensions: 0.55 m wide, 0.64 m high and 0.29 m deep. Uses metres with +Y up and +Z forward. The origin sits on the ground at the horizontal centre. Static mesh with no rig, animation or collision mesh. Shared collection colours support a consistent game environment. CC0 licensed for commercial and personal projects.\n\nPart of [Frontier Post](/packs/frontier-post).","status":"published","url":"https://3dassets.dev/assets/frontier-ranger-badge-collectible","cdnUrl":"https://cdn.3dassets.dev/assets/248/v1/model.glb","downloadUrl":"https://3dassets.dev/download/frontier-ranger-badge-collectible","thumbnailUrl":"https://cdn.3dassets.dev/assets/248/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/248/v1/poster.webp","blurhash":"UGCimh-o019u-oxtM{Ip01NG~UxaIVM|xt%L","category":{"slug":"icons","title":"3D Icons & UI"},"tags":[{"slug":"western","title":"Western"},{"slug":"low-poly","title":"Low Poly"}],"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":8800,"triangles":144,"vertices":432,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.2771471235394627,0,-0.14501403061642973],"max":[0.2771471235394627,0.6399999856948853,0.14500159957350459]},"sizeMeters":[0.554,0.64,0.29],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:22:20.347Z","updatedAt":"2026-09-06T03:41:44.656Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/248/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FrontierRangerBadgeCollectible(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/248/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/248/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/248/v1/model.glb\" alt=\"Frontier ranger badge collectible\" 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/248/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/248/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"249","slug":"frontier-dust-impact-mesh","title":"Frontier dust impact mesh","summary":"Static faceted dust burst with a low ground ring and rising debris for scripted impact effects.","description":"Static faceted dust burst with a low ground ring and rising debris for scripted impact effects.\n\nPart of the Frontier Post collection. Dimensions: 1.3 m wide, 0.76 m high and 1.3 m deep. Uses metres with +Y up and +Z forward. The origin sits on the ground at the horizontal centre. Static mesh with no rig, animation or collision mesh. Shared collection colours support a consistent game environment. CC0 licensed for commercial and personal projects.\n\nPart of [Frontier Post](/packs/frontier-post).","status":"published","url":"https://3dassets.dev/assets/frontier-dust-impact-mesh","cdnUrl":"https://cdn.3dassets.dev/assets/249/v1/model.glb","downloadUrl":"https://3dassets.dev/download/frontier-dust-impact-mesh","thumbnailUrl":"https://cdn.3dassets.dev/assets/249/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/249/v1/poster.webp","blurhash":"U9Bf%?WA00t84:Rj-poy00t7~VM{?FxuM|Rj","category":{"slug":"effects-primitives","title":"Effects & Primitives"},"tags":[{"slug":"western","title":"Western"},{"slug":"low-poly","title":"Low Poly"}],"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":31068,"triangles":608,"vertices":1824,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.6499999761581421,-0.00003783378041682939,-0.6499999761581421],"max":[0.6499999761581421,0.7600378242436736,0.6499999761581421]},"sizeMeters":[1.3,0.76,1.3],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:22:22.566Z","updatedAt":"2026-09-06T03:41:44.647Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/249/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FrontierDustImpactMesh(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/249/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/249/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/249/v1/model.glb\" alt=\"Frontier dust impact mesh\" 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/249/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/249/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"250","slug":"frontier-post-starter-scene","title":"Frontier Post starter scene","summary":"A composed frontier post scene with named objects. Use it as a starting layout for a web or mobile game.","description":"A composed example built from the Frontier Post kit. Each placed object has a named parent node for editing in three.js or Blender.\n\nUses metres, Y up and the pack's shared palette. This is a static environment layout. Individual models are also included in the pack. Collision meshes, navigation meshes, scripts and lighting are not included.\n\nPart of [Frontier Post](/packs/frontier-post).","status":"published","url":"https://3dassets.dev/assets/frontier-post-starter-scene","cdnUrl":"https://cdn.3dassets.dev/assets/250/v1/model.glb","downloadUrl":"https://3dassets.dev/download/frontier-post-starter-scene","thumbnailUrl":"https://cdn.3dassets.dev/assets/250/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/250/v1/poster.webp","blurhash":"UEC$$Kxu0Ls:4:oK%2WB00M{%2R*~VWXNHt7","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"western","title":"Western"},{"slug":"low-poly","title":"Low Poly"},{"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":427188,"triangles":8084,"vertices":24252,"meshes":73,"materials":8,"textures":0,"animations":[],"boundingBox":{"min":[-9.868365287780762,-0.2001195979248136,-8.670200873400638],"max":[9.204999923706055,4.920000076293945,7.816353369738529]},"sizeMeters":[19.073,5.12,16.487],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:22:25.241Z","updatedAt":"2026-09-06T03:41:44.639Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/250/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FrontierPostStarterScene(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/250/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/250/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/250/v1/model.glb\" alt=\"Frontier Post starter scene\" 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/250/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/250/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}}]}}