Vixen
dd8b0a81
csharp
public record class PackSettings

Everything the packer needs, and the resolution is not optional.

Read the guide page for this →

Remarks

⚠ Resolution is required because Margin is counted in texels. docs/plan/42 § D8. A margin expressed as a fraction of UV space is a bug with a two-year fuse: it looks right at the resolution it was tuned at, and the same asset at half resolution bleeds across islands at mip 3, in a build nobody associates with the packing change. Bleeding is then misdiagnosed as a sampler problem roughly always.

⚠ Spacing is distributed evenly across every chart rather than applied per island as it is placed. That is the visibly better behaviour even when nothing bleeds — uneven gaps read as carelessness in an atlas — and it is the one thing a standalone packer is bought for.

Fields and properties (7)

  • public required int Resolution

    The atlas's edge length in texels. Required, and the reason is Margin.

  • public int Margin

    How many texels of empty space separate two islands.

  • public PackQuality Quality

    How hard to try.

  • public PackOverflow Overflow

    What to do when it does not fit.

  • public int Rotations

    How many orientations an island may be tried in, as quarter turns. One means none.

  • public float TexelDensity

    Texels per world unit every island is scaled to, or zero to keep each island's own scale.

  • public int CoreLimit

    How many islands the expensive core will place before the cheap tail takes over.

Used by (25)

  • LayoutAtlasVixen.Geometry.Remeshing
  • PackerVixen.Geometry.Uv
  • UvAllTestsVixen.Geometry.Uv.Tests
  • UvChartDeterminismTestsVixen.Geometry.Uv.Tests
  • UvDensityTestsVixen.Geometry.Uv.Tests
  • UvFlattenTestsVixen.Geometry.Uv.Tests
  • UvPackDeterminismTestsVixen.Geometry.Uv.Tests
  • UvPackEfficiencyTestsVixen.Geometry.Uv.Tests
  • UvPackMarginTestsVixen.Geometry.Uv.Tests
  • UvPackPropertyTestsVixen.Geometry.Uv.Tests
  • UvPackingTestsVixen.Geometry.Uv.Tests
  • UvStackingTestsVixen.Geometry.Uv.Tests
  • UvUdimTestsVixen.Geometry.Uv.Tests
  • UvUnwrapVixen.Geometry.Uv
  • UvUnwrapDeterminismTestsVixen.Geometry.Uv.Tests
  • UvUnwrapPipelinePropertyTestsVixen.Geometry.Uv.Tests
  • BlockoutPackSettingsVixen.Editor.Blockout
  • BlockoutRetopologyTestsVixen.Editor.Blockout.Tests
  • BlockoutSettingsTestsVixen.Editor.Blockout.Tests
  • BlockoutUvPanelVixen.Editor.Blockout
  • BlockoutUvViewTestsVixen.Editor.Blockout.Tests
  • GeometryRunnerVixen.Cli
  • ModelImportSettingsVixen.Editor.Assets
  • ModelRetopologyTestsVixen.Editor.Assets.Tests
  • VixenCommandVixen.Cli