← Animals3D assetfogon/colibri
Colibrí
Drag to turn it// «Colibrí» · gpt-6-sol (medium)
// A tiny cartoon hummingbird hovering next to a red flower on a stem: an iridescent green body with a ruby red throat, a very long thin black beak pointing into the flower, and small fast wings.
// A hovering hummingbird beside a red flower.
const green = "#18a866";
const lightGreen = "#55d879";
const deepGreen = "#087d65";
const teal = "#13a99c";
// Flower stem and leaves
box(38, 22, 0, 42, 26, 1, "#496d30");
line(40, 24, 1, 41, 24, 12, 1, "#398b42");
line(41, 24, 12, 39, 23, 23, 1, "#398b42");
line(39, 23, 23, 40, 22, 29, 1, "#398b42");
line(41, 24, 12, 35, 25, 15, 1, "#287c3e");
ellipsoid(34, 26, 16, 5, 2, 2, "#35a54b");
ellipsoid(34, 25, 17, 4, 2, 1, "#68c75b");
line(40, 24, 17, 45, 25, 20, 1, "#287c3e");
ellipsoid(44, 25, 20, 3, 2, 2, "#35a54b");
ellipsoid(44, 24, 21, 2, 2, 1, "#68c75b");
// Red blossom, with its open face toward the bird
ellipsoid(39, 22, 30, 3, 4, 4, "#b91e38");
ellipsoid(37, 22, 30, 3, 4, 3, "#e53248");
ellipsoid(36, 17, 32, 3, 3, 2, "#f04454");
ellipsoid(37, 27, 32, 3, 3, 2, "#dd2947");
ellipsoid(37, 22, 35, 3, 4, 3, "#f04454");
ellipsoid(37, 22, 26, 3, 4, 2, "#c51d3e");
ellipsoid(35, 21, 30, 2, 2, 2, "#851b36");
set(34, 20, 30, "#ffd15a");
set(35, 21, 31, "#ffdf70");
// Fan-shaped tail
line(14, 23, 19, 7, 23, 15, 1, deepGreen);
line(14, 24, 19, 8, 27, 14, 1, teal);
line(14, 22, 19, 8, 20, 15, 1, "#146f8a");
line(9, 20, 15, 6, 19, 14, 0, "#263f66");
line(9, 27, 14, 7, 29, 13, 0, "#263f66");
// Rounded body and pale underside
ellipsoid(17, 23, 22, 7, 5, 8, deepGreen);
ellipsoid(18, 21, 20, 5, 4, 5, "#b6d68a");
ellipsoid(16, 23, 25, 6, 5, 5, green);
ellipsoid(16, 22, 28, 5, 4, 2, lightGreen);
ellipsoid(15, 22, 23, 4, 4, 3, teal);
// Tiny tucked feet
line(20, 20, 17, 21, 19, 15, 0, "#d48449");
line(22, 20, 17, 23, 19, 15, 0, "#d48449");
set(22, 18, 15, "#efa257");
set(24, 18, 15, "#efa257");
// Big head, ruby throat, and bright crown
ellipsoid(23, 22, 29, 5, 5, 5, green);
ellipsoid(22, 22, 32, 4, 4, 2, lightGreen);
ellipsoid(26, 20, 27, 2, 3, 3, "#a41835");
ellipsoid(26, 18, 28, 2, 1, 3, "#e52b48");
set(26, 17, 29, "#ff5871");
// Simple shiny dot eye
sphere(25, 17, 31, 1, "#101b21");
set(25, 16, 32, "#ffffff");
// Long, needle-thin beak reaching into the flower
line(27, 21, 29, 37, 21, 30, 0, "#17212a");
line(28, 21, 30, 32, 21, 30, 0, "#354148");
set(37, 21, 30, "#101820");
// Two independently flapping, tapered wings
part("leftWing", [15, 19, 27]);
line(15, 19, 27, 10, 15, 35, 2, teal);
ellipsoid(10, 15, 35, 4, 2, 2, "#168e88");
line(12, 15, 35, 7, 13, 37, 1, "#48c9ac");
line(11, 16, 34, 7, 15, 35, 0, "#82e4b8");
animate("leftWing", { type: "swing", axis: "y", speed: 14, amplitude: 0.6 });
part("rightWing", [15, 27, 27]);
line(15, 27, 27, 10, 32, 35, 2, deepGreen);
ellipsoid(10, 32, 35, 4, 2, 2, teal);
line(12, 32, 35, 7, 34, 37, 1, lightGreen);
line(11, 31, 34, 7, 32, 35, 0, "#8be5a5");
animate("rightWing", { type: "swing", axis: "y", speed: -14, amplitude: 0.6 });
part("body", [0, 0, 0]);import { draw } from "./assets/voxel";
import { colibri } from "./assets/colibri";
// Every frame: standing on (x, y), the centre of its base.
draw(ctx, colibri, x, y, { size: 64, angle: 0, t: performance.now() / 1000 });
// size: its longest side, in px
// angle: turn on the floor, in radians
// t: seconds; if it moves, that animates it# In a terminal, in the game's folder
fogon assets add colibri
# With Fogón's tools (connector)
add_assets({ slug: "<your-game>", ids: ["colibri"] })
# It lands in client/assets/colibri.ts
# https://fogon.page/object/colibri