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.
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.
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.
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?
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.
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