Vixen
02b45cc4
csharp
public record class ModelData

A model as it comes out of an authoring tool: a hierarchy, and what hangs off it.

No guide page documents this yet — the page shows what the code says about itself.

Remarks

Editor-domain, not runtime-domain, in [doc 08](../../docs/plan/08-asset-pipeline-and-addressables.md)'s split. What a player loads is a packed vertex buffer with a resolved pipeline; what an import produces is this — named parts, per-vertex arrays, and enough structure for a compiler to make those decisions with the whole model in hand. The compiler is what does meshlets, LODs, index reordering and vertex-layout packing, and none of them can be decided one mesh at a time.

Right-handed, Y-up, −Z forward, which is Vector3's convention and also glTF's and Assimp's own. No axis conversion happens on import, which is why none is written down as happening: a file authored Z-up arrives Z-up, and correcting it is a transform on the root node that an artist can see rather than a silent rotation in a build step.

Fields and properties (7)

  • public string Name

    What the model is called.

  • public ModelNode[] Nodes

    The hierarchy, parents before children.

  • public ModelPart[] Parts

    What is drawn, and where.

  • public string[] Materials

    The materials the parts index into, by name.

  • public string Skeleton

    The skeleton's sub-asset name, or empty if nothing here is skinned.

  • public string[] Animations

    The animation clips' sub-asset names.

  • public BoundingBox Bounds

    Everything the model occupies, in its own space.

Used by (9)

  • ModelDataTestsVixen.Rendering.Tests
  • TypeRegistrationVixen.Rendering
  • Vixen_Rendering_ModelDataSerializerVixen.Rendering
  • ModelImporterVixen.Editor.Assets
  • ModelImporterTestsVixen.Editor.Assets.Tests
  • ModelReaderVixen.Editor.Assets
  • ModelReaderTestsVixen.Editor.Assets.Tests
  • NavMeshImporterVixen.Editor.Assets
  • ReadModelVixen.Editor.Assets