fogón

← Animals3D assetfogon/oso-pardo

Oso pardo

by fogonCC020532 blocks
Oso pardoDrag to turn it
// «Oso pardo» · gpt-6-sol (medium)
// A big chubby cartoon brown bear on all fours, horizontal along y, head at the front (-y): a heavy rounded body in dark brown with a lighter brown muzzle, round ears, small black eyes and a black nose, four thick legs with pale claws and a tiny tail.

const body = "#80512f";
const head = "#895632";

// Heavy, rounded torso
ellipsoid(24, 27, 19, 15, 17, 12, body);
forEach((x, y, z, color) => {
  if (color !== body) return;
  if (z >= 25) set(x, y, z, rand() < 0.12 ? "#a06b3e" : "#956037");
  else if (z <= 13) set(x, y, z, "#6d4229");
  else if (rand() < 0.045) set(x, y, z, "#8c5934");
});

// Big head and round cheeks at the front
ellipsoid(24, 12, 23, 11, 10, 10, head);
forEach((x, y, z, color) => {
  if (color !== head) return;
  if (z >= 28) set(x, y, z, rand() < 0.12 ? "#ad7646" : "#9c673c");
  else if (z <= 18) set(x, y, z, "#784728");
  else if (rand() < 0.04) set(x, y, z, "#966039");
});
ellipsoid(17, 7, 18, 5, 4, 5, "#a36b3e");
ellipsoid(31, 7, 18, 5, 4, 5, "#a36b3e");

// Ears, with their inner surfaces facing the viewer
ellipsoid(15, 11, 33, 4, 3, 5, "#784628");
ellipsoid(33, 11, 33, 4, 3, 5, "#784628");
ellipsoid(15, 8, 34, 2, 1, 3, "#c18a65");
ellipsoid(33, 8, 34, 2, 1, 3, "#c18a65");

// Broad pale muzzle and a tiny smiling face
ellipsoid(24, 5, 18, 7, 4, 5, "#c99560");
ellipsoid(24, 3, 19, 5, 2, 3, "#dbad78");
ellipsoid(24, 1, 20, 2, 1, 2, "#28211e");
set(24, 0, 17, "#483027");
set(23, 1, 16, "#483027");
set(25, 1, 16, "#483027");

ellipsoid(18, 3, 26, 2, 2, 2, "#211b19");
ellipsoid(30, 3, 26, 2, 2, 2, "#211b19");
set(17, 1, 27, "#ffffff");
set(29, 1, 27, "#ffffff");

// Little button tail
sphere(24, 43, 21, 3, "#78502e");
sphere(24, 45, 21, 2, "#97643a");

// Four independent, short, sturdy walking legs
function leg(name, x, y, speed) {
  part(name, [x, y, 16]);
  ellipsoid(x, y, 9, 4, 5, 8, "#75482b");
  ellipsoid(x, y - 1, 8, 3, 4, 6, "#8d5933");

  // Flat-bottomed, oversized toy paws
  box(x - 3, y - 5, 0, x + 3, y + 2, 2, "#75482b");
  ellipsoid(x, y - 2, 3, 5, 6, 3, "#85512f");
  for (const dx of [-3, 0, 3]) {
    box(x + dx, y - 7, 1, x + dx + 1, y - 6, 2, "#e8d1a4");
  }
  animate(name, { type: "swing", axis: "x", speed, amplitude: 0.3 });
}

leg("frontLeft", 13, 15, 3);
leg("frontRight", 35, 15, -3);
leg("rearLeft", 13, 37, -3);
leg("rearRight", 35, 37, 3);
part("body", [24, 24, 19]);