Oceanology Manager
This guide will help you understand how to use the OceanologyManager for Oceanology Next Gen and Oceanology Legacy, detailing the differences in heightmap generation and integration workflows. Below, you will find separate guides for each version, including step-by-step processes tailored to their specific workflows.
Oceanology Next Gen: Real-Time Heightmap Integration
The OceanologyManager in Oceanology Next Gen operates in real-time, much like a Runtime Virtual Texture (RVT), eliminating the need for baking static heightmap textures. This version ensures seamless shoreline foam generation, water-body interactions, and landscape exclusion with dynamic updates.
Overview of OceanologyManager
The OceanologyManager is responsible for virtual texture-based capturing of the landscape, allowing for realistic interactions between water and terrain. This component provides a utility for several ocean-related visual effects, ensuring they are responsive and dynamically updated in real-time.
Quick Start Guide for Oceanology Next Gen
-
Enable Virtual Textures in Project Settings
- Start by navigating to your Project Settings and ensure that Virtual Textures are enabled. This is required for the OceanologyManager to function properly.
-
Create or Import a Landscape
- Create a landscape in your scene or import a heightmap. Sculpt the landscape as desired to shape the terrain you will interact with.
-
Set Up the Landscape Material
- You need a landscape material that feeds RVT with necessary data. Refer to
M_Landscape_RVT
found in the Oceanology examples for guidance. This material is pre-configured to interact correctly with the OceanologyManager.
- You need a landscape material that feeds RVT with necessary data. Refer to
-
Add Ocean and Lake Actors to Your Scene
- Drag and drop ocean and lake actors into your scene as needed. These water bodies will interact with the heightmap generated by the OceanologyManager.
-
Add the OceanologyManager Actor
- Drag and drop the OceanologyManager actor into your scene. This actor will automatically begin capturing the landscape for heightmap purposes.
-
Setup Landscape/Ground Mesh
- Press the "Setup Landscape" button to link the OceanologyManager to your landscape.
-
Align Bounds to Your Landscape
- Set the "Bounds Align Actor" option in the OceanologyManager to your landscape.
- Press the "Set Bounds" button to automatically adjust the capture area. Ensure that the yellow bounding box fully encompasses your entire landscape. If you have multiple landscapes, you may need to scale the bounds manually to cover all landscapes properly.
-
Adjust the Advanced Settings (Optional)
- Use the Snap to Landscape feature if you want the OceanologyManager bounds to precisely follow the shape of the landscape.
- The Expand Bounds option allows you to add a margin around the landscape to ensure proper capturing, particularly useful for landscapes with irregular edges.
Key Features of Oceanology Next Gen
-
Heightmap Component: The HeightmapComponent in the OceanologyManager creates a heightmap of the landscape in real time, ensuring accurate interaction between water bodies and terrain.
-
Virtual Texture Capture: Utilizes HeightmapVirtualTextureComponent to feed landscape data into the water system for realistic foam, wave interactions, and water exclusion.
-
Dynamic Updates: Unlike the old static baking process, the heightmap is updated automatically, meaning any landscape changes are immediately reflected in the water interactions.
Oceanology Legacy: Static Texture Baking
In Oceanology Legacy, the heightmap required baking a static texture to be used in your water interactions. This process is more manual compared to the real-time updates in Oceanology Next Gen but allows for greater control in specific scenarios where static data is sufficient.
Below is an example of the OceanologyManager settings for Legacy:
Legacy Heightmap Generation
The Legacy Heightmap System involved baking a heightmap texture that was used by the ocean and lake actors for foam generation, wave interactions, and landscape exclusion. The baked heightmap was static, meaning any changes to the landscape required a new bake to update interactions.
Quick Start Guide for Oceanology Legacy
-
Create or Import a Landscape
- Start by creating or importing a landscape and sculpting it as necessary for your project.
-
Set Up the Landscape Material
- Use a landscape material that provides the necessary data for baking. You can use the
M_Landscape_RVT
material from the Oceanology examples as a base.
- Use a landscape material that provides the necessary data for baking. You can use the
-
Add Ocean and Lake Actors to Your Scene
- Place ocean and lake actors into your scene. These will interact with the baked heightmap texture.
-
Add the Legacy Heightmap Actor
- Drag and drop the Legacy Heightmap Actor into your scene. This actor is responsible for capturing the landscape data for baking.
-
Set Bounds and Build Level
- Adjust the Bounds Align Actor to align the capture bounds with your landscape.
- Press the "Set Bounds" button to ensure the capture area encompasses your landscape.
- Set the build level to 4 or 5 based on your quality requirements. Build Level 12 is available but is very resource-intensive and often unnecessary.
-
Bake the Heightmap
- Press the "Save Heightmap" button and choose a location for your heightmap texture. This baked texture will be used by the water bodies to determine interactions with the terrain.
-
Setup Water Interaction
- Press the "Setup Water" button and then the "Set Water Min/Max" button to configure water interactions with the baked heightmap.
Key Features of Oceanology Legacy
-
Static Heightmap Texture: The baked texture is used for water interaction, but any changes to the landscape require a new bake.
-
Manual Updates: Unlike Oceanology Next Gen, updating the landscape requires repeating the baking process, which can be more time-consuming but allows for precise control.
Summary
Both Oceanology Next Gen and Oceanology Legacy provide methods for integrating landscape heightmaps into your water bodies, but they differ significantly in their workflows:
-
Oceanology Next Gen offers real-time heightmap updates using the OceanologyManager, streamlining workflows and providing dynamic interactions.
-
Oceanology Legacy requires baking static heightmap textures, which may be more suitable for projects where changes to the terrain are infrequent and precise control is desired.
For more advanced use cases, check out our demo levels or join our Discord community for support and additional tips on leveraging the full potential of OceanologyManager and the legacy system.