12/16/2023 0 Comments Realistic raindrop photo![]() ![]() To render the depth map, we link a dummy location in front of the current camera but at a little higher, then render the world geometry from this point of view. – Emit the water splash at the generated positions – Use the depth map to generate random positions following the world geometry – Transfer depth map from GPU to CPU memory The depth map gives all the information we require to emit a water splash particle at a random position in the world respecting the scene geometry. Instead of trying to collide some rays with the world, we can simply render a depth map view from the top in the rain direction. The pattern will not be as random as other water splashes but the effect will be there. Another simple solution when you have complex geometry that you can’t simply approximate is to manually put an emitter of water splash particles following geometry boundaries. As an optimization, the water splashes are only generated close to the screen. Most games collide a bunch of random rays starting from the top of the world downward with a simple geometry representation of the scene then generate water splashes particles at the origin of the collisions. Based on this fact and for performance reasons it is simpler to have two independent systems to manage raindrops and rain splashes. ![]() With so many raindrops creating water splashes, it is hard to distinguish which rain drop is causing a specific rain splash. Tracking every particles colliding with a scene can be costly. Rain splashes can be simulated easily in a game by spawning a water splash particle when the stretched particle representing the raindrop collides with the scene. We will focus on raindrops in a first time. Rain, or water flow on large heights like rooftop or tree, can generate falling drops, the behavior is the same in both cases. In the real world, when a falling drop hits a surface a splash is generated. Our engine (Unreal engine 3) is a forward renderer but ideas here could also be applied in a deferred renderer. We focused on rainy urban environment and we described different rain effects one by one. For this post, I invited my co-workers Antoine Zanuttini, Laury Michel and Orson Favrel to write some words, so this is a collaborative post :). We will not only discuss about what we implemented but also about theory and other approaches. This post is the result of our researches. In this second water drop, I want to share the work me and others at Dontnod have done around these rain effects for “ Remember Me“. However, even if the demo was available in late 2005, all the techniques described can’t easily fit in a PS3/XBOX360 playable game environment. The major reference for rain city environment rendering is the “Toy Shop” demo from ATI which has been widely covered by Natalya Tatarchuck at many conferences. To immerse the player in a rainy world, we need to support a lot of them. In the first water drop we have seen several rain effects. Water drop 3b – Physically based wet surfaces Water drop 3a – Physically based wet surfaces Water drop 2b – Dynamic rain and its effects Water drop 2a – Dynamic rain and its effects As it is a pretty big post, I split it in two parts a and b: This is the second post of a series about simulating rain and its effect on the world in game. Version : 1.3 – Living blog – First version was 27 december 2012 ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |