---
title: dynamic()
framework: scenekit
role: symbol
role_heading: Type Method
path: scenekit/scnphysicsbody/dynamic()
---

# dynamic()

Creates a physics body that can be affected by forces and collisions.

## Declaration

```swift
class func dynamic() -> Self
```

## Return Value

Return Value A new physics body object.

## Discussion

Discussion Use dynamic bodies for the elements of your scene that are moved by the physics simulation. For the body to participate in collision detection or respond to forces, you must attach it to the physicsBody property of an SCNNode object in a scene. SceneKit automatically creates a physics shape for the body when you attach it to a node, based on that node’s geometry property. To create a physics shape that’s based on the geometries of a node and its hierarchy of children, or to control the level of detail in a physics shape, create the physics shape manually using an SCNPhysicsShape class method. note: For nodes containing custom geometry, the physics shape SceneKit automatically creates is a rough approximation of the geometry. This approximation, or convex hull, provides a compromise between accuracy and performance in collision detection. For the best collision detection performance, create an SCNPhysicsShape instance based on a basic geometry class (SCNBox, SCNSphere, SCNPyramid, SCNCone, SCNCylinder, or SCNCapsule).

## See Also

### Related Documentation

- [type](scenekit/scnphysicsbody/type.md)
- [physicsShape](scenekit/scnphysicsbody/physicsshape.md)

### Creating Physics Bodies

- [init(type:shape:)](scenekit/scnphysicsbody/init(type:shape:).md)
- [static()](scenekit/scnphysicsbody/static().md)
- [kinematic()](scenekit/scnphysicsbody/kinematic().md)
