Ground cover
ground-cover
dresses tree:ground-cover
— and nothing else. Appearance is invisible to the drawing set, so adding this changes no
plan, no section and no elevation.
- 14of 500 meshes
- 1slot
- 1finish
Drag to orbit · scroll to zoom
$foliage
This definition leaves
$foliage
open, and a look line fills them. Every combination is one body — same
geometry, same selector, same sheets — so the block below rewrites itself as you pick.
Only materials are slottable: a size would have to agree with the plan, so it stays on
the entity.
Paste this
Every part: the 1 materialdef the body resolves to, then the definition. Copying the lookdef alone still compiles and still validates — it just renders grey.
{"t":"materialdef","id":"pack-groundcover-leaf","of":"foliage","value":42,"accent":"#355b32","body":{"flatShading":true,"clearcoat":0.18}}
{"t":"lookdef","id":"ground-cover","for":"tree:ground-cover","desc":"Low spreading ground cover with an irregular planted edge and a fine leaf layer over its larger cushions.","slots":{"foliage":"pack-groundcover-leaf"},"preview":{"projection":"perspective","azimuth":-38,"elevation":24,"fov":34,"margin":1.03},"body":{"type":"Group","children":[{"type":"Mesh","material":"$foliage","geometry":{"type":"IcosahedronGeometry","radius":1,"detail":2},"position":[-1.647,0.28,-0.45],"scale":[0.864,0.3,0.62],"rotation":[0.1,0.3,0.04]},{"type":"Mesh","material":"$foliage","geometry":{"type":"IcosahedronGeometry","radius":1,"detail":2},"position":[-0.8784,0.4,-0.48],"scale":[1.104,0.42,0.76],"rotation":[0.2,1,-0.04]},{"type":"Mesh","material":"$foliage","geometry":{"type":"IcosahedronGeometry","radius":1,"detail":2},"position":[0.0244,0.5,-0.42],"scale":[1.224,0.52,0.82],"rotation":[0.1,1.7,0.05]},{"type":"Mesh","material":"$foliage","geometry":{"type":"IcosahedronGeometry","radius":1,"detail":2},"position":[0.9516,0.4,-0.4],"scale":[1.08,0.42,0.74],"rotation":[0.2,2.4,-0.05]},{"type":"Mesh","material":"$foliage","geometry":{"type":"IcosahedronGeometry","radius":1,"detail":2},"position":[1.6836,0.27,-0.28],"scale":[0.84,0.29,0.6],"rotation":[0.1,3.1,0.04]},{"type":"Mesh","material":"$foliage","geometry":{"type":"IcosahedronGeometry","radius":1,"detail":2},"position":[-1.7324,0.24,0.18],"scale":[0.816,0.27,0.58],"rotation":[0.2,3.8,-0.04]},{"type":"Mesh","material":"$foliage","geometry":{"type":"IcosahedronGeometry","radius":1,"detail":2},"position":[-0.9272,0.43,0.18],"scale":[1.128,0.44,0.78],"rotation":[0.1,4.5,0.05]},{"type":"Mesh","material":"$foliage","geometry":{"type":"IcosahedronGeometry","radius":1,"detail":2},"position":[0,0.58,0.12],"scale":[1.296,0.58,0.88],"rotation":[0.2,5.2,-0.04]},{"type":"Mesh","material":"$foliage","geometry":{"type":"IcosahedronGeometry","radius":1,"detail":2},"position":[0.8784,0.46,0.18],"scale":[1.176,0.47,0.8],"rotation":[0.1,5.9,0.04]},{"type":"Mesh","material":"$foliage","geometry":{"type":"IcosahedronGeometry","radius":1,"detail":2},"position":[1.647,0.3,0.2],"scale":[0.864,0.31,0.62],"rotation":[0.2,0.7,-0.04]},{"type":"Mesh","material":"$foliage","geometry":{"type":"IcosahedronGeometry","radius":1,"detail":2},"position":[-1.1956,0.3,0.65],"scale":[0.888,0.31,0.62],"rotation":[0.1,1.4,0.04]},{"type":"Mesh","material":"$foliage","geometry":{"type":"IcosahedronGeometry","radius":1,"detail":2},"position":[-0.3416,0.42,0.68],"scale":[1.08,0.42,0.72],"rotation":[0.2,2.1,-0.04]},{"type":"Mesh","material":"$foliage","geometry":{"type":"IcosahedronGeometry","radius":1,"detail":2},"position":[0.5856,0.4,0.66],"scale":[1.056,0.4,0.7],"rotation":[0.1,2.8,0.04]},{"type":"Mesh","material":"$foliage","geometry":{"type":"IcosahedronGeometry","radius":1,"detail":2},"position":[1.2444,0.26,0.58],"scale":[0.816,0.28,0.58],"rotation":[0.2,3.5,-0.04]}]}}
Or take the whole pack, which brings every entry and every material at once:
cat packs/trees.ndjson model.ndjson > dressed.ndjson
Download trees pack
245 KB · NDJSON ↓