<!--
{
  "availability" : [
    "iOS: 17.0.0 -",
    "iPadOS: 17.0.0 -",
    "macCatalyst: 17.0.0 -",
    "macOS: 14.0.0 -",
    "tvOS: 26.0.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "ShaderGraph-Docs",
  "identifier" : "/documentation/ShaderGraph/3D-Procedural/Cellular-Noise-3D",
  "metadataVersion" : "0.1.0",
  "role" : "ShaderGraph Node",
  "symbol" : {
    "kind" : "ShaderGraph Node",
    "modules" : [
      "ShaderGraph"
    ],
    "preciseIdentifier" : "Shader_ND_cellnoise3d_float"
  },
  "title" : "Cellular Noise 3D"
}
-->

# Cellular Noise 3D

A 3D cellular noise generator.

## Parameter Types

|Input     |Type    |
        |----------|--------|
        |`Position`|Vector3f|

|Output|Type |
        |------|-----|
        |`Out` |Float|

## Parameter descriptions

- `Position`: The 3D coordinates at which the data is read in order to map the texture onto a surface. The default is to use the current 3D object-space coordinates.

## Discussion

The `Cellular Noise 3D` shader node procedurally generates noise patterns that you can use to add texture and variation to materials. Because this node generates noise in 3D, the texture doesn’t repeat in the Z direction, but rather continue as depth changes.
Below is an example of a node graph that uses the `Cellular Noise 3D` node to generate a black and white pattern procedurally:

![](images/ShaderGraph-Docs/CellNoise3dGraph.png)

Multiply the incoming position with a constant float. The float changes the frequency of the generated noise to a higher number that corresponds with the pattern repeating more often.
The output of the node runs through a `Convert` node to change the float output to a black and white color output.
Below, the resulting texture applies to a cube:

![](images/ShaderGraph-Docs/CellNoise3dMaterial.png)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)