最近は、ある意味「自発的な動き」をテーマにしてプログラミングに取り組んでいます。前回からは、本格的な2Dアニメーションを驚くほど簡単に実現できるSpriteKitを使い始めました。今回もその続きですが、今回は動きがさらに「自発的」なものになります。なにしろある種の「場」に重力を設定し、その場の中に物体を置くだけで、重力に従って動く(落ちる)のです。その物体には「質量」もあり、表面の摩擦係数や反発係数なども設定できます。重力によって加速された物体は、他の物体に衝突すれば跳ね返り、表面の摩擦によって転がったりします。
SpriteKitを使えば、こうした動きをプログラムとしては特に何も書くことなく、物理的な性質を備えた物体を場に置くだけで観察することができます。いわゆる「物理シミュレーション」が実現できるのです。これはこれまでに取り上げたプログラムによって記述してきた機能とは、まったく異なる世界のもののように感じられるでしょう。その意味を理解すれば、ショックさえ受けるのではないでしょうか。
一度にあまり大きなショックを受けても困るので、前回のプログラムをわずかに変更して、なるべく単純なところから始めましょう。まずは「重力」を実感できるシーンを作ります。
この連載の記事
- 第100回 SceneKitの物理現象シミュレーションとアニメーションをARKitに持ち込む
- 第99回 「物理学体」と「物理学場」を設定して物理現象をシミュレーション
- 第98回 SceneKitのノードに動きを加えるプログラム
- 第97回 いろいろな形のノードをシーンの中に配置する
- 第96回 SceneKitの基礎シーンビュー、シーン、ノードを理解する
- 第95回 現実世界の床にボールや自動車のモデルを配置する
- 第94回 ARKitを使って非現実世界との融合に備える
- 第93回 ARKitが使えるiPadを識別するプログラム
- 第92回 Swift Playgrounds 2.1での問題点をまとめて解消する
- 第91回 iPadの内蔵カメラで撮影した写真を認識するプログラム
- この連載の一覧へ