Contents

rotation3DEffect(_:anchor:)

Rotates content by the specified 3D rotation value.

Declaration

func rotation3DEffect(_ rotation: Rotation3D, anchor: UnitPoint3D = .center) -> some VisualEffect

Parameters

  • rotation:

    A rotation to apply to the content.

  • anchor:

    The unit point within the content about which to perform the rotation. The default value is Center.

Return Value

A rotation effect.

Discussion

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(Rotation3D(angle: .degrees(45), axis: .y))
    }

During an animation, this modifier uses spherical linear interpolation, which produces more natural animations, but doesn’t support rotations over 360 degrees. To specify angles over 360 degrees, consider using View/rotation3DEffect(_:axis:anchor:)-4enag.

See Also

Rotating