Mesh Water Displacement Will Not Rotate Correctly


photo

Recommended Posts

I've been experimenting with the Unigine Community edition (Very excited to be able to use it, finally), and I have come across an issue that I cannot seem to resolve. I am attempting to use a Mesh Water node to simulate a lake. Tuning the displacement parameters, I can get a decent waveform, but when I try and use the direction parameter to change the orientation of the wave, the surface becomes broken and noisy.

My models are exported from 3DS Max, and have their transforms centered at zero and scales at 100%. They are simple planes with a large number of segments. In Unigine, I have them set to Z-Up and X-Forward, and they are oriented correctly in the world without any rotation. When I attempt to rotate the direction of the Gerstner waves on the surface, they stretch along the opposing axis, but they do not properly rotate. Is there a procedure that I missed in the export process? 

This issue occurs with a plane generated fresh in Unigine, as well. That suggests to me that rather than being an issue of how I export my geometry, it is an error in the math. I've encountered this before in my own attempts at creating Gerstner displacement, but before if was typically due to an incorrectly exported mesh. This applies to those created within Unigine as well, so I'm at a loss.

A small rotation.JPG

Link to post

Steps to reproduce are as follows:

Create>Primitive>Plane

Enter a large number of segments

Create>Water>Mesh Water

Assign the generated plane mesh to the mesh water.

Increase the Amplitude parameter of one of the waves. I used a value of .4 for speed and .07 for amplitude, initially.

Attempt to change the Direction parameter. The expected behavior is that the waveform would rotate around the model's origin/pivot and reorient correctly at the specified angle.

The screenshot above demonstrates the behavior experienced.

Link to post
  • 2 weeks later...

Hi, I finally got my hands onto this.

WaterMesh is really tricky in configuration, it's much easier to get some crazy artifacts instead of nice waves.

All these geometrical parameters are working, however, with extremely dense meshes they produce a lot of artifacts.

My suggestion would be to simplify mesh and experiment with Waves radius parameter in the water_mesh material. Keep amplitude at low values, 0.0x is fine, everything bigger may cause unwanted effects.

Thanks!

How to submit a good bug report
---
FTP server for test scenes and user uploads:

Link to post

Well, my amplitude is as low as you suggest, and my mesh is not particularly dense, either.

Correct me if I'm wrong, but isn't the Wave Radius parameter just a control for the distance from the camera at which waves are generated?

If you've been able to get this to work with the direction parameter, I would greatly appreciate it if you could send me a sample to look over and compare to my own. Having built waves like this in the past, the issue I'm encountering is not expected behavior; It looks like some of the broken prototypes that I ended up with a few times.

Link to post
Posted (edited)

This is the water mesh I am trying to work with. It was generated within Unigine as a primitive.

The direction parameter has a tooltip that says at a value of 180 the waves will have their starting orientation. The second screenshot illustrates the result of that setting with a low amplitude.

image.pngimage.thumb.png.d6bcd99a0049af7cd5aedaa39b31fdae.pngAdd

Edited by lhio.havahru
Added second result at low amplitude with direction set at 180.
Link to post
  • 3 weeks later...

Hi Ihio,

We've found a bug with assignment of wave parameters via the Editor. The fix is expected to be included in 2.12.

Sorry for the inconvenience caused and thanks for reporting!

  • Like 1
Link to post