---
title: SCNPhysicsVehicleWheel
framework: scenekit
role: symbol
role_heading: Class
path: scenekit/scnphysicsvehiclewheel
---

# SCNPhysicsVehicleWheel

The appearance and physical characteristics of an individual wheel associated with an physics vehicle behavior.

## Declaration

```swift
class SCNPhysicsVehicleWheel
```

## Overview

Overview To use wheels in a vehicle simulation, include them when creating an SCNPhysicsVehicle object with the init(chassisBody:wheels:) initializer, then add the vehicle object to your scene’s physics world using the physics world’s addBehavior(_:) method. Creating a Wheel You create a wheel with an SCNNode object whose contents provide the wheel’s visual representation—a geometry that rotates when the simulated vehicle rolls along a surface. The node representing a wheel must be a child of the node containing the physics body that serves as the vehicle’s chassis, and each wheel in a vehicle must reference a unique node. Typically, you load a scene file that contains a node hierarchy representing the vehicle and all of its wheels. Next, you designate which nodes serve as the body and wheels. Because the SCNPhysicsVehicle behavior that a wheel is attached to manages its participation in the physics simulation, you don’t need to attach a physics body to the SCNNode object representing a wheel. Changing a Wheel’s Physical Properties The properties of a wheel define the geometry of its connection to the vehicle and simulate its size, traction, and suspension. You can change these properties after the wheel and the vehicle containing it have been added to the physics world. In this way, you can simulate effects such as variable suspension and flat tires. note: Vehicles and their wheels have several properties measured in real-world units (meters, centimeters, and newtons) with default values that produce realistic behavior for vehicles of size similar to an average automobile. If you design your scene on a different scale, proportionally change the values of these properties to fit the desired behavior of your app or game.

## Topics

### Creating a Wheel

- [init(node:)](scenekit/scnphysicsvehiclewheel/init(node:).md)

### Managing a Wheel’s Connection to a Vehicle

- [connectionPosition](scenekit/scnphysicsvehiclewheel/connectionposition.md)
- [axle](scenekit/scnphysicsvehiclewheel/axle.md)
- [steeringAxis](scenekit/scnphysicsvehiclewheel/steeringaxis.md)

### Simulating Wheel Size

- [radius](scenekit/scnphysicsvehiclewheel/radius.md)

### Simulating Traction

- [frictionSlip](scenekit/scnphysicsvehiclewheel/frictionslip.md)

### Simulating Suspension

- [suspensionStiffness](scenekit/scnphysicsvehiclewheel/suspensionstiffness.md)
- [suspensionCompression](scenekit/scnphysicsvehiclewheel/suspensioncompression.md)
- [suspensionDamping](scenekit/scnphysicsvehiclewheel/suspensiondamping.md)
- [maximumSuspensionTravel](scenekit/scnphysicsvehiclewheel/maximumsuspensiontravel.md)
- [maximumSuspensionForce](scenekit/scnphysicsvehiclewheel/maximumsuspensionforce.md)
- [suspensionRestLength](scenekit/scnphysicsvehiclewheel/suspensionrestlength.md)

### Inspecting the Wheel Node

- [node](scenekit/scnphysicsvehiclewheel/node.md)

### Initializers

- [init(coder:)](scenekit/scnphysicsvehiclewheel/init(coder:).md)

## Relationships

### Inherits From

- [NSObject](objectivec/nsobject-swift.class.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSCoding](foundation/nscoding.md)
- [NSCopying](foundation/nscopying.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [NSSecureCoding](foundation/nssecurecoding.md)

## See Also

### Vehicle Simulation

- [SCNPhysicsVehicle](scenekit/scnphysicsvehicle.md)
