Physical Water Surface

Which buoyancy mode are you using? AutoPoints or ManualPoints? The buoyancy points should be distributed equally over the hull of your boat, from your picture I can see that someting did go wrong because the points are just on one side of the boat.
Can you show me a screenshot of the buoyancy settings? You can also reply to my support email adress, communication there will be faster.

How would you go about adding multiple bodies of water with different height and let the buoyancy know which body it should interact with? An example would be a waterfall with a body of water at the top and at the bottom.

Physical Water Surface is built in such a way that multiple WaterPlanes can be added to a map. By default there is only one sea level and all the Buoyancy Blueprints read the SeaLevel property from the WaterSettings Blueprint. Have a look at the Event BeginPlay in the WaterSettings Blueprint, there you will see that the SeaLevel property is set automatically, using the Z position of the first WaterPlane that is found. This works fine as long as all the WaterPlanes are at the same level.

If you want to put WaterPlanes at different heights with working Buoyancy, you need to make some modifications:
In the BuoyancyBlueprint you need to find out above which WaterPlane you are. Depending on the situation you can use Traces or Trigger Actors for this. Then you add the appropriate height offset to the SeaLevel value that is used in the Buoyancy calculations in the Buoyancy Blueprint. It is only used in 5 locations that you can easily find with the search function.
And you probably want to disable the the FollowCamera option of the WaterPlane Blueprints, otherwise the WaterPlanes will move with the camera. Itā€™s probably a good idea to use your own mesh for the water plane that has the correct shape of the body of water that you need.

That was a very general description how this can be accomplished. If you have more detailed questions, youā€™re welcome to write an email to my support address and I will help you get this working.

Thanks a lot for the response! Iā€™ll see if i can get it to work :slight_smile:

How does the character swim and view in the water? Will it be added to the package?

Is this pack still getting updates for some of the commonly requested features such as land/shore interaction, translucency, etc.?

Yes, there will be more updates. Translucency has the highest priority for me, and I hope that I can bring it with the next update. Other much requested features that I want to bring in future updates are:

  • A character that can enter the water and swim in it
  • A floating ragdoll
  • Shore interaction
  • Investigate if Physical Water Surface can be modified to run on mobile

Please let me know if you have anything to add. I hope that I have some news about translucency very soon.

I think some sort of vertex painting wave magnitude would be cool, so it could be used as a lake or bay or something where the middle has larger waves than the shorelines

This is already possible, you just need to make a small modification in the WaterMotion Material Function. Add a VertexColor node and a Multiply node before the Output Displacement as shown here:

VertexColor2.png

Then, you use Mesh Painting on the water plane mesh like in the Tutorial to scale the Amplitude of the water motion.
Donā€™t forget to set the FollowCamera option to false (see tutorial), otherwise the Mesh Painting will not work as intended.

Physical Water Surface is compatible with engine version 4.21. Please let me know if you should encounter any problems.

Hi ,

First of all congratulations for your amazing work. I add your water place in battle royale system and if my character stand on the pawn boat the boat slowly diving to the depth. can i give more power to buoyancy? like the character have wheight. And other one problem for all my projects if i place the water plane in my projects i see this message:
Blueprint Runtime Error: Accessed None trying to read property CallFunc_GetPlayerCameraManager_ReturnValue from function: ā€˜ExecuteUbergraph_WaterPlaneā€™ from node: Set World Scale 3D in graph: EventGraph in object: WaterPlane with description: Accessed None trying to read property CallFunc_GetPlayerCameraManager_ReturnValue

Thank you

Iā€™ve replied via email.

Until now Iā€™ve developed Physical Water Surface in engine version 4.10. At the moment Iā€™m considering to switch development to a newer engine version (for example 4.20) so that newer engine features (like Planar Reflections) can be used. As a consequence, future updates of Physical Water Surface would only be available for 4.20 and higher.
Would such an approach be acceptable for everyone? From the support request Iā€™ve seen that most customers use a recent engine version anyway and my feeling is that it would make sense to use the latest engine features in development.
Please let me know your opinion about this!

I would really appreciate the upgrade & all the new features that upgrade to the new engine version brings

Can this asset be used without the bouancy? In other words, can we stick a completely static ship in this physical water surface and not have any movement? This is for VR purposes, so Iā€™m afraid that movement would make people feel queezy.

Also, is it possible to go down below the surface in the ship interior and not have water coming through the hull?

Unless Iā€™m mistaken, this seems to be the only maintained ocean solution that also works for VR in the entire Unreal Marketplace?

Yes, thatā€™s possible of course. If you donā€™t add the Buoyancy Component to the ship it will not move.
I recommend that you experiment with different setups. In my VR experimentsit was quite a comfortable experience to have the player position be controlled by the buoyancy motion of the ship, especially when only the position of the boat but not the rotation is applied to the player (so that in VR the horizon always stays horizontal).

And yes, the water can behidden inside of ships so that the player can go down below the surface inside the ship. However, there is no underwater environment so when you look out of the ship through portholes under water you will not see anything.

Hello. I just bought this asset for my project. Please see attached screenshot.
Water looks like on screenshot. Iā€™m noob in UE, hence support will be much appreciated.
ps: I was doing all steps with water integration as per instructions.

When you use Physical Water Surface for the first time it can take a few minutes for the water shader to compile. The ā€œcompiling shadersā€ messages in the engine is not always reliable. Please check in the task manager if the CPU load is high, this is an indication that the shaders are sill compiling. So my advice is to just wait a few minutes, the water will eventually appear.
Please let me know if waiting doesnā€™t work for you. Does the water also look like this when you open the DemoMap that comes with PhysicalWaterSurface?

I love the movement of the water shader, but I would love to make it translucent so I can get some realistic shore-interaction going; I read somewhere that youā€™re working on making the material translucent, do you have any ETA on that? I would also really appreciate an updated engine Version release for the newest effects. By the way, in Your docs weā€™re instructed to use FXAA instead of TemporalAA; Iā€™m relying on TemporalAA for other assets, what do we gain from using FXAA With the Ocean shader? Thanks for a very Nice product!

Yes itā€™s true Iā€™m working on translucency, ETA is early next year, hopefully. This update will also include the updated engine version.
By default, the water surface looks extremely blurry when using TemporalAA. There are two ways to improve this: One way is to switch to FXAA which I recommend for most cases. The other way is to enable ā€œAccurate velocities from Vertex Deformationā€ which comes at a performance cost and will make the water less blurry when using TemporalAA.