public static class BlockoutHandoffDoc 24's P7: a block-out becoming an asset, and coming back as one.
Remarks
"Where the block-out becomes something an artist replaces." The exit criterion is that a block-out becomes an asset, an artist opens it in a DCC, replaces it, and the level does not change shape — so everything here is about one piece of geometry crossing a boundary without moving.
⚠ The bake and the export write the same file, and that is the decision. The plan asks for a bake "through the existing importer machinery" and for OBJ and glTF export as separate rows; the existing importer machinery reads OBJ. Writing the artist's file and pointing the entity at that makes the two rows one artefact — so the thing in the level and the thing on the artist's disk are the same bytes rather than two things that have to be kept in step.
Methods (5)
public static int Bake(SceneDocument document, IMeshBaker baker, string? name = null)Bakes the selected block-out geometry into a mesh asset and points the entity at it.
public static string Export(SceneDocument document, string format = ".obj", IEnumerable<Entity>? entities = null, string name = "Blockout")Writes the selected geometry out as a file for somebody else's tool.
public static int Editable(SceneDocument document, IMeshSource meshes)Makes an entity's mesh asset editable again, undoably.
public static int Collision(SceneDocument document, Entity entity, List<BoundingBox> into)The collision volumes a block-out mesh implies, in the entity's own space.
public static (Vector3[] Positions, int[] Indices) CollisionMesh(SceneDocument document, Entity entity)The mesh itself as collision, for the geometry a box cannot stand in for.
Used by (2)
- BlockoutBooleanTestsVixen.Editor.Blockout.Tests
- BlockoutModeVixen.Editor.Blockout