How can I make a ship interact with the waves on water ?
Hello, I have downloaded the water planes engine features sample and the bp_ocean has some awesome looking waves. The problem I am having is that whilst the waves are randomly generated and look 3d, the collision is a 2d box so my ship doesn't go up on the waves and it does not look realistic. If I try and apply convex decomposition the engine crashes so thats not the sollution. Any idea how I can sort this out ? Here is a picture of the static mesh . It moves around and goes from being above the collision box to being below it.
asked Dec 26 '15 at 12:45 PM in Blueprint Scripting
First, this is a very good question. The problem of rigidbodies interacting with fluids is largely solved but extremely computationally expensive. It's also pretty complicated.
The tutorial you're looking for is the Render Target Lookup. Everything should still apply to UE4.9 https://wiki.unrealengine.com/Render_Target_Lookup
That tutorial does an excellent job, but the best solution to this problem in a game I've seen was having a set of sphere colliders mimic the approximate positions of the waves. By converting the waves into a heightmap and then creating a series of overlapping spheres (every sphere should overlap with its 4 neighbours by about 3/4 its radius), and have these overlapping spheres interact with the ship hull, which should be a very simple convex mesh, a surprisingly physically accurate model can be established. I'm not sure what the properties for the sphere materials should be in UE4, but with some tweaking this allows you to achieve both a good "look" and a reasonably good estimate of how much the waves should be physically pushing an object in a direction, as the spheres will push objects around as they roll.
answered Dec 27 '15 at 07:55 AM
Follow this question
Once you sign in you will be able to subscribe for any updates here