v2.0.0

Esta página foi traduzida automaticamente e pode conter erros. Encontrou um problema? Use o link "Edit this page" para ajudar a corrigir.

O Turian 2.0.0 introduz materiais por submesh. Modelos glTF/GLB importados agora compilam (cook) todas as meshes e primitivas (a versão 1.x mantinha apenas a primeira primitiva da primeira mesh), e cada submesh pode vincular seu próprio material.

O que mudou

  • Formato de mesh compilada (TMSH v2) — os assets de mesh ganharam uma tabela de submeshes (intervalos de índices por primitiva e slots de material).
  • Arquivos de cena — o campo material_guid (uma única string) do mesh renderer virou material_guids (um vetor).
  • MeshRendererComponent — o campo único material virou um vetor materials (até 32 entradas) mais um material_count, vinculados posicionalmente: materials[i] renderiza a submesh i.
  • Comportamento de importação — arquivos glTF e GLB com múltiplas meshes/primitivas são importados por completo. A importação de OBJ não muda (submesh único).

Quem é afetado

Qualquer projeto com cenas que atribuem materiais a mesh renderers, e qualquer código de jogo que leia ou escreva MeshRendererComponent.material.

Passos de atualização

1. Atualize para a 2.0.0

Baixe o SDK 2.0.0. Os SDKs são autocontidos, então você pode manter o SDK 1.x instalado lado a lado enquanto migra (veja a política de releases).

2. Deixe os assets recompilarem

O incremento de versão do importador força todo modelo importado a recompilar automaticamente para o novo formato de mesh. Não há nada a fazer — apenas espere que a primeira abertura do projeto (ou o primeiro build via CLI) demore mais em projetos com muitos modelos.

3. Migre seus arquivos de cena

As cenas antigas continuam carregando: o campo legado material_guid é convertido em memória e um aviso é registrado. Para persistir a conversão em todo o projeto de uma vez:

turian-cli migrate path/to/project

O comando varre cada cena, reescreve apenas as que ainda usam o campo legado e relata o que foi alterado. Faça commit do diff resultante. (Salvar novamente uma cena no Studio também a migra — a CLI é apenas a versão em lote.)

4. Atualize o código do jogo

Se seu código atribuía ou lia o material do renderer diretamente:

// 1.x
renderer.material = my_material_ref;

// 2.0.0
renderer.materials[0] = my_material_ref;
renderer.material_count = 1;

materials[i] vincula à submesh i da mesh. Meshes sem uma tabela de submeshes (primitivas procedurais, importações OBJ) são renderizadas inteiramente com materials[0]. Um slot não definido ou fora do intervalo recorre ao material padrão.

5. Revise cenas que usam modelos importados

Modelos que sempre continham múltiplas meshes ou primitivas eram truncados silenciosamente pela versão 1.x — após a recompilação eles são renderizados por completo. Revise as cenas construídas em torno desses modelos: geometria que você nunca viu antes pode agora aparecer, e seus slots de material podem ser atribuídos no Inspector.

Não faça downgrade depois

Cenas salvas pela 2.0.0 armazenam material_guids, que a versão 1.x não lê — abrir o projeto migrado com uma versão mais antiga descarta silenciosamente as atribuições de material ao salvar. Migre um projeto uma única vez, em uma única direção; se precisar experimentar antes, faça isso em um branch.


← Toda a documentação Editar esta página