blink_fog_3d v1.8
This location is for Registered Users Only.
Perhaps you need to login or register.
14.0, 13.2, 13.1, 13.0, 12.2, 12.1, 12.0, 11.3, 11 or later
Linux, Mac, Windows
![](http://www.nukepedia.com/components/com_remository/images/added-on.png)
![](http://www.nukepedia.com/components/com_remository/images/downloaded-num.png)
Blink Fog 3D
blink_fog_3d is a tool for rendering 4d noise through a render camera with lots of additional user options to change the look and feel of the noise. The advantage of this blinkscript versus traditional 3d noise setups is the noise is rendered entirely in blinkscript and doesn't require the user to place a box or cards of noise in the scene. The node has a built in depth ramp so you can choose what depth from the camera the noise is visible and choose how the noise falls off as it gets closer to the camera (useful for making fast moving wispies). The 4d aspect of the noise allows you to animate the seed of the noise without having a visible direction to the noise (xyz) which can be used to make the noise look like smoke or steam. A depth input can also be used to apply holdouts to the noise for use as a procedural fog generator. Note that there is an 'invert depth' checkbox to use 1/z. The samples per ray knob is the general quality slider, the more samples you provide, the less noise you get but the slower the node becomes. The node is pretty fast if you have a fast gpu and a $GUI expression can be used on the samples per ray knob to make it more responsive locally.
Thank you to Eliot Eshelman for the 4D Perlin simplex noise function (https://github.com/BogdanDenis/OpenGL/blob/master/simplexnoise.cpp), as well as Mads Hagbarth for a reference conversion.
Usage
You can add the `src/python` directory to your `NUKE_PATH` to add the gizmo to your node menu or simply open the example file to find the group node.
New in Version 1.8
- added optional exponential falloff to sphere, box, and plane ramps
New in Version 1.7
- a new 'spherical ramp' allows you to create a spherical ramp for the noise
- a new 'box ramp' allows you to create a box of noise
New in Version 1.6
- the 'y ramp' is now a 'planar ramp'
- this allows you to orient the noise along any axis
- you can translate the plane of noise
New in Version 1.5
- a new 'y ramp' knob allows you to vary the noise density along the y-axis in worldspace
New in Version 1.4
- this is a patch release v1.3.1 that fixes a bug with the deep (proxy) mode not switching to the correct kernel
- Nukepedia does not let me version up to 1.3.1 :(
New in Version 1.3
- Deep support!
- Use the 'deep_holdout' input along with the following to work with deep data
- Use the 'holdout mode' 'deep (proxy)' for fast deep that will work for most scenarios, but can have artifacts
- Use the 'holdout mode' 'deep (full)' for slower but completely accurate deep
- Use the 'output deep' checkbox to output deep data without holdouts
- Use the 'deep_holdout' input along with the following to work with deep data
- Overscan
- Use the 'overscan' knob to specify any overscan
Comments
I´ll will push this to the limit with your new Deep support !
Big thanks Owen !
A ramp in the y direction in screen-space? What would you be ramping? The depth? Or just the final value? You could just multiply by a ramp if its to ramp the value, but if you want to vary the depth it should work to pass a ramp in as the holdout input. If the input ramps from the deepest depth value you want to use, to the shallowest depth value, I think that would achieve what you're looking for. You can also supply an alpha on the holdouts if you want to ramp the transparency.
Also worth noting that if the holdouts don't seem to be working correctly there is an 'invert_depth' checkbox for when the depth is provided as 1/z.
This tool is fantastic. Thanks for providing it for the community at large!
I have the same question as Jorge.
We often try to craft fog/atmosphere so that it's thicker near the ground and fades off in the global "3D" y-direction. Sometimes this does align with screenspace..bu t other times it doesn't since the camera might be at an angle to the ground or tilted to the sky etc.
Thanks!
-Jake
Thanks for that info - that makes a lot more sense, I can look into adding some 3D bounds to the noise later this week.
Best,
Owen
The latest version now contains a second ramp that allows you to vary the noise along the y-axis. Hopefully that achieves what you're looking for. Please let me know if you have any questions!
Thanks,
Owen
-Jake
RSS feed for comments to this post