Closed JR-Morgan closed 11 months ago
Instanced Static Meshes can be rendered much more efficiently, especially with many instances in a scene.
Block instances are converted as empty actors (with a transform) here, with their geometry converted as regular UStaticMeshComponent, here .
Since we don't currently define a UBlockDefinition object model in C++, block definition are implicitly converted through normal object traversal.
UBlockDefinition
Geometry inside a Block Definition should get converted as UInstancedStaticMeshComponent/UHierarchicalInstancedStaticMeshComponent.
UInstancedStaticMeshComponent
UHierarchicalInstancedStaticMeshComponent
This can be done either with:
UStaticMeshConverter
UBlockConverter
Ideally all changes should be contained within Converters and Objects models.
Closing for now until users request this feature
Motivation
Instanced Static Meshes can be rendered much more efficiently, especially with many instances in a scene.
Current Behaviour
Block instances are converted as empty actors (with a transform) here, with their geometry converted as regular UStaticMeshComponent, here .
Since we don't currently define a
UBlockDefinition
object model in C++, block definition are implicitly converted through normal object traversal.Desired Behaviour
Geometry inside a Block Definition should get converted as
UInstancedStaticMeshComponent
/UHierarchicalInstancedStaticMeshComponent
.Potential Solution
This can be done either with:
UStaticMeshConverter
and, potentiallyUBlockConverter
Ideally all changes should be contained within Converters and Objects models.
Useful Resources