<!--
{
  "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/SCNPhysicsShape/init(geometry:options:)",
  "metadataVersion" : "0.1.0",
  "role" : "Initializer",
  "symbol" : {
    "kind" : "Initializer",
    "modules" : [
      "SceneKit"
    ],
    "preciseIdentifier" : "c:objc(cs)SCNPhysicsShape(cm)shapeWithGeometry:options:"
  },
  "title" : "init(geometry:options:)"
}
-->

# init(geometry:options:)

Creates a physics shape based on a geometry object.

```
convenience init(geometry: SCNGeometry, options: [SCNPhysicsShape.Option : Any]? = nil)
```

## Parameters

`geometry`

A geometry object.

`options`

A dictionary of options affecting the level of detail of the physics shape, or `nil` to use default options. For applicable keys and their possible values, see `Shape Creation Options Keys`.

## Return Value

A new physics shape object.

## Discussion

If you create a physics shape using one of the basic geometry classes ([`SCNBox`](/documentation/SceneKit/SCNBox), [`SCNSphere`](/documentation/SceneKit/SCNSphere), [`SCNPyramid`](/documentation/SceneKit/SCNPyramid), [`SCNCone`](/documentation/SceneKit/SCNCone), [`SCNCylinder`](/documentation/SceneKit/SCNCylinder), or [`SCNCapsule`](/documentation/SceneKit/SCNCapsule)), SceneKit uses an idealized form of that geometry for the physics shape instead of using the geometry’s vertex data to simulate collisions. For example, if you create a physics shape from an [`SCNSphere`](/documentation/SceneKit/SCNSphere) object, SceneKit simulates collisions for any object that passes within the sphere’s radius.

Because the idealized forms of simple geometries are computationally much simpler than the vertex data needed for displaying them, using basic geometries for physics shapes (or compound shapes created from basic geometries with the [`init(shapes:transforms:)`](/documentation/SceneKit/SCNPhysicsShape/init(shapes:transforms:)) method) often provides the best balance between simulation accuracy and performance.

To use the newly created physics shape, create a physics body with the the [`init(type:shape:)`](/documentation/SceneKit/SCNPhysicsBody/init(type:shape:)) method, or assign the shape to the [`physicsShape`](/documentation/SceneKit/SCNPhysicsBody/physicsShape) property of an existing body.

---

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)