[RELEASED] Buto | Volumetric Fog and Volumetric Lighting

Download Instructions
[$15] License on the Asset Store

Overview
Fast, customizable volumetric fog and volumetric lighting. Set up in 60 seconds or less.

Features

  • Physically-based: Our volumetric lighting and fog accurately renders atmospheric particles and light scattering using algorithms described in leading technical papers and strategies from major AAA studios.
  • Volumetric Lighting and Shadow: Objects realistically occlude lighting from interacting with the fog, keeping your fog grounded in your scene.
  • Fast: Optimized, high-performance rendering with intelligent depth-aware upscaling (~0.7ms on an Nvidia 1080 desktop equivalent).
  • Volumetric Noise: Built-in customizable volumetric noise gives texture to the particle distribution. Choose from 5 configurable volumetric noise styles or import your own texture for the ultimate control.
  • Atmospheric Height Fog: Particle density exponentially decreases over height, resulting in realistic fog attenuation over altitude.
  • Long-Range Visual Consistency: Toggleable analytic height fog can be rendered behind local volumetric fog to guarantee visual realism over long distances.
  • Stylized Fog Options: Achieve your artistic vision with color ramps, simple color adjustments, and light and shadow intensity sliders.
  • Additional Lights: Illuminate the fog with volumetric point lighting.
  • Fog Density Masks: Add or erase volumetric fog using Fog Density Masks
  • Temporal Anti-Aliasing: Improved quality for high-density fog with optional Temporal Anti-Aliasing.
  • Integrated with the Volume Component System: Seamlessly tie Volumetric Fog into your workflow with Unity’s Volume Component system. Set Global Fog parameters and local Box and Sphere Volume parameters with seamless blending between Fog Volume settings.

Learn more on the Buto Website

Have questions, suggestions, or feedback?
I’m here to help and am open to ideas.

Join the OccaSoftware Community

We’ve added a bunch of new features since Release 3.0

These new features include improved spherical masks, new box density masks, support for spotlights, the ability to override fog color based on the angle of the directional light, improved compatibility with decals, improved performance, and improved compatibility with transparent objects.

We’ve also added FAQs on our website: https://www.occasoftware.com/assets/buto#faqs
The FAQs include a compatibility setup guide to help with getting Buto working on 2022.2+ as well.

Always here to help in case of any questions!



The characters and props in these scenes were rendered using Toon Kit 2. Learn more about Toon Kit 2 here: https://www.occasoftware.com/assets/toon-kit-2

Copying in all the updates below :slight_smile:

3.6.2
February 21, 2023

  • We’ve fixed an issue that caused incorrect frame data when using Temporal Anti-Aliasing. To make sure the fix works properly, make sure to disable the Native RenderPass option in your project. Don’t worry, we’ve got you covered and our support team is here to help if you have any questions.
  • We’ve also improved the quality of our fog to make it even more realistic and immersive. You’ll notice the difference right away!
  • Performance has also been enhanced, so you can use our volumetric fog asset without worrying about any slowdowns or issues.
  • And finally, we’ve added a handy feature that automatically enables Animated Sample Positions when using TAA. If you haven’t overridden Animated Sample Positions, Buto will take care of it for you, so you can focus on creating amazing content.

3.6.1
February 10, 2023

  • Fixed an issue where enabling Screen Space Shadows would result in inaccurate shadowing.

3.6.0
February 6, 2023

  • You can now add box density masks.
  • Density masks now appear as toggleable gizmos in the scene view, even when not selected.
  • The density mask blend falloff is now a density mask blend distance.
  • The density mask blend distance now represents the distance (in units) over which the mask effect will fade out.

3.5.0
January 18, 2023

  • You can now disable Buto for specific cameras in the scene. This can be useful for Overlay, UI, or Effects-related cameras. To disable Buto for a specific camera, simply add the DisableButoRendering component to that camera.
  • Fixed an issue with the new _ButoTexture that caused the Buto render pass to have incorrect alpha values.

3.4.1
January 17, 2023

  • Buto now always clears its temporary render targets before rendering.

3.4.0
January 11, 2023

  • Buto now writes to a fullscreen texture before writing to the screen. This enables custom texture sampling from the Buto Fog texture in custom shaders.
  • You can sample the Buto texture using the new Buto.hlsl include file, which has both Shadergraph-ready and Custom Shader-ready methods.
  • Two new Shaders (Transparent-ReceiveFullFog-xxx.Shadergraph) demonstrate usages in Shadergraph. Objects using the materials are present in the full scene.
  • Buto now automatically sets two scripting defines during the first compilation after the asset is imported to the project: OCCASOFTWARE and BUTO.

