Dynamic terrain deformation during the game?

I work in Unity and look at Lumberyard with curiosity. I need the ability to deform the terrain in real time during the game. I mean only the change in the height of the ground’s vertexes: craters from explosions, dynamic track from the wheels, etc.

Is this possible in a Luberyard?

How much is this solution ready to work out of the box?

Thanks in advance for the answer!

Yes, you can change Terrain during runtime with using this

gEnv->p3DEngine->GetITerrain()->SetTerrainElevation (...)

Here is short demo GIF

Are there any documents for this? I could not find anything.

Yeah, there is no any docs about this feature, but since it’s just legacy cryengine tech you could find some examples/code of using terrain SetTerrainElevation on their old forum.

I wrote TerraformingComponent for terrain test, it’s very raw, but since there is no info about this, you could take a look on it, how it works




typical situation I add this component on some entity and then use EBus to change terrain

	else if (channelId == InputDeviceMouse::Button::Right)
TerraformingBus::Broadcast(&TerraformingBus::Events::UpdateTerrainCutout, m_hitPosition, m_gatherRadius, true);

Thanks for sharing.