Assets
Um asset é qualquer arquivo na pasta Assets/ do projeto. O Turian observa a pasta, importa cada arquivo de origem para um artefato pronto para o motor em .Cache/ e o registra no catálogo de assets do projeto.
Ids e arquivos .meta
Todo asset ganha um arquivo .meta ao lado, com um id estável. Cenas, materiais e seus componentes referenciam assets por esse id, nunca pelo caminho, então você pode mover e renomear arquivos à vontade — no painel Assets do Studio ou no gerenciador de arquivos. Versione os arquivos .meta; nunca versione .Cache/.
Arquivos suportados
| Tipo | Extensões | Abre em |
|---|---|---|
| Cena / prefab | .prefab |
uma aba do Studio |
| Material | .material |
o Inspector |
| Data asset | .dataasset, .asset |
o Inspector |
| Modelo | .gltf, .glb, .fbx, .obj |
o programa padrão |
| Textura | .png, .jpg, .jpeg, .tga, .bmp, .gif, .webp, .dds |
o programa padrão |
| Fonte | .ttf, .otf |
— |
| Documento / folha de estilo de interface | .ui, .uss |
o programa padrão |
| Tabela de textos | .strings |
o programa padrão |
| Script | .cs |
o seu editor de código |
Modelos
- glTF 2.0 (
.gltf,.glb) — geometria, todas as malhas e primitivas, e materiais. Cada material glTF vira um material filho, e cada imagem embutida uma textura filha, com ids derivados do modelo, estáveis entre reimportações. Texturas em arquivos separados são importadas como assets próprios. - FBX — geometria e materiais, via Assimp.
- OBJ — geometria.
Coloque um modelo na cena com um ModelComponent: solte o modelo no campo Model. Materials substitui o material de cada submalha, como os slots de material da Unity.
Texturas
As texturas são enviadas à GPU com mipmaps. As configurações de importação no Inspector limitam a resolução (a maior aresta) no geral ou por alvo de build; o padrão do projeto é Texture Max Resolution nas Graphics Settings.
Materiais
Crie um pelo painel Assets: botão direito → New → Material. Os materiais usam o modelo PBR metálico-rugosidade do glTF 2.0:
| Propriedade | Significado |
|---|---|
BaseColorFactor, BaseColorTexture |
Cor base (RGBA) e textura. |
MetallicFactor, RoughnessFactor, MetallicRoughnessTexture |
Metalicidade e rugosidade. |
NormalTexture |
Mapa de normais em espaço tangente. |
OcclusionTexture |
Oclusão de ambiente. |
EmissiveFactor, EmissiveTexture |
Luz emitida pela superfície. |
Solte texturas do painel Assets nos slots de textura do Inspector.
Data assets
Data assets são suas próprias classes C# salvas como arquivos de asset e editadas no Inspector — como os ScriptableObjects da Unity. Use-os para itens, atributos de inimigos, diálogos, listas de fases: tudo o que um designer deve ajustar sem mexer no código.
namespace Usercode;
[CreateAssetMenu(path: "Game/Weapon", fileName: "NewWeapon")]
public class WeaponData : DataAsset
{
public string DisplayName = "Sword";
[Range(1, 100)] public int Damage = 10;
public float Cooldown = 0.5f;
}
Depois que o script compila, New → Game → Weapon aparece no menu de contexto do painel Assets.
Carregando assets em tempo de execução
Exponha referências como campos e deixe o Inspector preenchê-las; carregue com IAssetLoader:
public class Armory : Component
{
public AssetReference<MaterialAsset>? GoldMaterial;
public override async void OnStart()
{
var loader = RuntimeServices.TryGet<IAssetLoader>();
if (loader is null || GoldMaterial is null) return;
var material = await GoldMaterial.LoadAsync(loader);
}
}
Distribuindo os assets
Ao exportar, o Turian empacota todos os assets importados em um Open Asset Package (.oap) na pasta Content/ do jogo: um único arquivo comprimido, com entradas verificadas por CRC, lido diretamente pelo runtime. A CLI também empacota (opcionalmente com criptografia ChaCha20), lista, inspeciona, valida e desempacota arquivos .oap.
Reimportando
As importações acontecem automaticamente quando os arquivos mudam. Project → Reimport Assets reescreve todos os .meta e reimporta o projeto inteiro, e turian-cli compile <projeto> faz o mesmo sem interface.