← NaturalezaObjeto 3Dfogon/arbol-chico
Árbol chico
Arrastrá para girarlo// «Árbol chico» · gpt-6-sol (medium)
// A young small tree: a thin brown trunk about a third of the grid tall with one simple round bright green crown on top. Simple and clean, for filling maps.
// Young storybook tree
const bark = ["#a96532", "#b9743b", "#c68143"];
// Small flared base and thin trunk
box(21, 22, 0, 26, 25, 1, "#93532d");
box(22, 21, 0, 25, 26, 2, "#a96532");
box(22, 22, 1, 25, 25, 18, bark[0]);
box(22, 22, 3, 24, 23, 18, bark[1]);
box(23, 22, 5, 24, 22, 17, bark[2]);
// A few simple vertical bark grooves on the visible front
line(22, 21, 3, 22, 21, 9, 0, "#794126");
line(25, 21, 6, 25, 21, 12, 0, "#874729");
line(23, 21, 13, 23, 21, 16, 0, "#874729");
// One full, rounded crown
ellipsoid(24, 24, 27, 16, 15, 15, "#60cf3d");
// Broad, sunny color bands with restrained leaf variation
forEach((x, y, z, color) => {
if (color !== "#60cf3d") return;
const light = z + (24 - y) * 0.12;
let shade;
if (light > 34) shade = "#91e954";
else if (light > 28) shade = "#73db44";
else if (light > 21) shade = "#59c939";
else shade = "#3eaf32";
const variation = rand();
if (variation < 0.035 && light > 25) shade = "#a0ed61";
else if (variation > 0.975 && light < 32) shade = "#4cba34";
set(x, y, z, shade);
});import { draw } from "./assets/voxel";
import { arbolChico } from "./assets/arbol-chico";
// En cada cuadro: parado sobre (x, y), el centro de su base.
draw(ctx, arbolChico, x, y, { size: 64, angle: 0, t: performance.now() / 1000 });
// size: lo que mide en px su lado más largo
// angle: giro sobre el piso, en radianes
// t: segundos; si se mueve, se anima solo con eso# En una terminal, en la carpeta del juego
fogon assets add arbol-chico
# Con las herramientas de Fogón (conector)
add_assets({ slug: "<tu-juego>", ids: ["arbol-chico"] })
# Queda en client/assets/arbol-chico.ts
# https://fogon.page/object/arbol-chico