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

# rotation3DEffect(_:axis:anchor:anchorZ:perspective:)

Renders content as if it’s rotated in three dimensions around the specified axis.

## Declaration

```swift
func rotation3DEffect(_ angle: Angle, axis: (x: CGFloat, y: CGFloat, z: CGFloat), anchor: UnitPoint = .center, anchorZ: CGFloat = 0, perspective: CGFloat = 1) -> 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`: A two dimensional unit point within the content about which to perform the rotation. The default value is doc://com.apple.SwiftUI/documentation/SwiftUI/UnitPoint/center.
- `anchorZ`: The location on the z-axis around which to rotate the content. The default is 0.
- `perspective`: The relative vanishing point for the rotation. The default is 1.

## Return Value

Return Value A rotation effect.

## Discussion

Discussion Use this method to create the effect of rotating a two dimensional view in three dimensions around a specified axis of rotation. The effect projects the rotated content onto the original content’s plane. Use the perspective input to control the renderer’s vanishing point. The following example creates the appearance of rotating text 45˚ about the y-axis: Text("Rotation by passing an angle in degrees")     .visualEffect { content, geometryProxy in         content             .rotation3DEffect(                 .degrees(45),                 axis: (x: 0.0, y: 1.0, z: 0.0),                 anchor: .center,                 anchorZ: 0,                 perspective: 1)         }     .border(Color.gray)

important: In visionOS, create this effect with perspectiveRotationEffect(_:axis:anchor:perspective:) instead. To truly rotate a view in three dimensions, use a 3D rotation effect without a perspective input like rotation3DEffect(_:axis:anchor:).

## See Also

### Rotating

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