specklesystems / speckle-unreal

Unreal Engine 4/5 plugin for importing objects from Speckle v2.
https://speckle.systems/tag/unreal/
Apache License 2.0
54 stars 14 forks source link

Create a converter to convert Blocks as Instance Static Meshes #62

Closed JR-Morgan closed 11 months ago

JR-Morgan commented 2 years ago

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:

  1. A new converter (ideally in C++, but BP would be acceptable)
  2. Changes to UStaticMeshConverter and, potentially UBlockConverter

Ideally all changes should be contained within Converters and Objects models.

Useful Resources

JR-Morgan commented 11 months ago

Closing for now until users request this feature