Download

World Composition: Duplicated Tiles have offset baked in

Hi, we are having a very specific question concerning the World Composition tools.

We are working on a viewer for real world cities generated from elevation, satellite and architectural data. Our workflow is based on Unreal DLC expansions (content only plugins) to seperate Content and Viewer and a tile based World Composition, generated in Houdini. We want to be able to visualize newly planned buildings, streets and changes in terrain, so we have to be able to swap some of the tiles afterwards.

We are duplicating and renaming our tiles in editor to apply the needed changes to them. When duplicating a tile there is one big problem. The tile offset from the world composition is baked into the copied tile, so we are not able to stream the tiles to the right position (using the Load Level Instance Blueprint function, with the transform calculated by multiplying the tile number, e.g. “…_x1_y2” by the tile width).

Steps to recreate our problem:

  1. Create new Unreal project
  2. Enable World Composition
  3. Import Tiled Landscape (generated in Houdini, World Machine,…)
  4. Load all Tiles
  5. Click on the different Landscape Streaming Proxies and look at their positions. They are different and a multiple of their width (Placed through world composition tools).
  6. Open one of the tiles in the tiles folder. The Landscape Streaming Proxy has the position 0,0.
  7. Duplicate one of the tiles and rename it.
  8. Open the Persistent Level. Load all tiles -> The duplicated tile is at the right position.
  9. Open the duplicated tile and look at the coordinates of the Landscape Streaming Proxy. It has its World Composition offset baked in. This causes the tile to have double the offset, using the aforementioned loading function.

The same problem happens when migrating, or moving the Tiles to another content only Plugin.

Also painted Foliage seems to reset its position when duplicating tiles.

Is this intended behaviour, or a bug?

Is there a way to get the offset information from the Package Header (so we don’t have to calculate our positions)?

Is there another way to have interchangable tiles?

Thanks in advance!