← NaturalezaObjeto 3Dfogon/seto
Seto
Arrastrá para girarlo// «Seto» · gpt-6-sol (medium)
// A rectangular trimmed hedge: a box of dense green leaves about 46 blocks long (along x), 12 deep and 16 tall, with flat clipped sides, slight leaf texture noise and slightly lighter top.
// A flat-clipped, rectangular hedge: 46 × 12 × 16 blocks.
const x0 = 1, x1 = 46;
const y0 = 18, y1 = 29;
const top = 15;
const deep = "#347e30";
const green = "#469d35";
const fresh = "#59b63d";
const sunlit = "#72c94a";
box(x0, y0, 0, x1, y1, top, green);
forEach((x, y, z) => {
const edge = x === x0 || x === x1 || y === y0 || y === y1;
if (!edge && z !== top) return;
let color = z <= 2 ? deep : z >= 12 ? fresh : green;
// The viewer-facing side has a little depth; the top catches the sun.
if (y === y0 && z < top) color = z < 4 ? deep : green;
if (z === top) color = sunlit;
if (z === top && (x === x0 || x === x1 || y === y0 || y === y1))
color = fresh;
const fleck = rand();
if (fleck < 0.10) color = z === top ? fresh : deep;
else if (fleck > 0.84) color = z === top ? sunlit : fresh;
set(x, y, z, color);
});
// Small, clustered leaf marks, kept flush with the clipped surfaces.
for (let i = 0; i < 55; i++) {
const x = 3 + Math.floor(rand() * 42);
const z = 2 + Math.floor(rand() * 11);
const c = rand() < 0.55 ? fresh : deep;
set(x, y0, z, c);
set(x + 1, y0, z, c);
if (rand() < 0.65) set(x, y0, z + 1, c);
}
for (let i = 0; i < 42; i++) {
const x = 3 + Math.floor(rand() * 42);
const y = 19 + Math.floor(rand() * 10);
const c = rand() < 0.7 ? sunlit : fresh;
set(x, y, top, c);
set(x + 1, y, top, c);
if (rand() < 0.6) set(x, y + 1, top, c);
}import { draw } from "./assets/voxel";
import { seto } from "./assets/seto";
// En cada cuadro: parado sobre (x, y), el centro de su base.
draw(ctx, seto, 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 seto
# Con las herramientas de Fogón (conector)
add_assets({ slug: "<tu-juego>", ids: ["seto"] })
# Queda en client/assets/seto.ts
# https://fogon.page/object/seto