57 lines
2.6 KiB
Markdown
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
|
|
```
|