Custom Noise Texture Generator

CatRabbit

(0)
$4
Publisher CatRabbit
File size 1.15MB
Number of files 14
Latest version 1
Latest release date 2023-10-02 01:18:14
First release date 2023-10-02 01:18:14
Supported Unity versions 2018.4.2 or higher

Custom Noise Texture Generator is an editor tool, to create noise texture based on your custom noise code for better optimization.


Noise functions in shaders are often bottleneck at runtime as they might contains a lot calculations which can be optimized by using noise textures. So the aim of this tool is to help you replace noise functions with noise texture when you optimize your shader for better performance in your game. It requires you to have at least some basic knowledge of noise algorithms, Unity shader and C# programming.


A very common workflow for TA/programmer is that you might need to create post process or other kinds of shaders using noises, like clouds, waves, noisy clipping, flames, shady movements. Some of the effect requires custom noise functions like different variants of Perlin/Value noise which means you probably can't just find any standard Perlin/Value noise texture to replace then. And these hard codes noise functions cost quite some GPU time at runtime, so for pushing the limits when doing optimization, we might need to replace those noise functions with low resolution noise textures which take barely no cost for performance. So I made this small editor tool to help with this workflow to create noise textures based on any noise functions you need. This is a little helper tool I use a lot so it probably could helps you if you have similar needs.


The editor tool also provide standard Perlin/Value noise to choose for faster usage.


The example of the package contains a fullscreen flame shader using both nosie functions and a noise texture.

When using noise functions it takes like 0.36ms GPU time on my PC, and when switching to using noise texture, the GPU time goes down to about 0.17~0.18 ms, which is quite some improvement of performance.


As an editor tool it can be used in all Builtin/URP/HDRP pipelines.


Requirements:

Requires at least Unity 2020.x.

You need to know C# programming in Unity, and have basic knowledge of noise algorithms, like the idea of lattices, Perlin/Value noises, fractals and etc.

This tool works for all pipelines. The example uses UI shader for demonstration, so it works for all pipelines as well.



Top Publisher Assets