Columnar pine 2
columnar-pine-2
dresses tree:pine
— and nothing else. Appearance is invisible to the drawing set, so adding this changes no
plan, no section and no elevation.
- 10of 500 meshes
- 2slots
- 2finishes
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":"pack-dark-bark","of":"timber","value":20,"accent":"#463a30"}
{"t":"materialdef","id":"pack-pine-needle","of":"foliage","value":42,"accent":"#3f6350","body":{"flatShading":true}}
{"t":"lookdef","id":"columnar-pine-2","for":"tree:pine","desc":"Dense columnar pine with layered conical foliage and narrow upright silhouette.","slots":{"foliage":"pack-pine-needle","bark":"pack-dark-bark"},"body":{"type":"Group","children":[{"type":"Mesh","material":"$bark","geometry":{"type":"LatheGeometry","profile":[[0,0],[0.18,0],[0.14,0.18],[0.1,0.75],[0.07,4.8],[0,5.5]],"segments":16}},{"type":"Mesh","material":"$foliage","geometry":{"type":"ConeGeometry","radius":0.46,"height":5.1,"radialSegments":24,"heightSegments":6},"position":[0,3.2,0],"scale":[1,1,0.94]},{"type":"Mesh","material":"$foliage","geometry":{"type":"IcosahedronGeometry","radius":1,"detail":2},"position":[0,1.18,0],"scale":[0.5,0.9512,0.48],"rotation":[0.1,0.3,0]},{"type":"Mesh","material":"$foliage","geometry":{"type":"IcosahedronGeometry","radius":1,"detail":2},"position":[-0.02,1.85,0.0075],"scale":[0.56,1.102,0.52],"rotation":[0.2,1.1,0.04]},{"type":"Mesh","material":"$foliage","geometry":{"type":"IcosahedronGeometry","radius":1,"detail":2},"position":[0.0175,2.58,-0.01],"scale":[0.54,1.16,0.5],"rotation":[0.1,2,-0.04]},{"type":"Mesh","material":"$foliage","geometry":{"type":"IcosahedronGeometry","radius":1,"detail":2},"position":[-0.015,3.34,0.005],"scale":[0.5,1.1832,0.47],"rotation":[0.2,2.9,0.04]},{"type":"Mesh","material":"$foliage","geometry":{"type":"IcosahedronGeometry","radius":1,"detail":2},"position":[0.0125,4.05,-0.0075],"scale":[0.44,1.1136,0.42],"rotation":[0.1,3.8,-0.04]},{"type":"Mesh","material":"$foliage","geometry":{"type":"IcosahedronGeometry","radius":1,"detail":2},"position":[-0.01,4.7,0.005],"scale":[0.36,0.9512,0.35],"rotation":[0.2,4.7,0.04]},{"type":"Mesh","material":"$foliage","geometry":{"type":"IcosahedronGeometry","radius":1,"detail":2},"position":[0.0075,5.25,0],"scale":[0.27,0.7888,0.27],"rotation":[0.1,5.6,-0.03]},{"type":"Mesh","material":"$foliage","geometry":{"type":"IcosahedronGeometry","radius":1,"detail":2},"position":[0,5.72,0],"scale":[0.16,0.5568,0.16],"rotation":[0.2,0.8,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 ↓
The 2 finishes this pack ships
Combinations the pack author curated, rendered under one light and one camera because a comparison needs everything but the variable held still. Pick one to load it above — or mix your own with the slot controls.