【SwiftUI】Viewの3D回転(rotation3DEffect)

指定された回転軸を中心に、3次元でViewを回転させるrotation3DEffectの使い方を解説します。

スポンサーリンク

環境

この記事の情報は次のバージョンで動作確認しています。

【Xcode】11.4.1
【Swift】5.2
【iOS】13.4.1
【macOS】Catalina バージョン 10.15.4

基本的な使い方

引数(axis)で指定した回転軸に対してAngle構造体で指定した角度でViewを回転させます。
言葉で説明するのは難しいので、後で示す使用例で実際の動きを確認して下さい。

基本以外の引数

anchor
回転の中心をUnitPoint構造体で指定します。
デフォルトは.centerです。

anchorZ
回転の中心の奥行き位置を指定します。
デフォルトは0です。

perspective
遠近法効果の強度を指定します。
0が効果無しで、デフォルトは1です。

使用例

スライダーを使って、回転角度と回転軸を動的に変更するサンプルです。

使用例

あわせて読みたい記事

【SwiftUI】Viewの回転(rotationEffect)
指定された点を中心にViewを回転させるrotarionEffectの使い方を解説します。
【SwiftUI】Viewの拡大と縮小(scaleEffect)
Viewを拡大・縮小させるscaleEffectの使い方を解説します。このModifierは、描画された結果を拡大/縮小しているので、あまり拡大しすぎるとジャギーが目立つ場合があります。
【SwiftUI】UnitPointの使い方
UnitPointはViewの相対的な位置を定義する構造体です。用途としては、例えばrotationEffectを使ってViewを回転する時の中心点の指定などがあります。