Apple Engine

Apple, iPhone, iOS, その周辺のことについて

iPhone と Reality Composer で始める簡単 AR その16 - アニメーションの基礎知識編

今回はビヘイビアのアクション/アクションシーケンスを使用したアニメーションの基礎について。

Reality Composer でのアニメーションでは以下の4つがあり、音の再生、待機、カメラを見る、通知以外のもの。

  • オブジェクトを移動、回転、拡大して動かすアニメーション
  • 表示状態のアニメーション
  • 物理アニメーション
  • USDZ で設定されているアニメーション

 

オブジェクトを動かすアニメーションは「移動/回転/拡大」のものが絶対座標と相対座標であり、オブジェクトの周囲を回るオービット回転のみを行う回転がある。
また強調というアクションが用意されており、複数の動作が1回で処理される。

表示状態のアニメーションは表示/非表示を徐々にする。

物理アニメーションは Reality Composer ではデフォルトシーン全体に下方向に重力が働いており、力を加えるものしかない。(SceneKit でいう applyForce)
トルクや物理フィールドも存在しないため、本当に重力とオブジェクトの移動方向へ力を加えるだけものだけ。

USDZ アニメーションは設定されているもの再生する。

 

3D でのアニメーションとは

アニメーションと命を吹き込むという動詞の名詞で大体は動きのついた何かを指す。

現実世界では物が動く上で幾つかルールがあり、ざっくり言うと力は加え続けられると永遠に動き、ものは一定には動かず、大体のものは摩擦や空気抵抗があるため徐々に減速し、慣性があるためすぐには止まらない。

また、ぴったりと同時に物が動くことは少ないし、ゲームなどではいきなりモノが表示されることは少ないなどわりと考えることがあったりする。

 

イージングタイプ

自然現象でものが等間隔で動くことは少ないため、動きは速く動く部分と遅く部分が存在する。
Reality Composer ではイージングとして以下の4つが用意されている。

  • なし
  • イーズイン
  • イーズアウト
  • イーズインアウト

 

イーズインは最初遅く移動し徐々に早くなり、イーズアウトは最初に早く移動し徐々に遅くなり、イーズインアウトは最初と最後が遅くその間の動きが速くなるアニメーションタイミングとなる。

わかりづらいので動きは GIF 画像を参照。

f:id:x67x6fx74x6f:20200309020807g:plain

 

絶対座標と相対座標

3DCG など 3 次元空間をもつツールやプログラムは必ず絶対座標と相対座標が存在する。
Reality Composer では「移動/回転/拡大」のみ考慮する必要があるがわりと使用するので説明を書いてみる。

絶対座標と相対座標は簡単に説明すると絶対座標は空間に対してどの位置、相対座標はオブジェクトやグループなどなにかの基準に対しての位置をあらわす。

オブジェクトが原点にいて X 軸 20cm に進むのは絶対座標、相対座標ともに X 軸 20cm 進むが、 オブジェクトが X 軸 10cm にいた場合に、X 軸 20cm へ進む場合、絶対座標は空間の座標である X 軸 20cm に移動するが、相対座標は自分の位置を基準である 10cm からプラス 20cm 進むため、移動後の位置は絶対座標でいう 30cm の位置となる。

f:id:x67x6fx74x6f:20200309022755p:plain

 

そのため、相対座標は操作でオブジェクトを一定量で動かしたい場合、絶対座標は何か基準値に戻したい場合に使ったりする。

例えば、相対座標はキャラクターを何かの操作から動かしたいとき、絶対座標はキャラクターを基準値に戻したいときなどに使う。

移動で説明をしているが、回転や拡大縮小も同様。
特に回転し続ける処理は、絶対座標で行うよりも相対座標で行った方が良いケースが多い。

 

まとめ

長くなってしまったがこんなところ。 次回は実際にビヘイビアを設定しアニメーションを行なってみる。