Noise Texture Generator: Procedural PBR Baker
Veridian Systems
$8.25
$16.50
50%OFF
(no ratings)
Jump AssetStore
A procedural texture baker powered by the Burst Compiler. Blend Voronoi, FBM, and SDF math to algorithmically generate and bake seamlessly tiling PBR materials without leaving the Unity Editor.OverviewThe Noise Texture Generator is a multithreaded procedural noise engine and PBR material baker built for the Unity Editor and Runtime. Rather than relying on imported images or scanned data, this tool evaluates pure mathematical functions to synthesize high-quality physical material sets from scratch. It outputs a complete suite of textures—including Albedo, Normal, Height, Ambient Occlusion, Curvature, and Roughness maps—directly within Unity.This tool is highly practical for generating seamlessly tileable displacement heightmaps for massive terrains, synthesizing organic surfaces like wood grain or eroded rock, creating intricate cellular structures like cobblestone, and baking custom-packed RGBA masks to drive specialized environment shaders.Total Commercial OwnershipBecause this engine synthesizes pixels strictly from mathematical algorithms, the resulting outputs are entirely your own. You retain 100% commercial ownership over any textures, heightmaps, or materials you create. You are completely free to use them in your commercial games, or to pack and resell the exported textures as standalone assets on the Unity Asset Store.Pristine Quality via Analytical DerivativesA major factor in the visual fidelity of these generated maps is the engine's use of analytical derivatives. Traditional procedural generators often output a flat heightmap and apply a post-process blur filter to approximate surface depth. Instead, this engine calculates the exact, mathematical slope of the noise function in both the X and Y directions at the exact same time it calculates the elevation.Because the resulting Normal and Curvature maps are derived directly from these numerical slopes, the textures are exceptionally crisp, retaining highly accurate micro-details without digital artifacting or stair-stepping.Flawless Tiling via 4D MathematicsFor environments requiring repeating surfaces, seamless tiling is a core architectural feature of this tool. With a single toggle, the engine handles the complex mathematics required to shift its evaluations into 4-dimensional noise space. This approach mathematically locks the coordinate scales and forces the procedural space to wrap flawlessly. As a result, almost all of the included noise algorithms can tile infinitely across large terrains and architecture without any visible seams, mirroring, or stretching.Responsive Editor Workflow & Real-Time PreviewCreating procedural materials naturally involves trial and error, so the tool is built to keep iteration times as short as possible. The engine is fully multithreaded and utilizes Unity's Burst compiler to evaluate heavy mathematical operations across background CPU threads.The custom baker window features a responsive, split-screen viewport that allows you to interactively preview the fully lit 3D material alongside isolated, real-time 2D maps (Albedo, Normal, Height, Ambient Occlusion, and Curvature) before committing to a high-resolution disk bake. Your procedural setups are saved safely as non-destructive ScriptableObject (.asset) profiles, making it incredibly easy to store, duplicate, version-control, and swap your material configurations.35 Demo ProfilesTranslating abstract mathematical parameters into recognizable materials takes practice. To provide an immediate starting point, the package includes a script that automatically generates 35 pre-configured demo profiles directly into your project. These templates cover a wide range of surfaces, from natural elements like Desert Badlands and Sweeping Sand Dunes to industrial setups like Brushed Steel and Sci-Fi Cyber Circuitry.While the promotional images showcase some of these presets, they represent just the tip of a vast iceberg of possibilities. By dissecting these profiles, you can explore the engine's more complex algorithms—such as Phasor noise for anisotropic woven ripples, the Voronoi cellular suite, and Fractal Brownian Motion (FBM) types like Swiss Erosion—and mutate them into your own infinite variations.Runtime Execution & Custom Job APIsThe underlying procedural engine is completely decoupled from the Editor UI, offering extensive flexibility for programmers who want to integrate noise math directly into their own systems:Runtime Texture Generation: The included RuntimeNoiseTextureGenerator component evaluates noise profiles asynchronously to dynamically generate Texture2D materials in-game. This is highly useful for randomizing environmental textures during loading screens.Main Thread API: The engine caches Burst function pointers, enabling you to synchronously query the noise math at specific X/Z coordinates directly on the main thread with near-zero overhead. This is ideal for procedurally scattering objects (like trees or rocks) strictly on the peaks or valleys of a noise field without needing to generate a full texture.Burst Job System API: Programmers can bypass the texturing pipeline entirely. The NoiseJobAPI exposes the raw, Burst-compiled math, allowing you to schedule highly optimized 2D noise jobs using NativeArray buffers. This opens the door to tasks completely unrelated to textures, such as driving custom voxel engines, generating chunked terrain data, or feeding compute shader pipelines.Requirements & DependenciesMinimum Unity Version: Unity 6 or newer.Render Pipelines: Fully compatible with the Universal Render Pipeline (URP), High Definition Render Pipeline (HDRP), and the Built-in Render Pipeline.Native Packages: The engine is built natively on Unity’s modern core and requires the Unity.Burst, Unity.Collections, and Unity.Mathematics packages. Because these are included by default in standard URP and HDRP projects, the tool typically requires no external setup or third-party DLLs.Procedural Engine ArchitectureBurst-Compiled Execution: The engine fully utilizes the C# Job System to run multidimensional array allocations, spatial math, and derivative calculations concurrently across CPU threads.Analytical Partial Derivatives: Bypasses image-based blurring (Sobel filters). The engine calculates exact X/Y slopes simultaneously with the base functions, outputting mathematically continuous normal and curvature vectors directly from the procedural equations.Base Noise Algorithms: Simplex, Perlin, Value, White Noise, and Phasor (Anisotropic ripples).Voronoi Cellular Suite: F1, F2, F2-F1, F1 Div F2, Edge, and Cell ID.Distance Metrics: Euclidean (includes adjustable Voronoi cell smoothness), Manhattan, and Chebyshev.Fractal Brownian Motion (FBM) Suite: Recursive layering modes include Standard, Billow, Ridged, PingPong, Swiss Erosion (thermal weathering simulation), Flow (derivative-warped domain distortion), and Hybrid (elevation-biased detail multiplication).Coordinate & Value Modifiers: Domain Warping (Standard, Directional, Radial transforms), Topographical Terracing (stepped contour lines), Contrast (Gain), Midpoint (Bias), and Shape Masking (Circle, Rectangle, Oval). Note: Shape Masking mathematically breaks wrapping and is automatically disabled when Seamless Tiling is active.Dual-Layer SDF CompositingThe generator utilizes a linear two-layer architecture (Layer A and Layer B) that can be combined using two distinct mathematical approaches:Standard Blending: Overwrite, Add, Subtract, Multiply, Divide, Min, Max, Overlay, Smooth Min, and Smooth Max.SDF Boolean Compositing: Combines layers using Signed Distance Field mathematics (Smooth Union, Smooth Subtraction, Smooth Intersection) to guarantee perfectly continuous analytical derivatives where two distinct procedural shapes overlap.Colorization, Packing & Output PipelineSupported PBR Maps: Albedo, Normal, Height, Ambient Occlusion, Curvature, and Roughness.Mathematical Albedo Modes: Color gradients are applied via programmatic evaluation rather than flat mapping. Modes include Elevation, Topological (blending flat, slope, and cavity gradients based on numerical derivatives), Layer Blend, Voronoi Palette (with adjustable grout thickness), and Banded (for topological contour lines or wood grain).32-Bit Displacement Export: Automatically intercepts the Unity TextureImporter to force Heightmaps to export as 32-bit floating-point .exr files, eliminating the stair-stepping quantization artifacts inherent in standard 8-bit image exports.Custom PBR Channel Packing: Automatically packs Metallic, AO, and Roughness/Smoothness to perfectly match URP or HDRP Lit shader layouts. A custom routing mode allows technical artists to map specific data buffers (Height, Curvature, Smoothness, AO, etc.) into any exact RGBA channel to optimize shader memory.Automated Material Construction: Dynamically queries the active Render Pipeline, builds a new material using the correct native Lit shader, assigns the generated textures, enables necessary shader keywords, and saves the asset set.VCS Integration: Automatically hooks into AssetDatabase.MakeEditable() to gracefully handle checkouts for locked files on Perforce or Plastic SCM during the baking process.Runtime APIs & Code IntegrationWhile the Editor window handles static baking, the core generation math is completely decoupled from the UI for custom integration:NoiseMainThreadAPI: Utilizes BurstCompiler.CompileFunctionPointer to cache raw memory pointers to the procedural mathematics. This allows programmers to synchronously evaluate complex FBM algorithms at specific X/Z coordinates directly on the main thread with near-zero overhead (highly optimized for querying height data to drive procedural object scattering).Component API (RuntimeNoiseTextureGenerator): A MonoBehaviour included to execute asynchronous Texture2D material generation dynamically via UnityEvents.Job System API (NoiseJobAPI): Advanced programmers can completely bypass the UI and component systems. This API exposes the raw IJobParallelFor structs, allowing you to schedule NativeArray generations and chain your own JobHandles directly into custom voxel engines, chunked terrain generators, or compute shader data pipelines.System Realities & Memory ManagementMemory Footprint: Generating multi-channel 4K PBR texture sets dynamically at runtime allocates and writes directly to native RAM and VRAM. While the async runtime API is highly effective for generating textures during loading screens, it is not intended for continuous, per-frame generation.Explicit Disposal: The runtime API returns an IDisposable texture set (PBRTextureSet). Developers dynamically generating textures at runtime must explicitly call .Dispose() on these sets when they are no longer needed to safely release memory and prevent native leaks.Pure Math Evaluation: The engine strictly evaluates mathematical spatial coordinates. It does not accept external image inputs and cannot be used to import, blur, or modify existing textures. It is a linear math system designed for rapid procedural iteration, not a node-graph editor.

