Masking Several Ocean Surfaces Together

   4119   3   2
User Avatar
Member
240 posts
Joined: April 2014
Offline
I'm in the process of creating a scene for a client in which a navy destroyer is caught in a stormy sea. A few of the shots require us to be up in the air and looking towards the horizon, so it's quite important that I avoid the standard tiling that occurs when using the off-the-shelf Ocean tool on a large scale.

One promising technique is described in this fxguide article for Kon-Tiki: http://www.fxguide.com/featured/kon-tiki-water-sims-digital-sharks/ [fxguide.com]

A couple key quotes:

“The ocean displacement was a shader with multiple Houdini Ocean Toolkit assets masked with fractal noises to avoid tiling patterns“

“A hallmark of HOT is its tiling nature (because the displacement effect is limited to a limited sized area), so we had to construct shaders with procedural noise textures that blended between 5-6 different HOT displacement with different values and seeds to get a natural looking ocean without visible tiling.”

I completely understand the general concept being described here - as I do similar things with texture creation in Vray: Creating texture A and Texture B, with Texture C being a greyscale image that blends the two together.

However, I'm having a bit of difficulty applying this technique with the shelf ocean tools.

One VOP SOP based technique is shared in this thread [sidefx.com], however, the mixing setup provided in the scene blends the oceans together by averaging the position values of the three ocean previews together - whereas I'm looking to use use noise masks. I tried modifying it myself to use turbulent noise for the bias setting, but couldn't get it to work - mostly due to user error of course, as I'm sure it's possible.

However, all of that brings up a couple questions:

1 - In order to accomplish the desired effect, should I (A) be trying to merge multiple Ocean Toolkits as described, or should I (B) roll my own custom ocean from scratch?

If I started with the ocean toolkit, I would not only need to create a SOP version for previewing in the viewport & for use with particle effects & ship integration, but I'd also need to create an identical masking effect for the displacement in SHOPs - and I'll be honest in saying that the existing SHOP ocean shader is way over my head (at least for the moment) - as there isn't any real documentation explaining what's going on (and there appears to be a lot of external references to other nodes outside of that SHOP network, which would make managing several of these shaders and then merging them - difficult.

2. If it's probably best to stay with the Ocean Toolkit, does anyone know of any documentation that might assist me in my understanding of the Ocean Shader at the SHOP level? I've watched the Sidefx introductory video, and have also purchased FXPHD's HOU211 course, which works on a similar “ship in the stormy sea” type shot, but in that one the camera stays right next to the ship for the whole shot, so the tiling isn't really an issue - and is therefore not seriously addressed. Plus, we never get into the SHOP network.

Thoughts?

Many thanks!
Luke
User Avatar
Member
443 posts
Joined: Sept. 2012
Offline
Check out attached file. I took highres grid near to camera. You can change it according to your camera.

Attachments:
ocean_tilling.hip (995.6 KB)

User Avatar
Member
240 posts
Joined: April 2014
Offline
Interesting; this is a different approach to what I was originally thinking of.

What I'm looking into right now is some form of three-dimensional masking in VOPs; perhaps I can randomly assign a point attribute between 0-1 based on a noise function, and use that attribute as the mask.

Gotta love it when I answer my own question as I write a sentence requesting said answer, haha. Now I just have to put the nuts and bolts together, but it doesn't sound too difficult.
User Avatar
Member
14 posts
Joined: Jan. 2009
Offline
Honestly it's pretty disappointing SideFX hasn't updated this tool at all to include a second input for noise offsets. The way it's designed right now it feels like a half baked idea.

Having to customize a tool that is missing basic functions is a waste of time for all of us. Collectively we've probably spent months solving this and coming up with better waves ourselves.
  • Quick Links