rdInst Tutorial 24 – Using rdInst with WorldPartition
Last Updated: 3rd October 2024
rdInst provides different ways of handling instances when used with World Partition.
When accessing the raw HISM or ISM generators from rdInst via the rdBaseActor or from the rdInst Subsystem, the instances aren’t managed by the World Partition system, so when a tile is unloaded, the instances created using rdInst remain visible. This can be desirable in many situations – they don’t have to be included in any HLODs for a start – and as they’re probably meshes you’re using close by, they’re being rendered in the same draw calls. Nanite provides even better gains for these too.
When Subclassing your actors off rdActor – they are supported by World Partition – when the tile is unloaded, the instances managed by your actor are destroyed – and created again when the tile is loaded.
You can balance the use of both, often removing the need for whole WP tiles.
If you’re creating a very large level in the 10’s of kilometers in size, you may find that your instances start to jitter. This can be remedied by using the Reseat function in the rdInstBase Actor – this shifts the origin (and rotation) on the base instance manager to make the locations smaller and not prone to rounding issues.