Перейти к контенту
Медиа 1 для объявления Content Pipeline Tools - Material Baking, Instancing, Collision & Culling
0 comments

Описание

Turn heavy art into light levels, inside the editor.

Content Pipeline Tools is five editor tools for the work between "the art is finished" and "the level runs": bake a material subgraph into a texture, batch repeated props into instanced components inside one culling bound, merge many collision bodies into one, decide the box an actor is culled by, and three utility windows for texture and navmesh chores. Everything happens to assets before you cook.

Every number on this page was measured, on content that ships with the plugin or is built by a script. Where a tool costs something, the cost is listed next to the saving.

Material Bake

  • A Bake To Texture node marks any subgraph of a material; one command renders it into a texture

  • The texture is written into a parameter on the material and on every material instance beneath it

  • Measured: three Noise nodes at six octaves - 583 pixel-shader instructions and 6 texture samples before, 268 and 1 after, baked at 512x512 in 0.9 s

  • That exact pair of materials ships with the plugin, so you can read both numbers in the editor's own Stats panel

  • Textures are reused by content: a material that bakes to an image that already exists points at it, confirmed pixel by pixel rather than trusted to a hash

  • Generated names carry the hash, so a rebake never overwrites a texture another material still uses

  • Bake one material from the Content Browser, or the whole project from the Build menu

  • Write modes for RGBA, packed normals and single channels; target folder and naming in Project Settings

  • For graphs that cost real per-pixel work and never change. Bake a cheap gradient and the count does not move

Wrap & Batch

  • A new tab in the engine's own Merge Actors window

  • A selection becomes instanced static mesh components in one actor, inside one culling bound

  • Measured: 12 000 placed props in 80 clusters - 12 006 actors become 188, 12 001 components become 728, draw calls at the camera roughly halve

  • Bounds mode: one bound for the batch, or one per component to keep the engine's own occlusion working in enclosed levels

  • A Blueprintable builder with five extension points decides what is merged and how

  • A reference-aware builder is included: actors that quest data, a level Blueprint or a data table point at stay as themselves instead of being merged away

  • Callable from Blueprint and Python

  • The honest part: UE 5.8 already instances identical meshes on the GPU, so on that same field the batched map measured about 2 ms slower, not faster. Use it when the number of actors is the problem - outliner, level saves, streaming, memory - not the frame time

Collision merge

  • Many collision bodies folded into one aggregate body; an instanced component gives one shape per instance

  • Bodies with different collision profiles are never merged, so a trace gets the same answer as before

  • Measured: 2 000 small boxes become 2 collision-enabled components, and all 4 000 test rays that hit before still hit

  • The cost: a ray that hits the cluster takes 0.0682 ms instead of 0.0193 ms; a ray that misses costs what it did. Merge the clutter you count in thousands, not the floor the player walks on

Culling Bounds

  • A component that sets the box the engine culls and streams an actor by

  • Type a box in Local, World or Actor space, or capture it from everything attached, with a margin and filters

  • A ready wrapper actor with a billboard, and a bound drawn in the viewport

  • Blueprint API that also works in a packaged build

Three utility windows - Tools > Content Pipeline Tools

  • Set Texture Channels - assemble a texture from single channels of other textures

  • Draw Texture - paint into a render target laid over a level and save it as a texture

  • Bake Possible NavMesh To Texture - rasterise where the navigation mesh reaches into a texture

  • Editor Utility Widgets, so you can duplicate them and make them your own

Built to be checked

  • Full C++ source, no third-party libraries

  • Ten automation tests ship inside the plugin: Window > Test Automation, filter ContentPipelineTools

  • An example level and the before/after materials, so every claim above can be re-measured

Requirements and limits

  • Unreal Engine 5.8, Windows 64-bit

  • Editor tools: baking, batching, merging and the three windows run in the editor and change assets. The two components also have a Blueprint API for packaged builds

  • Baking needs a live editor; it cannot be driven by a commandlet

  • Enables EditorScriptingUtilities and ProceduralMeshComponent, both shipped with the engine. Epic marks EditorScriptingUtilities Beta in 5.8

  • A shared bound can cost more than it saves in an enclosed level - that is what the bounds mode is for

  • The collision merge only folds bodies that share a collision profile

Quick Start

  1. Install the plugin and enable it in Edit > Plugins

  2. Open M_ExampleSubgraph from the plugin's Example folder, turn on Window > Stats

  3. Build > Material Bake > Rebuild baked textures, then open M_ExampleBake and compare

  4. Open the L_ContentPipelineToolsExample map, select a cluster, Merge Actors > Wrap & Batch

  5. Tools > Content Pipeline Tools for the three utility windows

Documentation

Discord

Включённые форматы