Boneco realista de Planos Anatômicos
frontend/public/mannequin/body-male-realistic.glb (usado pelo componente
Mannequin em frontend/src/components/viewer/Mannequin.tsx, exclusivo da
página /planos-anatomicos) não é um asset do Z-Anatomy — é um corpo humano
esculpido de verdade (não geometria procedural tipo caixa/cilindro), mas
extraído fora do dataset de anatomia real por dois motivos: (1) o Z-Anatomy é
pesado demais pra um boneco decorativo que só serve pra indicar planos/eixos,
e (2) essa página nunca precisou de fidelidade anatômica interna (músculos,
órgãos) — só de uma silhueta externa correta.
Fonte e licença
- Origem: pacote oficial Human Base Meshes da Blender Studio (equipe por trás dos "Blender Open Movies"), distribuído gratuitamente em https://www.blender.org/download/demo-files/#assets.
- Licença: CC0 (domínio público) — sem exigência de atribuição, mas citamos a fonte aqui por transparência/manutenção futura.
- Malha usada: objeto
GEO-body_male_realisticdentro do bundle v1.4.1 (human_base_meshes_bundle.blend), nível 1 do modificador Multires (~42k triângulos antes da otimização final — ver abaixo).
O que foi alterado
A malha original vem numa pose relaxada tipo "A" (braços afastados do
corpo em ~20-23°), não em posição anatômica (braços estendidos ao lado do
corpo). Como o arquivo não tem armature/rig, a repose foi feita rotacionando
os vértices do braço em torno do ombro (ângulo medido a partir da própria
malha, não chutado), com uma transição suave (smoothstep) na axila pra
não deixar costura — ver repose_and_export.py.
Como reproduzir
Precisa do Blender (brew install --cask blender no macOS, ou o pacote da
distro no Linux) e do Node do data-pipeline já instalado (npm install).
# 1. Baixar o bundle oficial (~50MB)
curl -L -o /tmp/human-base-meshes.zip \
"https://mirror.blender.org/demo/asset-bundles/human-base-meshes/human-base-meshes-bundle-v1.4.1.zip"
unzip -o /tmp/human-base-meshes.zip -d /tmp/hbm
# 2. Reposicionar os braços e exportar o GLB bruto
blender --background \
"/tmp/hbm/human-base-meshes-bundle-v1.4.1/human_base_meshes_bundle.blend" \
--python data-pipeline/scripts/mannequin-asset/repose_and_export.py
# 3. Otimizar (weld + dedup + quantize + remover UV não usada — sem
# textura, a malha usa só uma cor sólida) — reduz de ~3.3MB pra ~1.3MB
cd data-pipeline
node scripts/mannequin-asset/optimize.mjs
# 4. Copiar pro frontend
cp /tmp/mannequin-realistic.optimized.glb \
../frontend/public/mannequin/body-male-realistic.glb