Files
anatomia/data-pipeline/scripts/mannequin-asset/README.md
T

57 lines
2.6 KiB
Markdown

# 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_realistic` dentro 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`).
```sh
# 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
```