3.3.2
December 7, 2022

  • Included missing demo scripts

3.3.1
December 6, 2022

  • Various performance optimizations with up to ~25% faster rendering.
  • The editor now offers quality presets.

3.3.0
November 29, 2022

  • Buto now supports spotlights.
  • We’ve introduced a new directional lighting setting. With directional lighting, you can now tint the fog based on the position of your main directional light in the scene.
  • We’ve improved the editor GUI. The connection between the Color Influence and the Individual and Ramp color overrides is now more obvious.

3.2.2
September 28, 2022

Bug Fixes

  • Spherical Harmonics now correctly uses the ambient light color of the scene when setting the fog world color.
  • Setting your directional light intensity to 0 will no longer cause the scene to turn black.
  • Buto will now use the same number of steps for every ray, regardless of the depth to opaque geometry. As a result, nearby opaque objects will now have higher quality results. The performance impact will also be more consistent frame-to-frame.

Updated Demo Scene

  • The demo scene now has both a large and small environment to test. These environments should help you to understand better how the fog settings impact your scene.

3.2.1
September 11, 2022

Bug Fixes

  • Changed the Scene Depth UV mode from Default to Raw. This fixes a sampling issue that causes aliasing when using an incorrectly upscaled version of the low-resolution depth texture in the final merge pass.

3.2.0
August 29, 2022

New Features

  • You can now control Fog Density Mask blend modes for each Fog Density Mask component in the scene, giving you much greater control over how and where fog will render.
  • Buto now includes a built-in Volumetric Noise generation system within the editor. This system is seamlessly integrated with Buto’s inspector editor, so you can easily configure the look of your fog.
  • You can now configure Lit, Shadowed, and Emission fog colors which are combined additively with the pre-existing Custom Color Ramp system. This gives you greater control and easier configuration for minor fog color changes. Quality of Life Changes
  • The Volumetric Fog editor window has been simplified and grouped into more logical sections. When in Scene View, disabling the Fog Effects in the Scene View Options will also disable Buto.

3.1.2
June 27, 2022

Bug Fixes

  • Decals were incorrectly rendering twice when the Decal Render Pass Technique was set to DBuffer. Decals will now render correctly for both DBuffer and Screen Space Decal Techniques.

3.1.1
June 17, 2022

Bug Fixes

  • Incorrect UV coordinates were being passed to the Volumetric Fog shader, which resulted in incorrectly sampled fog. The correct UV coordinates will now be passed to avoid this issue.

3.1.0
June 13, 2022

Feature Update

  • Volumetric Fog density will linearly go to 0 as a ray approaches the Max Volumetric Distance when Analytic Fog is disabled.Bug Fixes
  • Fixed a visual bug occuring around object borders that resulted from jittering the depth UVs.
  • Fixed a code error causing the Buto Lights to be ignored during the light integration step.Demo
  • Changed the color of scene objects to red so that it is easier to see them among the fog, which is typically a mid-grey color.

great asset !!

1 Like

Thanks! Always here to help :slight_smile:
Let me know if you have any feature requests.

When I try using BUTO light in the fog, it kinda slowly tracks my light’s movement. I mean slowly by it’s like not tracking it realtime but a second behind. What can be the problem here?

A flashlight with butolight on it.

Ive used buto for a bit now, love the looks but im running into a problem with particle systems.

It seems buto wants to ignore transparent particle systens and not write them to the camera depth texture. This creates a “semi transparent” effect on particles even if their alpha is 1.

Is there any solution to this @OccaSoftware

Top Buto disabled, Bottom Buto Enabled, setting buto to render BEFORE TRANSPARENTS seems to fix the issue, however that has knock-on effects of other shaders now not working, for example transparent distortion shaders that need to grab the scene color does not pick up buto from the scene


You need to implement custom shading in the particle shader, see Using Buto with Custom Shaders – OccaSoftware for implementation details. Don’t set the pass to render BEFORE TRANSPARENTS, since this would cause the volumetric fog to blit to the screen at the maximum depth, ignoring the impact of the transparent particles on the volumetric fog.

Transparency is a challenging edge case for ray-based volumetrics, which is why Buto uses a volumetric buffer. The custom implementation uses the world position of the vertex/fragment, transforms it into the volumetric buffer space, then samples the volumetric fog’s impact on the fragment’s color and alpha.

Let me know if this resolves your scenario! You can also get additional support from the community or our engineering team in our discord: OccaSoftware