<!--
{
  "availability" : [
    "iOS: 10.0.0 -",
    "iPadOS: 10.0.0 -",
    "macCatalyst: 13.1.0 -",
    "macOS: 10.12.0 -",
    "tvOS: 10.0.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "GameplayKit",
  "identifier" : "/documentation/GameplayKit/GKCylindersNoiseSource",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "GameplayKit"
    ],
    "preciseIdentifier" : "c:objc(cs)GKCylindersNoiseSource"
  },
  "title" : "GKCylindersNoiseSource"
}
-->

# GKCylindersNoiseSource

A procedural noise generator whose output is a 3D field of concentric cylindrical shells.

```
class GKCylindersNoiseSource
```

## Overview

All noise sources generate infinite 3D fields of noise values, but this fact is especially relevant to cylinder noise: by rotating a noise object in 3D, you can sample the noise in ways that “slice” across or along the cylinders. Use this technique (combined with other noise sources and noise processing operations) to create effects such as wood-grain textures.

![](images/com.apple.gameplaykit/media-2556326@2x.png)

Like all [`GKNoiseSource`](/documentation/GameplayKit/GKNoiseSource) subclasses, a cylinder noise source represents a noise generation algorithm and its parameters. To make use of a noise source, first create [`GKNoise`](/documentation/GameplayKit/GKNoise) object from it (and optionally apply operations to that noise object or combine it with other noise objects). Then create a [`GKNoiseMap`](/documentation/GameplayKit/GKNoiseMap) object from your noise object, generating a concrete field of values that you can sample from directly or visualize using the <doc://com.apple.documentation/documentation/SpriteKit/SKTexture> or `SKTileMap` class.

## Topics

### Creating a Noise Source

[`init(frequency:)`](/documentation/GameplayKit/GKCylindersNoiseSource/init(frequency:))

Initializes a cylinder noise source with the specified frequency.

[`cylindersNoise(withFrequency:)`](/documentation/GameplayKit/GKCylindersNoiseSource/cylindersNoise(withFrequency:))

Creates a cylinder noise source with the specified frequency.

### Managing Noise Generation Parameters

[`frequency`](/documentation/GameplayKit/GKCylindersNoiseSource/frequency)

A value that determines the size and spacing of concentric cylinders.



---

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)