---
title: "rotation3DEffect(_:axis:anchor:)"
framework: swiftui
role: symbol
role_heading: Instance Method
path: "swiftui/visualeffect/rotation3deffect(_:axis:anchor:)"
---

# rotation3DEffect(_:axis:anchor:)

Rotates content by an angle about an axis that you specify as a tuple of elements.

## Declaration

```swift
func rotation3DEffect(_ angle: Angle, axis: (x: CGFloat, y: CGFloat, z: CGFloat), anchor: UnitPoint3D = .center) -> some VisualEffect

```

## Parameters

- `angle`: The angle by which to rotate the content.
- `axis`: The axis of rotation, specified as a tuple with named elements for each of the three spatial dimensions.
- `anchor`: The unit point within the content about which to perform the rotation. The default value is doc://com.apple.SwiftUI/documentation/SwiftUI/UnitPoint3D/center.

## Return Value

Return Value A rotation effect.

## Discussion

Discussion note: During an animation, the angle and each element of the axis is interpolated separately, which may cause undesirable results. To achieve more natural animations, consider using rotation3DEffect(_:anchor:) This effect causes the content to appear rotated, but doesn’t change the content’s frame. The following code applies a rotation of 45° about the y-axis, using the default anchor point at the center of the content: Model3D(named: "robot")     .visualEffect { content, geometryProxy in         content             .rotation3DEffect(.degrees(45), axis: (x: 0, y: 1, z: 0))     } note: The following example is not equivalent to the previous. This example will use spherical linear interpolation during an animation. Model3D(named: "robot")     .rotation3DEffect(Rotation3D(.init(degrees: 45), axis: .y)

## See Also

### Rotating

- [rotationEffect(_:anchor:)](swiftui/visualeffect/rotationeffect(_:anchor:).md)
- [rotation3DEffect(_:axis:anchor:anchorZ:perspective:)](swiftui/visualeffect/rotation3deffect(_:axis:anchor:anchorz:perspective:).md)
- [perspectiveRotationEffect(_:axis:anchor:perspective:)](swiftui/visualeffect/perspectiverotationeffect(_:axis:anchor:perspective:).md)
- [rotation3DEffect(_:anchor:)](swiftui/visualeffect/rotation3deffect(_:anchor:).md)
