fogón

← CiudadObjeto 3Dfogon/rascacielos

Rascacielos

de fogonCC013573 bloques
RascacielosArrastrá para girarlo
// «Rascacielos» · gpt-6-sol (medium)
// A modern skyscraper: a very tall slender tower (the full height of the grid) of blue-tinted glass curtain walls in a grid of light and dark panels, with slim silver vertical fins, a stepped crown near the top with a helipad and a red blinking antenna light, and a tall glass lobby at the base facing -y.

const concrete = "#d8d5cb";
const silver = "#c6d1d5";
const steel = "#607580";
const dark = "#263c50";

// Concrete footing and a warm brick base.
box(15, 15, 0, 33, 33, 1, concrete);
box(16, 17, 2, 32, 33, 8, "#b76550");
box(17, 18, 2, 31, 32, 39, dark);

// Blue curtain walls: alternating panes, with a little variation in the glass.
const glass = ["#5598b8", "#69acc9", "#79bad3", "#4788a9", "#83c1d7"];
function pane(x, y, z, face) {
  const lit = (Math.floor(x / 3) + Math.floor(y / 3) + Math.floor(z / 5)) % 3;
  const color = glass[(lit + (rand() < 0.12 ? 2 : 0)) % glass.length];
  if (face === "front") set(x, 17, z, color);
  if (face === "back") set(x, 33, z, color);
  if (face === "left") set(16, y, z, color);
  if (face === "right") set(32, y, z, color);
}

for (let z = 10; z <= 38; z++) {
  if ((z - 10) % 5 === 0) continue; // horizontal floor bands
  for (let x = 18; x <= 30; x++) {
    if ((x - 17) % 3) {
      pane(x, 17, z, "front");
      pane(x, 33, z, "back");
    }
  }
  for (let y = 19; y <= 31; y++) {
    if ((y - 18) % 3) {
      pane(16, y, z, "left");
      pane(32, y, z, "right");
    }
  }
}

// Crisp floor lines and projecting silver vertical fins.
for (let z = 10; z <= 39; z += 5) {
  box(17, 16, z, 31, 17, z, steel);
  box(17, 33, z, 31, 34, z, steel);
  box(15, 18, z, 16, 32, z, steel);
  box(32, 18, z, 33, 32, z, steel);
  box(18, 16, z, 30, 16, z, silver);
}
for (let x = 17; x <= 32; x += 3) {
  box(x, 16, 10, x, 16, 39, silver);
  box(x, 34, 10, x, 34, 39, "#9aadb5");
}
for (let y = 18; y <= 33; y += 3) {
  box(15, y, 10, 15, y, 39, silver);
  box(33, y, 10, 33, y, 39, silver);
}

// Tall, transparent street-facing lobby.
box(16, 13, 1, 32, 18, 8, dark);
for (let x = 17; x <= 31; x++) {
  for (let z = 2; z <= 7; z++) {
    set(x, 12, z, (x + z) % 5 === 0 ? "#8bc8db" : "#6baac3");
  }
}
for (let x = 16; x <= 32; x += 3)
  box(x, 12, 1, x, 12, 8, silver);
box(16, 12, 5, 32, 12, 5, steel);

// Double entrance doors, handles, and a broad protective canopy.
box(21, 11, 1, 27, 11, 6, dark);
box(22, 10, 2, 23, 10, 5, "#8ac6d5");
box(25, 10, 2, 26, 10, 5, "#8ac6d5");
box(24, 10, 1, 24, 10, 6, silver);
set(23, 9, 3, "#e8c66b");
set(25, 9, 3, "#e8c66b");

box(15, 10, 8, 33, 18, 9, concrete);
box(15, 9, 8, 33, 9, 8, "#e5ba58");
box(16, 9, 7, 19, 9, 7, "#263c50");
box(29, 9, 7, 32, 9, 7, "#263c50");
box(20, 9, 7, 28, 9, 7, "#459caa");
box(20, 8, 0, 28, 10, 0, "#aaaeb0");

// Brick planters and dark green ironwork give the street edge some warmth.
for (const x of [13, 34]) {
  box(x, 13, 0, x + 1, 16, 2, "#ad5b49");
  box(x, 13, 3, x + 1, 16, 3, "#346c58");
  box(x, 14, 4, x + 1, 15, 5, "#478964");
}
box(16, 15, 1, 19, 15, 3, "#345e53");
box(29, 15, 1, 32, 15, 3, "#345e53");

// Stepped crown, roof terrace, and raised helipad.
box(17, 18, 40, 31, 32, 40, concrete);
box(18, 19, 41, 30, 31, 41, "#aebcc1");
box(19, 20, 42, 29, 30, 42, steel);
box(20, 21, 43, 28, 29, 43, "#344f61");

// High-contrast H, readable from above.
box(22, 23, 44, 22, 27, 44, "#f4eee2");
box(26, 23, 44, 26, 27, 44, "#f4eee2");
box(23, 25, 44, 25, 25, 44, "#f4eee2");

// Short roof railings and an offset red obstruction beacon.
box(17, 18, 41, 17, 32, 41, silver);
box(31, 18, 41, 31, 32, 41, silver);
box(18, 32, 41, 30, 32, 41, silver);
box(30, 29, 43, 30, 29, 46, "#a5b6bc");
set(30, 29, 47, "#ff3838");
set(29, 29, 47, "#e53c40");