fogón

← CiudadObjeto 3Dfogon/food-truck

Food truck

de fogonCC021091 bloques
Food truckArrastrá para girarlo
// «Food truck» · gpt-6-sol (medium)
// A food truck: a boxy van longer along y painted turquoise with a big side window opened with a little awning and a counter, a menu board, a sign on top with a burger icon, a cab at the front (-y) and four black wheels.

const teal = "#38bdb8";
const tealLight = "#65d4cc";
const tealDark = "#259a9a";
const cream = "#fff0cd";
const red = "#e85b50";
const charcoal = "#26343b";

// Chassis, boxy kitchen body, and cab.
box(13, 5, 6, 34, 42, 8, charcoal);
box(12, 17, 8, 35, 43, 23, teal);
box(13, 6, 8, 34, 19, 19, teal);
box(14, 7, 19, 33, 19, 22, tealLight);
box(12, 17, 24, 35, 43, 25, cream);
box(13, 5, 7, 34, 11, 13, tealLight); // hood

// Gentle paint variation before adding the crisp details.
forEach((x, y, z, color) => {
  if (color === teal && rand() < 0.055) set(x, y, z, tealLight);
  if (color === tealLight && rand() < 0.035) set(x, y, z, teal);
});

// Rounded-looking roof trim and colorful side stripes.
box(12, 17, 23, 35, 43, 23, tealDark);
box(12, 17, 24, 35, 43, 24, cream);
box(35, 19, 10, 36, 42, 10, cream);
box(35, 19, 9, 36, 42, 9, red);
box(12, 20, 10, 12, 42, 10, cream);

// Front windshield, grille, bumper, and cheerful headlights.
box(16, 5, 15, 31, 5, 19, "#a9e2e6");
box(16, 4, 15, 31, 4, 15, charcoal);
box(16, 4, 19, 31, 4, 19, cream);
box(23, 4, 15, 24, 4, 19, cream);
box(18, 3, 9, 29, 3, 11, charcoal);
for (let x = 19; x <= 28; x += 2) box(x, 2, 9, x, 2, 11, "#82969b");
box(13, 3, 10, 16, 3, 12, "#fff3b5");
box(31, 3, 10, 34, 3, 12, "#fff3b5");
box(12, 2, 6, 35, 3, 7, "#b9c7c6");
box(14, 2, 7, 18, 2, 7, red);
box(29, 2, 7, 33, 2, 7, red);

// Cab's right-side window, door, handle, and mirror.
box(35, 9, 14, 35, 16, 19, cream);
box(36, 10, 15, 36, 15, 18, "#76cbd4");
box(36, 10, 18, 36, 15, 18, "#c4f0e8");
box(36, 17, 9, 36, 17, 19, tealDark);
box(36, 15, 12, 36, 16, 12, cream);
box(37, 8, 14, 38, 9, 16, charcoal);
box(38, 8, 15, 38, 9, 16, "#9edbdc");

// Big open serving hatch on the right side.
box(35, 24, 14, 35, 39, 21, "#283c43");
box(36, 23, 14, 36, 23, 22, cream);
box(36, 40, 14, 36, 40, 22, cream);
box(36, 23, 22, 36, 40, 22, cream);
box(36, 24, 14, 36, 39, 14, cream);

// A little server visible inside the dark hatch.
box(36, 34, 15, 36, 37, 17, "#f5bd72");
box(36, 35, 18, 36, 36, 19, "#f5c58a");
box(36, 35, 20, 36, 36, 20, charcoal);
set(37, 36, 19, charcoal);

// Counter and striped awning project over the serving side.
box(36, 23, 12, 41, 40, 13, "#d6ae7d");
box(36, 23, 13, 41, 40, 13, cream);
box(36, 23, 23, 41, 40, 24, cream);
for (let y = 24; y <= 39; y += 4) {
  box(36, y, 24, 41, y + 1, 24, red);
  box(41, y, 21, 41, y + 1, 23, red);
}
box(41, 23, 22, 41, 23, 23, cream);
box(41, 40, 22, 41, 40, 23, cream);

// Chalkboard menu beside the hatch.
box(36, 18, 13, 37, 22, 21, "#d79558");
box(38, 19, 14, 38, 21, 20, charcoal);
box(39, 19, 19, 39, 21, 19, cream);
box(39, 19, 17, 39, 20, 17, "#f1ca76");
box(39, 19, 15, 39, 21, 15, cream);
set(39, 21, 16, red);

// Playful little fileteado flourishes on the lower side.
for (const y of [24, 30, 36, 41]) {
  set(37, y, 11, cream);
  set(37, y - 1, 11, "#f6c36c");
}

// Roof sign facing the serving side.
box(29, 20, 26, 34, 39, 35, tealDark);
box(34, 21, 27, 35, 38, 34, cream);
box(35, 22, 28, 35, 37, 33, "#f9e1a0");
box(35, 21, 27, 35, 38, 27, red);
box(35, 21, 34, 35, 38, 34, red);

// Large pixel burger icon on the sign: bun, lettuce, patty, bun.
box(36, 27, 32, 36, 32, 32, "#f4a94c");
box(36, 28, 33, 36, 31, 33, "#ffd37c");
box(36, 26, 31, 36, 33, 31, "#5ca35d");
box(36, 27, 30, 36, 32, 30, "#744338");
box(36, 27, 29, 36, 32, 29, "#eeb45e");
for (const y of [28, 30, 32]) set(37, y, 33, cream);

// Short decorative lettering strokes alongside the icon.
for (const y of [23, 25, 35]) {
  box(36, y, 29, 36, y, 32, red);
}

// Rear lights.
box(16, 44, 9, 18, 44, 12, red);
box(30, 44, 9, 32, 44, 12, red);
box(19, 44, 8, 29, 44, 8, "#b9c7c6");

// Four independently spinning wheels, each pivoted at its axle.
for (const y of [12, 36]) {
  part(`wheel-left-${y}`, [10, y, 5]);
  cylinder(8, y, 5, 5, 5, "#202328", "x");
  cylinder(8, y, 5, 3, 1, "#596268", "x");
  cylinder(7, y, 5, 1.5, 1, "#d2d7d0", "x");
  animate(`wheel-left-${y}`, { type: "spin", axis: "x", speed: 6 });

  part(`wheel-right-${y}`, [37, y, 5]);
  cylinder(35, y, 5, 5, 5, "#202328", "x");
  cylinder(39, y, 5, 3, 1, "#596268", "x");
  cylinder(40, y, 5, 1.5, 1, "#d2d7d0", "x");
  animate(`wheel-right-${y}`, { type: "spin", axis: "x", speed: 6 });
}
part("body", [24, 24, 0]);