Vixen
dd8b0a81
csharp
public record class ModelImportSettings

How one model is imported.

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

Remarks

Each of these answers something the file cannot. Which axis is up, how the material tree is wired and what the LODs should be are all decisions with better homes — the first in the authoring tool, the second in a material asset, the third in the compiler that sees the whole model.

⚠ The third of those is a standing decision rather than an unwritten setting, and #1173 asked for it to be said out loud: there is deliberately no generateLods here. An import setting decides one file at a time, and which levels an object needs is a fact about the scene it is placed in. So an authored chain — a parent carrying LodGroupComponent's thresholds over children carrying LodLevel — is the only kind of chain that exists today, and the generated kind is owed from the content build rather than from here. Vixen.Geometry.Remeshing is already the decimator that half would use; what is missing is emitting the coarser meshes as sub-assets a group can name. See docs/guide/rendering/lod-groups.md.

Fields and properties (28)

  • public int Version

    The importer's own version. Bumping it invalidates every artefact that importer produced.

  • public List<SubAssetRename> SubAssetNames
  • public float Scale

    What to multiply every length by.

  • public bool GenerateNormals

    Whether to compute normals for meshes that have none.

  • public bool GenerateTangents

    Whether to compute tangents for meshes that have UVs and no tangents.

  • public bool ImportAnimations

    Whether to import the animation clips the file carries.

  • public bool ImportBlendShapes

    Whether to import the blend shapes the file carries.

  • public float BlendShapeThreshold

    How far a vertex must move to be kept in a blend shape, in the model's own units.

  • public bool GenerateDistanceFields

    Whether to bake a signed distance field for each of the model's meshes.

  • public int DistanceFieldResolution

    How many samples along the longest axis of each field.

  • public int DistanceFieldSignRays

    How many rays each sample casts to decide which side of the surface it is on.

  • public float DistanceFieldBoundsExpansion

    How far a field's volume is grown past its mesh, as a fraction of the mesh's size.

  • public bool GenerateMeshlets

    Whether to build a cluster hierarchy for each of the model's meshes.

  • public int MeshletTriangles

    The most triangles one cluster may hold.

  • public int MeshletVertices

    The most distinct vertices one cluster may reference.

  • public int MeshletGroupSize

    How many clusters are simplified together as a group.

  • public int MeshletFallbackTriangles

    How many triangles the generated fallback mesh may have.

  • public bool Retopologize

    Whether every mesh in the model is retopologised into quads on the way in.

  • public int RetopologyQuads

    How many quads to aim for per mesh.

  • public float RetopologyAdaptivity

    Zero for uniform squares, one to let curvature decide the density.

  • public float RetopologyFeatureAngle

    The angle, in degrees, above which a shared edge is a hard feature.

  • public bool RetopologyKeepUvSeams

    Whether the source's coordinate seams are features the retopology keeps.

  • public SymmetryAxis RetopologySymmetry

    Which axis to mirror across — none, x, y or z.

  • public List<RetopologyGuideReference> RetopologyGuides

    Guide curves the retopology's edge flow should follow, as .vxspline asset paths.

  • public UnwrapMode Unwrap

    When to generate texture coordinates for the model's meshes.

  • public int UnwrapResolution

    The atlas resolution the unwrap packs for.

  • public int UnwrapMargin

    How many texels of empty space each island keeps around it.

  • public float UnwrapTexelDensity

    Texels per world unit to hold across every chart, or zero to fill the atlas instead.

Methods (5)

Used by (20)

  • AnimationBinderVixen.Editor.AssetEditors
  • EditorApplicationVixen.Editor.App
  • GeometryCommandTestsVixen.Cli.Tests
  • GeometryRunnerVixen.Cli
  • ImportSettingsMirrorTestsVixen.Editor.AssetEditors.Tests
  • ImportedGeometryLoadsTestsVixen.Editor.Assets.Tests
  • ImporterTestsVixen.Editor.Assets.Tests
  • LayerStackBindingTestsVixen.Editor.Texturing.Tests
  • LayerStackImportedMeshTestsVixen.Editor.Texturing.Tests
  • LayerStackMeshVixen.Editor.Texturing
  • MeshMapBakeGeometryTestsVixen.Editor.App.Tests
  • ModelImporterVixen.Editor.Assets
  • ModelImporterTestsVixen.Editor.Assets.Tests
  • ModelReaderVixen.Editor.Assets
  • ModelReaderTestsVixen.Editor.Assets.Tests
  • ModelRetopologyVixen.Editor.Assets
  • ModelRetopologyTestsVixen.Editor.Assets.Tests
  • NavMeshImporterVixen.Editor.Assets
  • ReflectedTypeTestsVixen.Editor.Scripts.Tests
  • TypeRegistrationVixen.Editor.Assets