Layered canopy oak
layered-canopy-oak-2
dresses tree:oak-layered
— and nothing else. Appearance is invisible to the drawing set, so adding this changes no
plan, no section and no elevation.
- 20of 500 meshes
- 2slots
- 1finish
Drag to orbit · scroll to zoom
$foliage
$bark
This definition leaves
$foliage and $bark
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 2 materialdefs the body resolves to, then the definition. Copying the lookdef alone still compiles and still validates — it just renders grey.
{"t":"materialdef","id":"pal-leaf-pale","of":"foliage","value":58}
{"t":"materialdef","id":"pal-timber-dark","of":"timber","value":42}
{"t":"lookdef","id":"layered-canopy-oak-2","name":"Layered canopy oak","for":"tree:oak-layered","desc":"Sculptural oak with a stout branching base and seven clearly separated horizontal foliage pads.","slots":{"foliage":"pal-leaf-pale","bark":"pal-timber-dark"},"note":"A mature oak reduced to a stout branching trunk and seven broad, overlapping canopy clouds. Their irregular horizontal spread and generous depth form one organic umbrella crown rather than a stack of separate tiers.","body":{"type":"Group","children":[{"type":"Mesh","material":"$bark","geometry":{"type":"LatheGeometry","profile":[[0,0],[0.48,0],[0.38,0.34],[0.26,0.9],[0.2,1.75],[0.14,2.8],[0,3.1]],"segments":20}},{"type":"Mesh","material":"$bark","geometry":{"type":"TubeGeometry","path":[[0,0.12,0],[-0.2976,0.06,0.0768],[-0.62,0,0.16]],"radius":0.1,"radialSegments":9,"tubularSegments":16,"curve":"spline"}},{"type":"Mesh","material":"$bark","geometry":{"type":"TubeGeometry","path":[[0,0.12,0],[0.288,0.06,-0.0768],[0.6,0,-0.16]],"radius":0.1,"radialSegments":9,"tubularSegments":16,"curve":"spline"}},{"type":"Mesh","material":"$bark","geometry":{"type":"TubeGeometry","path":[[0,1.45,0],[-0.9,2.05,0.0432],[-2.3125,2.62,0.1944]],"radius":0.14,"radialSegments":9,"tubularSegments":16,"curve":"spline"}},{"type":"Mesh","material":"$bark","geometry":{"type":"TubeGeometry","path":[[0,1.52,0],[0.9375,2.1,0.1296],[2.35,2.72,0.324]],"radius":0.14,"radialSegments":9,"tubularSegments":16,"curve":"spline"}},{"type":"Mesh","material":"$bark","geometry":{"type":"TubeGeometry","path":[[-0.0375,1.75,0],[-0.525,2.45,-0.3672],[-1.25,3.35,-0.6696]],"radius":0.11,"radialSegments":9,"tubularSegments":16,"curve":"spline"}},{"type":"Mesh","material":"$bark","geometry":{"type":"TubeGeometry","path":[[0.0375,1.82,0],[0.5625,2.5,0.3456],[1.3125,3.5,0.6264]],"radius":0.11,"radialSegments":9,"tubularSegments":16,"curve":"spline"}},{"type":"Mesh","material":"$bark","geometry":{"type":"TubeGeometry","path":[[0,2,0],[-0.1,2.85,0.0864],[-0.225,4,0.162]],"radius":0.095,"radialSegments":9,"tubularSegments":16,"curve":"spline"}},{"type":"Mesh","material":"$foliage","geometry":{"type":"IcosahedronGeometry","radius":1,"detail":2},"position":[-2.064,2.4,0.12],"scale":[1.29375,0.34,0.86],"rotation":[0.12,0.5,0.04]},{"type":"Mesh","material":"$foliage","geometry":{"type":"IcosahedronGeometry","radius":1,"detail":2},"position":[-0.624,2.77,0.2],"scale":[1.2213,0.34,0.84],"rotation":[0.08,1.2,-0.03]},{"type":"Mesh","material":"$foliage","geometry":{"type":"IcosahedronGeometry","radius":1,"detail":2},"position":[0.864,2.92,-0.08],"scale":[1.2627,0.34,0.86],"rotation":[0.1,2,0.04]},{"type":"Mesh","material":"$foliage","geometry":{"type":"IcosahedronGeometry","radius":1,"detail":2},"position":[2.136,2.58,0.22],"scale":[1.2006,0.32,0.82],"rotation":[0.08,2.8,-0.03]},{"type":"Mesh","material":"$foliage","geometry":{"type":"IcosahedronGeometry","radius":1,"detail":2},"position":[-1.464,3.5,-0.3],"scale":[1.311,0.32,0.8],"rotation":[0.1,3.6,0.04]},{"type":"Mesh","material":"$foliage","geometry":{"type":"IcosahedronGeometry","radius":1,"detail":2},"position":[0.024,3.58,0.1],"scale":[1.403,0.34,0.84],"rotation":[0.08,4.4,-0.03]},{"type":"Mesh","material":"$foliage","geometry":{"type":"IcosahedronGeometry","radius":1,"detail":2},"position":[1.44,3.54,0.25],"scale":[1.288,0.31,0.78],"rotation":[0.1,5.2,0.04]},{"type":"Mesh","material":"$foliage","geometry":{"type":"IcosahedronGeometry","radius":1,"detail":2},"position":[-0.864,4.2,0.18],"scale":[1.127,0.3,0.72],"rotation":[0.08,6,-0.03]},{"type":"Mesh","material":"$foliage","geometry":{"type":"IcosahedronGeometry","radius":1,"detail":2},"position":[0.576,4.28,-0.12],"scale":[1.104,0.29,0.7],"rotation":[0.1,0.9,0.04]},{"type":"Mesh","material":"$foliage","geometry":{"type":"IcosahedronGeometry","radius":1,"detail":2},"position":[0,4.82,0.04],"scale":[0.897,0.27,0.62],"rotation":[0.08,1.8,-0.03]},{"type":"Mesh","material":"$foliage","geometry":{"type":"IcosahedronGeometry","radius":1,"detail":2},"position":[-2.16,3.18,0.45],"scale":[0.943,0.27,0.62],"rotation":[0.1,2.7,0.04]},{"type":"Mesh","material":"$foliage","geometry":{"type":"IcosahedronGeometry","radius":1,"detail":2},"position":[2.064,3.24,-0.42],"scale":[0.943,0.27,0.62],"rotation":[0.08,3.6,-0.03]}]},"preview":{"projection":"perspective","azimuth":-36,"elevation":14,"fov":30,"margin":1.03}}
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 ↓