Fantastic product, really enjoying using it so far.
Only setback I’ve come across, and this might not be a product-related issue - but I can’t seem to get movement to work.
For whatever reason, neither impulse or force seem to add forward/backward movement to the ship, however the torque does seem to rotate the ship correctly.
Also, just to avoid any confusion - “ShipSpeed” float is set to 10.
Any insight on this would be great. Perhaps there is another method of adding forward movement to a Pawn while subject to buoyancy?
I think you might need to set ShipSpeed to a much higher value. If you look in the PawnBoat Blueprint that comes with Physical Water Surface, you will find that a force of 5000000 is applied (see the CurrentForce variable). Please try to set ShipSpeed to 5000000 and let me know if you start to see ship movement.
Very different question, but is there any way to take the displacement node in the material to create a waterline effect? I’ve tried combining the waterline marketplace asset but I guess my shader math knowledge is limited, as I can’t work out how to use the water displacement output to get a waterline mask.
I haven’t worked yet on creating a waterline effect, so don’t have specific advice on this. Usually it’s quite straightforward to combine the water motion from Physical Water Surface with other water materials, as I’m showing in this tutorial.
Hello, I recently bought your physical water and after a very long time figuring out how to get my boat working (I’m just a 3D artist, blueprints and UE 4 are rather new to me aside of standard asset setups), I just can’t manage to block out the water clipping through.
Quick outlines: I have a boat that has a lot of animations (doors, steering wheel etc etc) so it’s a skeleton mesh. Managed to get that working now as intended, attached lights collected in a blueprint, added your buoyancy and created the masking mesh. I just can’t set it up like in your instructions, because I can’t find any mesh distance field options on the skeleton mesh.
My solution (or so I thought) was to give the mask mesh no collision and make it the mesh distance field mesh, attach it to the boat and give it a masked out material. When I visualize mesh distance fields it looks correct, but water still goes through.
Either I’m missing something that is not mentioned in the documentation but logical to people more akin to programming and/or blueprints, but I need help here. It’s the last stepping stone for me.
Couldn’t get it to work so far with Per Poly Collision, which would be great if that was possible.
Would appreciate some help here.
Even if this is not supported as of yet, good work on the water, looks really good as is. Once you manage to implement shores and transparency this would by even more amazing.
Also: I would love to connect your water with Ultra Dynamic Sky. Should be possible I think, but I don’t have the know how to synchronize wind direction, speed etc with the weather. Even if those are not connected, connecting the splash effects of the rain with the water would be awesome too.
Looking into projectile impacts with the water surface. Is there any way to get a hit event on the water surface? Basically just want to spawn a particle effect and sound at a world location from within my projectile blueprint.
My first idea would be to attach an invisible static mesh to your ship, which is just responsible for generating the mesh distance fields. It sounds you’ve already tried to implement a very similar workaround. Does the Masked Water example map that comes with physical water surface work correctly? Is the water masked out in this map on your machine?
I haven’t worked with Ultra Dynamic Sky, so I’m afraid I can’t give specific advice at the moment.
I think connecting the splash effect with the water surface could be possible, the next update of Physical Water Surface will bring some functionally that could help to detect the location of the splashes.
The next update of Physical Water Surface will bring a function to calculate the intersection of any line with the water surface. Sounds like the is exactly what you need to) to place your particle effects.
Yes, the demo scenes work fine. I’ll try to put my workaround experiment into that map as well. I think another idea that might work would be to attach my mesh to the invisible mesh instead. I’ll try this tomorrow as well. That way I may even be able to use per polygon collision for the UDS splash effects.
I’ll let you know how it goes.
A question about movement when buoyant. As discussed before, the amount of force added is large to get a boat to move through the water. However, should the boat ever crest over a wave or ride up onto the landscape, the force applied to move through the water will send the boat into space as soon as it’s out of the water.
Is there any way to reduce the friction applied from the water? So that the force values can be more accurate, or at least more consistent in and out of the water.
For future reference I provide the following explanation: The Buoyancy Blueprint has a boolean property called bAnySubmerged. It is set to true if any of the Buoyancy Points are submerged under the water surface. No forward force should be applied to the boat if **bAnySubmerged **is set to false, to avoid unrealistic acceleration of the boat while it is jumping out of the water.
I finally managed to get to try it out and get it working. For some reason the same setup worked in your masked test map (same project) but not when I added the blueprints to my own scene. I will have to check that out.
I did not touch any blueprints, I just changed settings, but here you can already see some results and the Ultra Dynamic Sky (and weather) in action. Took me a while to get buoyancy working properly and only with manual points, but I’m using my Watercab in extreme situations and setting up the points wasn’t hard either. I’m sure that if you have knowledge of blueprints and programming you can achieve much better results and find ways to integrate UDS as well. For me I’m already very happy what I managed.
I’m just not too happy with the material of the water itself. I’m really missing the transparency/refraction, and overall in certain light conditions it looks very meh. But that might be on my end and my setup, not necessarily just the material.
However it completely breaks when I turn raytracing on. Looks like two surfaces are fighting each other for what to reflect. Afaik raytracing isn’t supported yet though, correct?
Anyways, below are the videos
(all WIP and they are focused on my asset, but you can also see what you can achieve if you manage to set up your assets properly):
Yes, you can try to export it as a Data Table for example.
Please have a look in the WaterLocation Blueprint. It shows you how to calculate the water deformation vector (X,Y,Z) for a given point (X,Y) on the undeformed water surface by calling the CalculateDeltaOnly function of the WaterSettings Blueprint. You can call the CalculateDeltaOnly function repeatedly to query the shape of the deformed water surface at all the points of interest.
Internally, the CalculateDeltaOnly function calls the GerstnerWaveDeltaOnly function. In this function, you can override the time at which the GerstnerWaves are evaluated (be default the Game Time in Seconds is used):
So all you need to do is to write a small Blueprint that calls the CalculateDeltaOnly function repeatedly and stores the result in a Data Table. Then you can export the Data Table.
At the moment I’m overhauling my plans for future updates. As soon as I have news about the update timeline I’ll post here about it.
Making the water surface transparent has very high priority for me. I also want to look into supporting UE5. I’ve supported Physical Water Surface for a long time over many engine versions, and I plan to continue to do this in the future also for UE5.
I’ve done some first testing in UE5 with Physical Water Surface. In general, everything seems to work quite well already. The water and buoyancy simulations work without problems. I’ve observed the following issues in UE5:
The PawnBoat Blueprint has a compilation error in UE5, which can be easily resolved by replacing the deprecated AddTorque node with the new AddTorqueInRadians node.
Something strange is going on with the WindDirectionTransition demo map, I’ll need to investigate what happens here. The SeaStateTransitions demo map works fine though.
There is some flickering where the water is masked out inside the boat in the MaskedWater demo map. This could be caused by an issue with the mesh distance fields in UE5.
I’m still struggling with reflections in forward shaded mode, as planar reflections are too expensive, but even reflection probes don’t seem to work either as I can’t see any clouds even in a fairly calm physical water surface:
I recently saw this technique which uses a pre-rendered cubemap and I’m wondering if it can be adapted to this water material, at least to reflect the surroundings even if it probably can’t work to reflect boats: