City simulation

Hi.
I am going to simulate earthquake in one of the city of KOREA, My area is around 420km^2 and depend on magnitude and intensity of earthquake a vast part of the city may be destructed. please tell me about quality and duration of rendering. one things more is about the coordinate system. The XY of occurrence earthquake must be according with UTM coordinate system which give us the location of earthquake in X and Y. Is it possible to identifying coordinate system for the city? Thanx again
best regard .

10707-th.jpg

10707-th.jpg

“please tell me about quality and duration of rendering”

You should be able to make a sequence look as good as you have the patience for :slight_smile: Personally I think you could almost approach the quality seen in destruction movies like 2012 but it would take a team of skilled FX artists and modellers who are comfortable with things like destruction simulations in a 3D program. The editor will not do this work for you.

You should fairly easily be able to devise a system that randomizes an earthquake within a 2D coordinate system. Something like that could be either in blueprint or in code. There are so many ways you could approach this. I would probably approach the bulk of the work by using regular static meshes that use Vertex shaders to animate. Ie, you could have a parameter that is (0,0,-1)*FallHeight and hook that into the WorldPostionOffset. Then for any material where you increase Fallheight, the building will fall. You could layer on some simple sine-wave stuff and particle FX at that point, and the really big ‘hero buildings’ could have a custom skeletal mesh animation, but you probably would not want to do that for every single building in your scene.

So all you really need is a way of generating random numbers within a range equal to the size of your world (or simply refer to it as 0-1 internally and ‘remap’ to your level bounds) and then associating the results with a group of buildings. The vertex shader approach I like best here, since you wouldn’t even need to know which buildings are close to the ‘epicenter’. You would simply do the math for the ‘distance threshold’ within that vertex shader. Ie, get the distance between actor position and the “epicenter” of the current quake. You could have an IF node that says "only do something IF that is less than 1000 meters. Furthermore, you could also have a staggered set of lesser destruction events. Ie, if the distance was greater than 1000 but less than 2000, maybe we ‘crumple’ the mesh using a vertex shader/material but do not initiate the actual ‘falling’ or collapse event.

Anyways I hope you can see how there are TONS of ways to accomplish this. Your method can be either incredibly basic like the vertex shader trick I mentioned, or it could be a full on custom-system where you build a City with a node based Hierarchy and propagate destruction through neighbor linkages with extra logic. The only limit you will hit with the realtime rendering is the amount of skeletal meshes, polygons and dynamic shadows etc. But realistically all of that is manageable if you keep your assets as simple as you can (ie, don’t do a 100k poly skeletal mesh destruction animation for every single building, particle FX or vertex shaders can handle the bulk of your noisy stuff and look almost as good).

For passing the earthquake locations to all of the objects in the scene I suggest you look into Material Parameter Collections. Then just create vector parameters for as many simultaneous earthquake events you want your simulation to handle. FYI Vectors in param collections are V4, so the first 3 components could be location and you could use the 4th for magnitude which would be convenient.