Skip to content
Kiln0.10Get Kiln

Group of low, pale faceted rocks with a larger central stone.

Shapes & Seasons Farm · Nature

Rock cluster, three-quarter view on a neutral backdrop

Drag to orbit after opening. The model starts stationary.

Revision r_37cde8b1f8d344aa8f6142aeab61a62e

Metres · +X forward · +Y up · +Z right

The poster is this revision’s sealed GLB rendered under the Kiln review lighting rig (review-neutral-v1) on the neutral backdrop, with nothing retouched. The 3D view applies the same rig (review-neutral-v1): its light directions and strengths, exposure, tone mapping and backdrop.

For your engine. The download is a standard glTF 2.0 binary (GLB) with PBR metallic-roughness materials. glTF stores materials, not lighting or tone mapping, so your engine decides how they read. This 3D view tone-maps with Review Neutral, the Khronos PBR Neutral construction with a smaller glare offset (0.015 instead of 0.04), at exposure 0.9. Its Tone mapping control also shows ACES and Linear, for comparison.

Triangles
400
Meshes drawn
1
Materials
1
Bounds · X × Y × Z
1.07 × 0.65 × 1.50 m
Animation clips
None

Review views

Six views of this revision, rendered on the GPU from its source.

Six rendered review views of rock-cluster.
Material-faithful GPU source review views for r_37cde8b1f8d344aa8f6142aeab61a62e.

Read the actual source.

Download .kiln.js

This is the source extracted from the sealed editable archive for the displayed revision.

rock-cluster.kiln.js
const meta={name:'Rock cluster',role:'prop'};

function merge(gs) {
 const p=[], n=[], uv=[];
 for (const source of gs) {
  const g=source.index?source.toNonIndexed():source;
  g.computeVertexNormals();
  const pa=g.getAttribute('position'),na=g.getAttribute('normal'),ua=g.getAttribute('uv');
  for(let i=0;i<pa.count;i++){p.push(pa.getX(i),pa.getY(i),pa.getZ(i));n.push(na.getX(i),na.getY(i),na.getZ(i));uv.push(ua?ua.getX(i):0,ua?ua.getY(i):0);}
 }
 const out=new THREE.BufferGeometry();
 out.setAttribute('position',new THREE.Float32BufferAttribute(p,3));
 out.setAttribute('normal',new THREE.Float32BufferAttribute(n,3));
 out.setAttribute('uv',new THREE.Float32BufferAttribute(uv,2));
 return out;
}
function boulder(c,s,seed,floor) {
 const g=new THREE.IcosahedronGeometry(1,1),p=g.getAttribute('position');
 for(let i=0;i<p.count;i++){
  const x=p.getX(i),y=p.getY(i),z=p.getZ(i);
  const r=1+0.07*Math.sin(x*4+seed)*Math.cos(z*5-seed)+0.035*Math.sin(y*7+seed);
  p.setXYZ(i,c[0]+s[0]*(x*r+0.09*y),Math.max(floor,c[1]+s[1]*y*r),c[2]+s[2]*(z*r+0.06*x));
 }
 g.computeVertexNormals(); return g;
}

function build(){
 const root=createRoot('RockCluster');
 // Five original deterministic closed stones; 4 cm intentional ground embedding.
 const stones=[
 {name:'Keystone',c:[-.1,.26,-.08],s:[.43,.34,.40],seed:14},
 {name:'EastShoulder',c:[.06,.18,.40],s:[.31,.26,.33],seed:22},
 {name:'EastToe',c:[-.34,.12,.48],s:[.24,.18,.27],seed:31},
 {name:'WestShoulder',c:[.19,.14,-.43],s:[.30,.21,.32],seed:41},
 {name:'WestToe',c:[-.33,.10,-.46],s:[.25,.16,.29],seed:53}
 ];
 const stone=gameMaterial(0xa39d8c,{roughness:.96,metalness:0});
 const g=merge(stones.map(v=>boulder(v.c,v.s,v.seed,-.04)));
 const part=createPart('Five_adjoining_stones',g,stone,{parent:root});
 part.userData.stones=stones.map((v,i)=>({name:v.name,firstTriangle:i*80,triangleCount:80,center:v.c}));
 return root;
}

Source SHA-256: 2ee4fed4c668f28260911affd4a9ee9c58cf1b416fcbd4a3fe1d657e97191868

Named part paths (1)
  • RockCluster/Mesh_Five_adjoining_stones

Follow the saved revisions.

Originally authored by GPT-6 Astra. No separate refinement model is recorded for this delivery.

  1. first

    GPT-6 Astra · Codex 0.157.1

    Requested effort: high. Independently confirmed: high.

    r_37cde8b1f8d344aa8f6142aeab61a62e

Download the assets

Runtime assets

Models, textures and animations prepared for use in a scene or application.

39,784 bytes (0.04 MB)

Download runtime assets

Editable assets

Models plus Kiln source, editing metadata, materials and included revisions, so you can reopen and continue editing.

596,633 bytes (0.60 MB)

Download editable assets

CC0-1.0 covers authored asset content only, to the extent of the owner’s rights. Kiln, the scene code, Three.js, BVH, Field Grass and other components retain their own licenses.