Vixen
dd8b0a81
csharp
public static class GeometryRunner

`vixen remesh`, `vixen unwrap` and `vixen uv pack` — a mesh file in, a mesh file out.

Read the guide page for this →

Remarks

docs/plan/41 § D16's CLI row and docs/plan/42 § D13's, which exist to be batchable over a directory. Neither reads a project: a file on disk is the unit, because the case both documents were written for is a pile of generated GLBs that are not assets yet and a build script that has to turn them into ones.

⚠ The input goes through Assimp — ModelReader — and the output through ModelWriter, which is why this reaches into Vixen.Editor.Assets. Tools/ is the top of the layering and already links two editor assemblies; writing a second glTF reader here so that the CLI could pretend not to would be the wrong kind of independence.

⚠ There is no --bake, and docs/plan/41 § D16's example line has one. The normal and displacement bake is R5's and nothing in the pipeline performs it yet — TransferAttributes is declared and unread. A flag that parsed and then wrote no maps is exactly the verb VixenCommand's own remarks refuse: "a verb that parses and then apologises is worse than one that is not there, because a build script can only discover the second kind." It arrives with the bake.

Methods (3)

  • public static ExitCode Remesh(string input, string output, RemeshSettings settings, IReadOnlyList<(string Path, float Strength)> guides, TextWriter progress, TextWriter error)

    Retopologises every mesh in a file.

  • public static ExitCode Unwrap(string input, string output, UvSettings settings, PackSettings packing, TextWriter progress, TextWriter error)

    Unwraps every mesh in a file: charts, flattening and packing.

  • public static ExitCode Pack(string input, string output, PackSettings packing, TextWriter progress, TextWriter error)

    Repacks the coordinates a file already carries, without touching a seam.

Used by (1)

  • VixenCommandVixen.Cli