Unityが実装する物理エンジン「Unity Physics」で出来ることとは?運用のポイントを解説
3Dグラフィックが身近な技術となったことで、近年は多くの領域でこの技術が頻繁に採用されています。3D活用に当たって、国内外で広く普及しているプラットフォームがUnityですが、Unityが数多く採用されている理由の一つに、優れた物理エンジンを搭載しているという点が挙げられます。
今回はUnityが実装している物理エンジン「Unity Physics」にスポットを当て、どんなことが出来るのかについて、ご紹介します。
目次:
- Unityは何がすごいのか
- Unity Physicとは
- Unity Physicsの特徴
- Unity Physicの運用で期待できること
Unityは何がすごいのか
Unityは世界で最も利用されている3Dプラットフォームの一つで、元々はゲームエンジンとして採用されていながら、今では製造業や建築など、多様な領域で活躍しているサービスです。
なぜここまでUnityが広く普及したのかについては、以下の3つの理由が挙げられます。
無料で利用できる
Unityの最大のメリットの一つが、無料で利用できる点です。多くの3Dソフト、例えばCADソフトなどは、導入に当たってソフト購入費用がかかります。いずれの製品もそれなりの価格で販売されているので、気軽に導入することが難しいだけでなく、扱えるようになるためには訓練も必要です。
一方でUnityはプロ向けの有料プランもあるものの、基本的にはほぼ全ての機能が無料で提供されている、フリーのサービスです。元々軽量なプラットフォームであるため、運用に当たって最新のマシンを購入する必要もなく、ソフトをインストールしてすぐに使い始められるので、気軽に利用を開始できるハードルの低さも高い評価を集めている理由の一つです。
物理エンジンが標準搭載されている
2つ目のメリットは、物理エンジンが標準搭載されている点です。多くの3D作成ソフトは、3Dでオブジェクトを作ることはできても、重力や物理の概念を実装するためには別のソフトが必要になります。
現実のような物理法則をすぐに適用し、その挙動を確かめることはゲーム開発において不可欠なのはもちろん、製造業などのプロダクトデザインが必要な現場においても欠かせないプロセスです。
Unityではそのようなプロ向けの需要にも応えられるよう、独自の物理エンジンを搭載し、ワンストップで3D運用ができる体制を整備しています。
Unity上で製品開発ができる
Unityは3Dモデルを作成するだけでなく、3Dモデルを使ったプログラムやアプリといった製品の開発もそのまま行うことができます。Unityにはプログラミングエディタも標準搭載されているので、別途エディタを立ち上げずにC#やJavaといった言語を使い、そのまま3Dモデルに動きを与えたりできる点は非常に便利です。
Unity Physicsとは
そんなUnityのオールラウンドな活躍を支える機能の一つが、物理エンジンのUnity Physicsです。Unity PhysicsはUnityと相性の良い言語であるC#によって作成された物理エンジンで、重力や摩擦といった概念を導入して3Dモデルに動きを与えたり、他のオブジェクトとの接触や衝突といった事象をもたらしたりするのに用いられます。
3Dモデルに現実的な表現を与える上で、欠かせない役割を果たすのがUnity Physicsというわけです。
Unity Physicsの特徴
Unity Physicsは従来運用されていた物理エンジンの「PhysX」と入れ替わる形で採用された機能ですが、どのような点で優れたパフォーマンスを発揮するのでしょうか。
DOTSベースである
Unity Physicsの一つ目の特徴は、DOTSベースで動作する点です。DOTSというのはData-Oriented Technology Stackの略称で、従来のオブジェクト指向ではなくデータ指向で開発ができる、Unityの独自基盤です。DOTSベースで開発することで、これまでのオブジェクト指向よりも省コストで開発し、大きなデータを扱えるようになることから、Unityを使って巨大なプロジェクトを推進したい場合には見逃せない概念です。
Unity PhysicsはそんなDOTSベースでの開発に最適化されているため、将来性の高い物理エンジンであることがわかります。
高速・軽量に利用できる
DOTSのフレームワークを採用したことで、Unity Physicsは従来の物理エンジンよりも高速かつ軽量なパフォーマンスを実現しています。過度にマシンスペックを追求しなくとも、市場のニーズを満たせるような優れた製品開発をUnityで実現可能です。
2つの物理エンジンをシームレスに行き交いできる
Unity Physicsは物理エンジンのミドルウェアとして世界的に有名なHavokエンジンとの互換性を備えています。Havokが提供する「Havok Physics」もまた、DOTSフレームワークに基づいて開発されているため、シームレスにUnity上で運用可能です*1。
Unity Physicsの運用で期待できること
Unity Physicsを積極的に活用することで、他のプラットフォームを利用するよりもはるかに効率的な業務遂行が実現できます。
開発期間を短縮できる
例えば、開発期間の短縮です。Unity Physicsの運用に当たってはUnityを導入するだけで簡単に始められる上、チュートリアルも充実しているので、開発負担は小さいと言えます。
人材育成はもちろん、軽量に作られているエンジンであるため、ハイスペックなPCでなくとも高速で作業を進められます。
既存プロダクトをアップデートできる
Unity Physicsは新しい製品開発に活躍するだけでなく、既存プロダクトのアップデートを行うのにも適しています。Unityで開発したプロダクトであれば、簡単にUnity Physicsを適用したデータへと変換できるので、大掛かりなプロジェクトの最中であっても、最新の物理演算環境へと簡単に移行できます。
高度な製品開発を行える
Unity Physicsの優れた点は、軽量化によって高度な開発を容易に進められるところです。これまでマシンスペックや人材の不足から大型プロジェクトを進められなかったという組織も、Unity Physicsの導入によってキャパシティとパフォーマンスを改善し、大企業に劣らないプロジェクトの推進が可能です。
まとめ
Unityが導入している物理エンジンは、軽量でありながらも次世代の3Dモデリングに対応する優れたサービスです。3D活用を積極的に進めていきたい企業にとって、Unityほど頼りになるプラットフォームも他にないため、ますますの普及が期待されます。
建設・土木業界向け 5分でわかるCAD・BIM・CIMの ホワイトペーパー配布中!
CAD・BIM・CIMの
❶データ活用方法
❷主要ソフトウェア
❸カスタマイズ
❹プログラミング
についてまとめたホワイトペーパーを配布中

▼キャパの公式Twitter・FacebookではITに関する情報を随時更新しています!
参考:
*1 Unity「DOTS ベースのプロジェクト向け Unity Physics/Havok Physics」
https://unity.com/ja/unity/physics