Converter stl para mdl

Converter STL para MDL

Converta uma mesh STL em um Valve MDL por meio do workflow correto de compilação do Source ou GoldSrc.

Converter ficheiros STL online

Ainda não temos um conversor online dedicado para STL para MDL, mas pode converter ficheiros STL online para estes e outros formatos:

Como converter stl para mdl arquivo

Um game engine ou uma aplicação 3D especializada pode exigir um asset MDL quando um mesh STL é o único arquivo de modelo disponível. Para jogos da Valve, a conversão é um workflow de compilação que cria um modelo pronto para o engine e seus arquivos complementares, não uma simples alteração de extensão de arquivo.

O que é o formato STL

STL armazena uma superfície como um mesh de triângulos em formato ASCII ou binário. Ele é amplamente usado por slicers de impressão 3D, sistemas CAD, scanners 3D e ferramentas de reparo de meshes; aplicações como SolidWorks, Fusion 360, FreeCAD, Blender, MeshLab e muitos slicers podem importá-lo ou exportá-lo.

STL normalmente contém apenas geometria de triângulos. Ele não preserva de forma confiável materiais, texturas, coordenadas UV, bones, animações, nomes de objetos, unidades ou hierarquia da cena. Verifique se o mesh tem buracos, faces invertidas, triângulos duplicados, edges non-manifold e uma contagem excessiva de polígonos antes da conversão.

O que é o formato MDL

MDL é uma família de formatos não relacionados, não uma especificação universal única. Valve GoldSrc e Source usam estruturas MDL diferentes, enquanto outros softwares podem usar MDL para seu próprio formato de modelo, material ou dados. Um MDL criado para Half-Life 2 ou Garry's Mod não pode ser lido automaticamente por um programa que espera outra variante de MDL.

Para engines da Valve, MDL geralmente é um asset de jogo compilado. Dependendo do engine e do tipo de modelo, ele trabalha com geometria, referências de materiais, dados de colisão, informações esqueléticas, animações e metadata do engine. Modelos Source normalmente exigem arquivos complementares como .vvd e um .vtx específico da versão; a saída de colisão pode incluir .phy. Todo o conjunto de saída deve permanecer junto.

MDL pode reduzir o trabalho de carregamento em runtime e incluir dados de renderização e animação específicos do engine, mas não é um bom formato de intercâmbio. Mantenha os arquivos Blender, SMD, DMX, QC, de textura e de source mesh para edições posteriores.

Como converter STL para MDL

Para um modelo do Source engine

  1. Instale o Blender, o add-on Blender Source Tools e uma versão compatível com Source de studiomdl.exe. Crowbar pode fornecer uma interface gráfica para compilar e inspecionar modelos Source, mas não torna compiladores de diferentes branches do Source intercambiáveis.
  2. Importe o mesh com File → Import → STL. Confirme as unidades pretendidas, pois STL não possui uma declaração obrigatória de unidade; caso contrário, um modelo em milímetros pode aparecer 25,4 vezes maior quando interpretado como polegadas. Aplique a escala, gire para a convenção de coordenadas do engine de destino e repare a geometria non-manifold usando o 3D Print Toolbox do Blender ou o MeshLab.
  3. Reduza a contagem de triângulos se o jogo de destino tiver limites de vértices ou polígonos. Crie coordenadas UV e atribua materiais. STL não fornece coordenadas de textura nem definições de materiais utilizáveis, portanto crie os arquivos de materiais necessários separadamente; Source normalmente usa assets VMT e VTF.
  4. Para um prop estático, exporte um mesh de referência SMD ou DMX com o Blender Source Tools. Para um modelo rigged ou animado, crie um armature, faça o bind do mesh e exporte os arquivos de referência e de animação exigidos pelo branch do Source selecionado.
  5. Crie um script de compilação QC. Um exemplo mínimo de static prop para Source é:
$modelname myprops/example.mdl
$body studio example.smd
$staticprop
$surfaceprop plastic
$cdmaterials models/myprops
$sequence idle example.smd fps 30

Adicione um $collisionmodel construído corretamente quando o prop precisar de física e use os comandos QC exigidos pelo jogo de destino para body groups, skin families, animações ou flexes.

  1. Compile com a ferramenta correspondente, pelo Crowbar ou por um developer command prompt:
studiomdl.exe example.qc

Copie o .mdl, o .vvd, os arquivos .vtx aplicáveis, o .phy opcional e os arquivos de materiais e texturas referenciados gerados para o diretório esperado pelo jogo. Teste o modelo nesse engine exato, em vez de confiar apenas em uma compilação bem-sucedida.

Para modelos GoldSrc

Use um exporter e compiler específicos do GoldSrc, como um toolchain desenvolvido para o jogo Half-Life ou GoldSrc específico. GoldSrc normalmente usa entrada SMD e um script QC do GoldSrc, mas seu compiler, limites, convenções de coordenadas e arquivos de saída diferem do Source. Source Tools e o studiomdl.exe do Source não substituem um pipeline GoldSrc.

Para outra especificação MDL

Identifique a aplicação, a versão do produto e a variante MDL exata antes de escolher o software. Importe o STL no Blender, 3ds Max, MeshLab ou na própria ferramenta de modelagem da aplicação e use um exporter que nomeie explicitamente essa especificação MDL. Serviços online genéricos como CloudConvert ou Convertio podem oferecer suporte a alguns formatos 3D comuns, mas não produzem um compile Valve MDL utilizável e não devem ser tratados como conversores MDL universais. Não faça upload de meshes proprietários a menos que os termos de armazenamento e exclusão do serviço sejam aceitáveis.

Limites de qualidade e compatibilidade

Essa conversão geralmente é um workflow de reconstrução e compilação. A geometria de triângulos pode ser transferida, mas texturas, materiais, UVs, rigging, animação, geometria de colisão, escala, smoothing e metadata precisam ser reconstruídos ou configurados separadamente.

Inspecione as normais e o shading após a importação, pois os dados de normais do STL geralmente estão incompletos ou são ignorados. Verifique o smoothing, as sharp edges, os vértices duplicados e a origem e a escala do modelo. Um STL escaneado denso pode exceder os limites de vértices, bones, draw calls ou colisão do engine mesmo após ser compilado.

Compile com a ferramenta fornecida para o branch do engine de destino e leia todos os avisos. Caminhos de materiais ausentes, meshes de colisão inválidos, bone weights não suportados, caminhos QC incorretos e arquivos complementares ausentes podem produzir um MDL que compila, mas renderiza incorretamente ou não consegue ser carregado.

Simplificando, é impossível converter STL para MDL diretamente.
Portanto, não existe um chamado conversor stl para mdl ou um conversor online gratuito.

Outras conversões de arquivo .stl

Conversão inversa

Converter para .mdl
de outros formatos

Compartilhar nas redes sociais: