fogón

← NaturalezaObjeto 3Dfogon/seto

Seto

de fogonCC08832 bloques
SetoArrastrá para girarlo
// «Seto» · gpt-6-sol (medium)
// A rectangular trimmed hedge: a box of dense green leaves about 46 blocks long (along x), 12 deep and 16 tall, with flat clipped sides, slight leaf texture noise and slightly lighter top.

// A flat-clipped, rectangular hedge: 46 × 12 × 16 blocks.
const x0 = 1, x1 = 46;
const y0 = 18, y1 = 29;
const top = 15;

const deep = "#347e30";
const green = "#469d35";
const fresh = "#59b63d";
const sunlit = "#72c94a";

box(x0, y0, 0, x1, y1, top, green);

forEach((x, y, z) => {
  const edge = x === x0 || x === x1 || y === y0 || y === y1;
  if (!edge && z !== top) return;

  let color = z <= 2 ? deep : z >= 12 ? fresh : green;

  // The viewer-facing side has a little depth; the top catches the sun.
  if (y === y0 && z < top) color = z < 4 ? deep : green;
  if (z === top) color = sunlit;
  if (z === top && (x === x0 || x === x1 || y === y0 || y === y1))
    color = fresh;

  const fleck = rand();
  if (fleck < 0.10) color = z === top ? fresh : deep;
  else if (fleck > 0.84) color = z === top ? sunlit : fresh;

  set(x, y, z, color);
});

// Small, clustered leaf marks, kept flush with the clipped surfaces.
for (let i = 0; i < 55; i++) {
  const x = 3 + Math.floor(rand() * 42);
  const z = 2 + Math.floor(rand() * 11);
  const c = rand() < 0.55 ? fresh : deep;
  set(x, y0, z, c);
  set(x + 1, y0, z, c);
  if (rand() < 0.65) set(x, y0, z + 1, c);
}

for (let i = 0; i < 42; i++) {
  const x = 3 + Math.floor(rand() * 42);
  const y = 19 + Math.floor(rand() * 10);
  const c = rand() < 0.7 ? sunlit : fresh;
  set(x, y, top, c);
  set(x + 1, y, top, c);
  if (rand() < 0.6) set(x, y + 1, top, c);
}