PT-BR and English documentation for the same add-on.
- 🇧🇷 Leia em Português | 🌍 Read in English
P3M-4-Blender is an add-on for importing and exporting .p3m files with a focus on stability in modern Blender versions.
Main goals:
- Blender 5.1 and 5.0 as primary target
- Compatibility with Blender 4.5
- Modern mode as default
- Optional legacy mode
- Single unified import/export workflow
- Import GC characters to Blender
- Robust P3M import validation
- Stable P3M export serialization
- Import profiles: Modern and Legacy
- Mesh-bone binding strategy:
- With parenting (default)
- No parenting (technical)
- Optional orientation correction
- Configurable vertical placement:
- Keep file origin
- Foot on ground (Blender)
- Automatic external texture attempt
- Optional force-bind for vertices without valid bone
- Configurable export without armature:
- Block (default)
- Create dummy root bone
- Export pose mode:
- Rest/T-Pose (safe default)
- Current pose as new Rest Pose
- Blender 5.1 or 5.0
- Blender 4.5 (compatibility)
- Zip the folder or download "P3M_4_Blender.zip" from (releases).
- In Blender: Edit > Preferences > Add-ons.
- Click Install from Disk...
- Select the zip file.
- Enable P3M for Blender.
Menu entries:
- File > Import > Perfect 3D Model for Blender (.p3m)
- File > Export > Perfect 3D Model for Blender (.p3m)
Note: The add-on interface is currently in Portuguese. The translations below will guide you on what to select.
- Open File > Import > Perfect 3D Model for Blender (.p3m).
- Select one file, multiple files, or a folder.
- Choose the Import profile (Perfil de importação):
- Moderno (Modern - recommended)
- Legado (Legacy - compatibility)
- Configure options:
- Importar ossos (Import bones)
- Modo de vinculação malha-osso (Mesh-bone binding mode)
- Com Parenting (parenting mode)
- Sem Parenting (no-parenting mode)
- Aplicar correção de orientação (Apply orientation correction)
- Posicionamento vertical (Vertical placement)
- Automatico por Perfil (Automatic by profile Modern/Legacy)
- Manter origem original (Keep original orientation)
- Pé no Chão (Blender) (On the ground -> Lowest part from mesh / foot with Z=0)
- Forçar vínculo sem osso ao osso raiz (Force root bind for vertices without valid bone)
- Run import.
Important notes:
- Parser accepts both Perfect and Perfact header prefixes.
- For problematic bone indices, enable forced root binding (Forçar vínculo sem osso ao osso raiz).
- Open File > Export > Perfect 3D Model for Blender (.p3m).
- Choose whether to prioritize active object.
- Set Export without armature (Exportar sem armature):
- Bloquear exportação (Block export - default)
- Criar osso raiz dummy (Create dummy root bone)
- Set Export pose mode (Modo de pose para exportação):
- Rest/T-Pose (Rest/T-Pose - default)
- Pose atual como nova Rest Pose (Current pose as new Rest Pose)
- Export to desired path.
Usage recommendation:
- Use Bloquear exportação (Block export) for complete rigs.
- Use Criar osso raiz dummy (Create dummy root bone) only when the model has no armature and you need technical round-trip support.
- Rest/T-Pose (default) is the safest mode for consistent round-trip.
- Pose atual como nova Rest Pose is useful to export A-Pose or any custom bind base.
Issue: mesh looks detached from bones.
- Try no-parenting mode in Modern profile (Moderno).
- Try parenting mode in Legacy profile (Legado).
- Ensure Import bones (Importar ossos) is enabled.
Issue: model appears below the floor.
- Set Vertical placement (Posicionamento vertical) to Pé no chão (Blender).
Issue: export error when no armature is present.
- Set Export without armature to Criar osso raiz dummy.
Issue: I exported while posed and reimport does not preserve that exact pose.
- In Rest/T-Pose mode, this is expected by design.
- If you want to preserve the current pose as the new bind base, use Pose atual como nova Rest Pose.
Issue: texture missing after import.
- Ensure texture file exists in the same folder as the .p3m.
- If needed, assign the texture manually in the material.
- /init.py: addon registration
- /operador_importacao.py: import operator
- /operador_exportacao.py: export operator
- /importador_blender.py: import pipeline
- /exportador_blender.py: export pipeline
- /parser_p3m.py: binary parser
- /modelos_p3m.py: data models and constants
- /leitor_binario.py: safe binary reader
- Creation and modernization by Matheus Laidler
- Add-on developed based on the original work by John Kenneth L. Andales (Raitou)
P3M-4-Blender é um add-on para importar e exportar arquivos .p3m com foco em estabilidade no Blender moderno e com mais funcionalidades.
Objetivos principais:
- Blender 5.1 e 5.0 como alvo principal
- Compatibilidade com Blender 4.5 (não testado)
- Modo moderno como padrão (recomendado)
- Modo legado opcional
- Fluxo único de importação e exportação
- Conseguir importar modelos de Grand Chase dentro do Blender atual
- Importação P3M com validação robusta
- Exportação P3M com serialização estável
- Perfil de importação Moderno e Legado
- Estratégia de vinculação malha-osso:
- Com parenting (padrão)
- Sem parenting (técnico)
- Correção de orientação opcional
- Posicionamento vertical configurável:
- Manter origem do arquivo
- Pé no chão (parte mais baixa do modelo em Z=0)
- Aplicação automática de textura externa quando encontrada
- Opção de forçar vértices sem osso para o osso raiz
- Exportação sem armature configurável:
- Bloquear (padrão)
- Criar osso raiz dummy
- Modo de pose para exportação:
- Rest/T-Pose (padrão seguro)
- Pose atual como nova Rest Pose
- Blender 5.1 ou 5.0
- Blender 4.5 (compatibilidade)
- Compacte a pasta "addon_p3m_4_blender" em .zip ou baixe o arquivo "P3M_4_Blender.zip" (releases)
- No Blender: Edit > Preferences > Add-ons
- Clique em "Install from Disk" (na seta ao lado do botão de tag)
- Selecione o arquivo zipado (P3M_4_Blender.zip)
- Ative o add-on P3M for Blender (geralmente já vem ativado)
Menus:
- File > Import > Perfect 3D Model for Blender (.p3m)
- File > Export > Perfect 3D Model for Blender (.p3m)
- Abra File > Import > Perfect 3D Model for Blender (.p3m).
- Selecione um arquivo .p3m, vários arquivos ou uma pasta.
- Defina o Perfil de importação:
- Moderno (recomendado)
- Legado (compatibilidade)
- Ajuste opções relevantes:
- Importar ossos
- Modo de vinculação malha-osso (skeleton-mesh)
- Aplicar correção de orientação
- Posicionamento vertical
- Forçar vínculo sem osso ao osso raiz
- Execute a importação.
Notas importantes:
- O parser aceita cabeçalhos com prefixo Perfect e Perfact.
- Se a malha vier com índices de osso ruins, habilite o vínculo forçado ao osso raiz.
- Abra File > Export > Perfect 3D Model for Blender (.p3m).
- Escolha se deseja priorizar o objeto ativo.
- Defina Exportar sem armature:
- Bloquear exportação (padrão)
- Criar osso raiz dummy (para modelos sem osso)
- Defina Modo de pose para exportação:
- Rest/T-Pose (padrão)
- Pose atual como nova Rest Pose
- Exporte para o caminho desejado.
Recomendação de uso:
- Use Bloquear exportação para rigs completos.
- Use Criar osso raiz dummy apenas quando o modelo não tiver armature e você precisar de round-trip técnico.
- Rest/T-Pose (padrão) prioriza round-trip consistente e evita mismatch entre osso e malha.
- Pose atual como nova Rest Pose serve para gerar base em A-Pose ou qualquer outra pose customizada (animações da pose original podem ficar incompatíveis).
Problema: malha parece solta dos ossos.
- Teste Modo de vinculação sem parenting no perfil Moderno.
- Teste Modo de vinculação com parenting no perfil Legado.
- Confirme se Importar ossos está ativo.
Problema: modelo fica abaixo do chão.
- Use Posicionamento vertical = Pé no chão (Blender). Nessa opção, a parte mais baixa da malha ficará em Z = 0.
Problema: erro de exportação sem armature.
- Troque Exportar sem armature para Criar osso raiz dummy.
Problema: exportei com pose e ao reimportar a malha/ossos não vieram na mesma pose.
- No modo Rest/T-Pose, isso é esperado: o exportador grava a pose de repouso.
- Para manter a pose atual como base no arquivo exportado, use "Pose atual como nova Rest Pose".
Problema: sem textura após importação.
- Verifique se o arquivo de textura está na mesma pasta do .p3m e com o mesmo nome, se necessário.
- Se a textura não foi identificada no modelo ou na pasta, aplique a textura manualmente no material.
- ./init.py: registro do add-on
- ./operador_importacao.py: operador de importação
- ./operador_exportacao.py: operador de exportação
- ./importador_blender.py: pipeline de importação
- ./exportador_blender.py: pipeline de exportação
- ./parser_p3m.py: parser binário
- ./modelos_p3m.py: modelos e constantes
- ./leitor_binario.py: leitura binária segura
- Desenvolvimento, atualização e modernização por Matheus Laidler
- Add-on criado baseado no trabalho original de John Kenneth L. Andales (Raitou)