fogón

← Piezas de nivel 2Objeto 3Dfogon/nivel-escalones

Escalones

de fogonCC032256 bloques
EscalonesArrastrá para girarlo
// «Escalones» · gpt-6-sol (medium)
// A modular staircase: full 48 wide on x (x 0..47), 48 deep on y. Six solid steps, each 8 deep on y and 4 taller than the previous, rising from z 0..3 at the front (y 0..7) to z 0..23 at the back (y 40..47), filled solid underneath. Light grey stone treads with a lighter front edge on each step, darker stone risers, flat vertical sides.

const tread = "#c6cdd1";
const treadLight = "#dbe0e2";
const frontEdge = "#edf0ef";
const stone = "#a1aab0";
const riser = "#858f99";
const side = "#929ca5";

for (let step = 0; step < 6; step++) {
  const y0 = step * 8;
  const y1 = y0 + 7;
  const top = step * 4 + 3;

  // Solid, grid-aligned step.
  box(0, y0, 0, 47, y1, top, stone);

  // Flat stone tread and its bright, readable front lip.
  box(0, y0, top, 47, y1, top, tread);
  box(0, y0 + 1, top, 47, y0 + 1, top, treadLight);
  box(0, y0, top, 47, y0, top, frontEdge);

  // Only the newly exposed four-block rise is visible at each step.
  const riseBottom = step === 0 ? 0 : top - 3;
  box(0, y0, riseBottom, 47, y0, top - 1, riser);
  box(0, y0, top - 1, 47, y0, top - 1, "#aeb7bc");

  // Clean, flat vertical sides, with subtle horizontal stone joints.
  for (const x of [0, 47]) {
    for (let y = y0; y <= y1; y++) {
      for (let z = 0; z < top; z++) {
        let color = side;
        if (z > 0 && z % 4 === 0) color = "#87919a";
        else if (z < 2) color = "#89939c";
        set(x, y, z, color);
      }
    }
  }

  // Very light variation on broad treads; keep the kit crisp.
  for (let y = y0 + 2; y <= y1; y++) {
    for (let x = 1; x < 47; x++) {
      if (rand() < 0.018) set(x, y, top, "#b9c2c7");
      else if (rand() < 0.012) set(x, y, top, "#d2d8da");
    }
  }
}

// Finished back face, without changing the upper tread.
box(1, 47, 0, 46, 47, 22, "#929ca5");