<!--
{
  "availability" : [
    "iOS: 8.0.0 - 26.0.0",
    "iPadOS: 8.0.0 - 26.0.0",
    "macCatalyst: 13.1.0 - 26.0.0",
    "macOS: 10.8.0 - 26.0.0",
    "tvOS: 9.0.0 - 26.0.0",
    "visionOS: 1.0.0 - 26.0.0",
    "watchOS: 3.0.0 - 26.0.0"
  ],
  "documentType" : "symbol",
  "framework" : "SceneKit",
  "identifier" : "/documentation/SceneKit/SCNParticleSystem/emitterShape",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Property",
  "symbol" : {
    "kind" : "Instance Property",
    "modules" : [
      "SceneKit"
    ],
    "preciseIdentifier" : "c:objc(cs)SCNParticleSystem(py)emitterShape"
  },
  "title" : "emitterShape"
}
-->

# emitterShape

The shape of the region of space where the system spawns new particles.

```
var emitterShape: SCNGeometry? { get set }
```

## Discussion

To randomize the locations where new particles spawn, assign a geometry to this property. This geometry defines the shape of the space where new particles may spawn, and the [`birthLocation`](/documentation/SceneKit/SCNParticleSystem/birthLocation) and [`birthDirection`](/documentation/SceneKit/SCNParticleSystem/birthDirection) properties define locations within and directions relative to the shape. For example, assigning a sphere geometry causes particles to spawn at random locations along the surface of the sphere (or within the volume of the sphere, according to the [`birthLocation`](/documentation/SceneKit/SCNParticleSystem/birthLocation) property).

> Note:
> For best results, use an instance of one of the SceneKit basic geometry classes (``doc://com.apple.scenekit/documentation/SceneKit/SCNPlane``, ``doc://com.apple.scenekit/documentation/SceneKit/SCNBox``, ``doc://com.apple.scenekit/documentation/SceneKit/SCNSphere``, ``doc://com.apple.scenekit/documentation/SceneKit/SCNPyramid``, ``doc://com.apple.scenekit/documentation/SceneKit/SCNCone``, ``doc://com.apple.scenekit/documentation/SceneKit/SCNCylinder``, ``doc://com.apple.scenekit/documentation/SceneKit/SCNCapsule``, ``doc://com.apple.scenekit/documentation/SceneKit/SCNTube``, and ``doc://com.apple.scenekit/documentation/SceneKit/SCNTorus``). These classes provide a more efficient simulation and more even appearance to the rendered particle system.

The default value is `nil`, specifying that all new particles emit from a single point. For particle systems attached to a node, this point is the origin of the node’s coordinate system. For particle systems attached directly to a scene using the [`addParticleSystem(_:transform:)`](/documentation/SceneKit/SCNScene/addParticleSystem(_:transform:)) method, use that method’s `transform` parameter to specify the emission point.

---

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)