fogón

← EquipamientoObjeto 3Dfogon/botas-de-cuero

Botas de cuero

de fogonCC020822 bloques
Botas de cueroArrastrá para girarlo
// «Botas de cuero» · gpt-6-sol (medium)
// A pair of tall brown leather boots standing side by side facing -y, with turned-down cuffs, buckled straps, darker soles and heels.

const leather = "#92532f";
const toeLeather = "#a8653b";
const cuffLeather = "#ba7949";
const sole = "#332823";
const soleEdge = "#4a352a";
const brass = "#c9943f";
const brassLight = "#f2ca70";

for (const cx of [14, 34]) {
  const cy = 27;

  // Thick, rounded soles with distinct raised heels.
  ellipsoid(cx, 19, 2, 8, 13, 2, sole);
  box(cx - 6, 27, 0, cx + 6, 35, 4, sole);
  box(cx - 6, 24, 1, cx + 6, 29, 3, sole);
  ellipsoid(cx, 19, 4, 8, 12, 2, soleEdge);
  box(cx - 6, 27, 4, cx + 6, 35, 5, soleEdge);

  // Rounded toes and tall, sturdy shafts.
  cylinder(cx, cy, 6, 7.5, 29, leather);
  ellipsoid(cx, 17, 9, 8, 11, 6, toeLeather);
  ellipsoid(cx, 16, 12, 6, 8, 2, "#b87647");

  // Subtle leather grain, applied before the hardware.
  forEach((x, y, z, color) => {
    if (x < cx - 9 || x > cx + 9) return;
    if (color === leather && rand() < 0.075)
      set(x, y, z, rand() < 0.55 ? "#9e6038" : "#824628");
    if (color === toeLeather && rand() < 0.07)
      set(x, y, z, "#b57445");
  });

  // Two broad straps around each shaft.
  for (const z of [17, 26]) {
    cylinder(cx, cy, z, 8, 3, "#663d2b");
    box(cx - 6, 18, z, cx + 6, 19, z + 2, "#784529");
    box(cx - 5, 17, z + 2, cx + 5, 18, z + 2, "#a7673b");

    // Oversized brass buckle: dark opening, bright rim and prong.
    const bx = cx - 2;
    box(bx - 3, 16, z - 1, bx + 3, 16, z + 4, brass);
    box(bx - 2, 15, z, bx + 2, 15, z + 3, "#493326");
    box(bx - 3, 15, z + 4, bx + 3, 15, z + 4, brassLight);
    box(bx - 3, 15, z - 1, bx - 3, 15, z + 4, brassLight);
    box(bx - 1, 14, z + 1, bx + 2, 14, z + 1, brass);
    set(bx + 3, 15, z + 2, "#f5d585");
  }

  // Turned-down cuff, wider than the shaft, with a heavy folded hem.
  cylinder(cx, cy, 32, 9, 7, "#70412a");
  cylinder(cx, cy, 34, 9, 5, cuffLeather);
  cylinder(cx, cy, 38, 8.5, 1, "#d29358");
  cylinder(cx, cy, 39, 6, 1, "#513425"); // Shadowed opening.
  box(cx - 6, 17, 32, cx + 6, 18, 34, "#865031");
  box(cx - 6, 16, 34, cx + 6, 17, 37, cuffLeather);
  box(cx - 5, 16, 37, cx + 5, 16, 38, "#d29258");
  box(cx - 5, 16, 32, cx + 5, 16, 32, "#583322");

  // Chunky stitching on the cuff and along the toe seam.
  for (let x = cx - 5; x <= cx + 5; x += 2) {
    set(x, 16, 33, "#573522");
    set(x, 11, 12, "#704329");
  }
  for (let z = 8; z <= 30; z += 3) {
    set(cx - 7, 25, z, "#593923");
    set(cx + 7, 25, z, "#593923");
  }

  // A clean, lighter edge above the dark sole.
  for (let x = cx - 5; x <= cx + 5; x++) {
    set(x, 8, 4, "#765039");
  }
}