Apple Engine

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

iPhone と Reality Composer で始める簡単 AR その19 - 物理アニメーション 重力編

今回は物理アニメーションでのシーン全体での処理について。

Reality Composer や RealityKit でも SceneKit 同様に何もしなくてもシーン全体で物理アニメーションの処理がされている。

SceneKit ではカテゴリマスクなどの設定が必要だったが、Reality Composer のシーンでは重力加速度と地平の物理判定の設定しかないため、簡単に物理アニメーションの設定を行うことができる。

また、以前も書いたがオブジェクトでは物理アニメーション用の種類と判定用の素材と形しかなく覚えることが少ない。

 

試してみる

アンカーを選択

新規作成から水平方向のアンカーを選択し、立方体のオブジェクト選択。

f:id:x67x6fx74x6f:20200314020435p:plain  

画面右上の歯車のマークからプロパティを開き Y 軸を 20cm ぐらいに移動。

f:id:x67x6fx74x6f:20200314020508p:plain

 

物理設定から「含める」のスイッチをオンにして、モーションタイプを「ダイナミック」に変更。

f:id:x67x6fx74x6f:20200314020656p:plain

 

再生ボタンを押すとシーンの Y 軸 0 が物理判定となっているので、立方体が床にぶつかるような物理アニメーションがされる。

f:id:x67x6fx74x6f:20200314021542g:plain

 

オブジェクトのない空間をタップやクリックしプロパティを開き、下の「シーンの物理」の「衝突する」のチェックを外しシーンを再生すると、立方体は床にぶつからずそのまま落下し続ける。

f:id:x67x6fx74x6f:20200314021613p:plain

f:id:x67x6fx74x6f:20200314021628g:plain

 

立方体をコピーしサイズ調整で 200 %ぐらいに変更し少し下に移動。

コピーした立方体の物理設定から「含める」のスイッチをオンにして、モーションタイプを「固定」にすると空中に固定された物体となるので、そこで物理アニメーションが行われ上から落ちてきた立方体は止まることとなる。

f:id:x67x6fx74x6f:20200314022319g:plain

 

Reality Composer では Y 軸 0 が床の平面となり、床を元にシャドウマップまたはレイトレースの影が落ちる。
そのため「シーンの物理」の「衝突する」のチェックを外すことはあまりお薦めしない。

 

物理アニメーションが適応されたオブジェクトの素材

パラメーター的なものが存在しないため GIF で見てみる。
シーンの物理に関してはデフォルトのコンクリート。

弾み方と地面に接してからの動きが異なると思われる。

f:id:x67x6fx74x6f:20200314025728g:plain

 

設定できるものは以下のもの

  • コンクリート
  • プラスチック
  • 木材
  • ゴム

 

注意点

これまで紹介したビヘイビアのアニメーション強調と物理アニメーションは排他的存在となっている。
回転など設定したアニメーションが静止した場合に物理アニメーション開始されるので注意。

また、待機は影響を受けず、表示、非表示などは物理アニメーション時も実行されるので注意。

 

まとめ

シーン全体での物理アニメーションでは重力しかないため設定はかなり簡単だと思われる。

次回は物理アニメーションで使用できるアクション「力を加える」について