wolf head origin shift

This commit is contained in:
azykov@mail.ru 2026-06-03 18:42:39 +03:00
parent 8575327af8
commit 50a553b24d
No known key found for this signature in database
1 changed files with 39 additions and 39 deletions

View File

@ -11,52 +11,52 @@ function v(x: number, y: number, z: number, color: string): Voxel {
return { typeId: 'stone', position: [x, y, z], color }; return { typeId: 'stone', position: [x, y, z], color };
} }
// Wolf faces +Z (nose at Z=6). Head spans 7×7×7. // Wolf faces +Z (nose at Z=3). Head spans X:-3..3, Y:0..5, Z:-3..3.
export const wolf: Voxel[] = [ export const wolf: Voxel[] = [
// ── Back of skull Z=0 ─────────────────────────────────────────── // ── Back of skull Z=-3 ──────────────────────────────────────────────
v(2,3,0,G), v(3,3,0,G), v(4,3,0,G), v(-1,2,-3,G), v(0,2,-3,G), v(1,2,-3,G),
v(2,4,0,G), v(3,4,0,G), v(4,4,0,G), v(-1,3,-3,G), v(0,3,-3,G), v(1,3,-3,G),
v(2,5,0,G), v(3,5,0,G), v(4,5,0,G), v(-1,4,-3,G), v(0,4,-3,G), v(1,4,-3,G),
// ── Skull Z=1 ─────────────────────────────────────────────────── // ── Skull Z=-2 ──────────────────────────────────────────────────────
v(1,3,1,G), v(2,3,1,G), v(3,3,1,G), v(4,3,1,G), v(5,3,1,G), v(-2,2,-2,G), v(-1,2,-2,G), v(0,2,-2,G), v(1,2,-2,G), v(2,2,-2,G),
v(1,4,1,G), v(2,4,1,G), v(3,4,1,G), v(4,4,1,G), v(5,4,1,G), v(-2,3,-2,G), v(-1,3,-2,G), v(0,3,-2,G), v(1,3,-2,G), v(2,3,-2,G),
v(1,5,1,G), v(2,5,1,G), v(3,5,1,G), v(4,5,1,G), v(5,5,1,G), v(-2,4,-2,G), v(-1,4,-2,G), v(0,4,-2,G), v(1,4,-2,G), v(2,4,-2,G),
v(2,6,1,G), v(3,6,1,G), v(4,6,1,G), v(-1,5,-2,G), v(0,5,-2,G), v(1,5,-2,G),
// ── Skull + ear bases Z=2 ─────────────────────────────────────── // ── Skull + ear bases Z=-1 ───────────────────────────────────────────
v(1,3,2,G), v(2,3,2,G), v(3,3,2,G), v(4,3,2,G), v(5,3,2,G), v(-2,2,-1,G), v(-1,2,-1,G), v(0,2,-1,G), v(1,2,-1,G), v(2,2,-1,G),
v(1,4,2,G), v(2,4,2,G), v(3,4,2,G), v(4,4,2,G), v(5,4,2,G), v(-2,3,-1,G), v(-1,3,-1,G), v(0,3,-1,G), v(1,3,-1,G), v(2,3,-1,G),
v(0,5,2,G), v(1,5,2,G), v(2,5,2,G), v(3,5,2,G), v(4,5,2,G), v(5,5,2,G), v(6,5,2,G), v(-3,4,-1,G), v(-2,4,-1,G), v(-1,4,-1,G), v(0,4,-1,G), v(1,4,-1,G), v(2,4,-1,G), v(3,4,-1,G),
v(1,6,2,G), v(2,6,2,G), v(3,6,2,G), v(4,6,2,G), v(5,6,2,G), v(-2,5,-1,G), v(-1,5,-1,G), v(0,5,-1,G), v(1,5,-1,G), v(2,5,-1,G),
v(0,6,2,D), v(6,6,2,D), v(-3,5,-1,D), v(3,5,-1,D),
// ── Face + ears Z=3 ───────────────────────────────────────────── // ── Face + ears Z=0 ──────────────────────────────────────────────────
v(1,3,3,L), v(2,3,3,L), v(3,3,3,L), v(4,3,3,L), v(5,3,3,L), v(-2,2,0,L), v(-1,2,0,L), v(0,2,0,L), v(1,2,0,L), v(2,2,0,L),
v(1,4,3,G), v(2,4,3,G), v(3,4,3,G), v(4,4,3,G), v(5,4,3,G), v(-2,3,0,G), v(-1,3,0,G), v(0,3,0,G), v(1,3,0,G), v(2,3,0,G),
// ears: dark outer, pink inner // ears: dark outer, pink inner
v(0,5,3,D), v(1,5,3,P), v(2,5,3,G), v(3,5,3,G), v(4,5,3,G), v(5,5,3,P), v(6,5,3,D), v(-3,4,0,D), v(-2,4,0,P), v(-1,4,0,G), v(0,4,0,G), v(1,4,0,G), v(2,4,0,P), v(3,4,0,D),
v(0,6,3,D), v(1,6,3,P), v(2,6,3,G), v(3,6,3,G), v(4,6,3,G), v(5,6,3,P), v(6,6,3,D), v(-3,5,0,D), v(-2,5,0,P), v(-1,5,0,G), v(0,5,0,G), v(1,5,0,G), v(2,5,0,P), v(3,5,0,D),
// snout start // snout start
v(2,1,3,L), v(3,1,3,L), v(4,1,3,L), v(-1,0,0,L), v(0,0,0,L), v(1,0,0,L),
v(2,2,3,L), v(3,2,3,L), v(4,2,3,L), v(-1,1,0,L), v(0,1,0,L), v(1,1,0,L),
// ── Face + amber eyes + snout Z=4 ─────────────────────────────── // ── Face + amber eyes + snout Z=1 ────────────────────────────────────
v(1,3,4,L), v(2,3,4,L), v(3,3,4,L), v(4,3,4,L), v(5,3,4,L), v(-2,2,1,L), v(-1,2,1,L), v(0,2,1,L), v(1,2,1,L), v(2,2,1,L),
v(1,4,4,G), v(2,4,4,E), v(3,4,4,G), v(4,4,4,E), v(5,4,4,G), v(-2,3,1,G), v(-1,3,1,E), v(0,3,1,G), v(1,3,1,E), v(2,3,1,G),
v(1,5,4,G), v(2,5,4,G), v(3,5,4,G), v(4,5,4,G), v(5,5,4,G), v(-2,4,1,G), v(-1,4,1,G), v(0,4,1,G), v(1,4,1,G), v(2,4,1,G),
v(2,1,4,L), v(3,1,4,L), v(4,1,4,L), v(-1,0,1,L), v(0,0,1,L), v(1,0,1,L),
v(2,2,4,L), v(3,2,4,L), v(4,2,4,L), v(-1,1,1,L), v(0,1,1,L), v(1,1,1,L),
// ── Front face + pupils + snout Z=5 ───────────────────────────── // ── Front face + pupils + snout Z=2 ──────────────────────────────────
v(1,3,5,L), v(2,3,5,L), v(3,3,5,L), v(4,3,5,L), v(5,3,5,L), v(-2,2,2,L), v(-1,2,2,L), v(0,2,2,L), v(1,2,2,L), v(2,2,2,L),
v(1,4,5,G), v(2,4,5,N), v(3,4,5,G), v(4,4,5,N), v(5,4,5,G), v(-2,3,2,G), v(-1,3,2,N), v(0,3,2,G), v(1,3,2,N), v(2,3,2,G),
v(1,5,5,G), v(2,5,5,G), v(3,5,5,G), v(4,5,5,G), v(5,5,5,G), v(-2,4,2,G), v(-1,4,2,G), v(0,4,2,G), v(1,4,2,G), v(2,4,2,G),
v(2,1,5,L), v(3,1,5,L), v(4,1,5,L), v(-1,0,2,L), v(0,0,2,L), v(1,0,2,L),
v(2,2,5,L), v(3,2,5,L), v(4,2,5,L), v(-1,1,2,L), v(0,1,2,L), v(1,1,2,L),
// ── Snout tip + nose Z=6 ──────────────────────────────────────── // ── Snout tip + nose Z=3 ─────────────────────────────────────────────
v(2,2,6,L), v(3,2,6,L), v(4,2,6,L), v(-1,1,3,L), v(0,1,3,L), v(1,1,3,L),
v(2,1,6,L), v(3,1,6,L), v(4,1,6,L), v(-1,0,3,L), v(0,0,3,L), v(1,0,3,L),
v(2,3,6,N), v(3,3,6,N), v(4,3,6,N), // nose v(-1,2,3,N), v(0,2,3,N), v(1,2,3,N), // nose
]; ];