この記事の3行まとめ
- ユニティ・テクノロジーズ・ジャパンが、Unity用物理エンジン「Unity Physics」の解説動画を公開
- 「Unity Physics」は、Entity Component Systemを使ったステートレスな物理エンジン
- 従来の「PhysX」との比較シミュレーションも実施
ユニティ・テクノロジーズ・ジャパンが、Unity用物理エンジン「Unity Physics」の解説動画『ECS で物理挙動! Unity Physics を使ってみよう!』をYouTubeにて公開しました。
Unity Physics の入門動画を公開しました。ECS/DOTS のために開発された新しい物理エンジンです。これのおかげで ECS でも簡単に物理挙動が扱えちゃうんです。まずは基本的な使い方についてチェックしてみましょう! https://t.co/g0kO9Uwa6x pic.twitter.com/fd7NSKIPx3
— ユニティ・テクノロジーズ・ジャパン (@unity_japan) September 4, 2023
Unity Physics の入門動画を公開しました。ECS/DOTS のために開発された新しい物理エンジンです。これのおかげで ECS でも簡単に物理挙動が扱えちゃうんです。まずは基本的な使い方についてチェックしてみましょう! https://t.co/g0kO9Uwa6x pic.twitter.com/fd7NSKIPx3
— ユニティ・テクノロジーズ・ジャパン (@unity_japan) September 4, 2023
Unity Physicsは、新たにEntity Component System(以下、ECS)を使用して開発されたステートレスな物理エンジンです。Unity Physicsはステートに依存せず、各フレームが独立した処理として完結していることにより、ロールバックやリプレイが簡単かつ確実に行えます。
以前よりUnityで使用されている「PhysX」などの物理エンジンが最適化のためにステートを保持する設計になっている点において、Unity Physicsは対照的です。
PhysXなどのステートフルな物理エンジンにおいて各フレームで実行される処理。フレームをまたいで保持されるステート情報に基づいている(画像は『ECS で物理挙動! Unity Physics を使ってみよう!』より引用)
Unity Physicsにおいて各フレームで実行される処理。ロールバックを行うオンラインゲームなどと相性が良い(画像は『ECS で物理挙動! Unity Physics を使ってみよう!』より引用)
Unity Physicsの基本的な使い方はPhysXと変わりません。従来と同様にSubsceneの中でColliderやRigidbodyなどのコンポーネントを使うと、自動的にUnity Physicsのコンポーネントとしてベイクされます。
(画像は『ECS で物理挙動! Unity Physics を使ってみよう!』より引用)
また、動画では2,366個のキューブを使ったシミュレーションを基にPhysXとの比較を行っています。
平均するとPhysXと同程度のパフォーマンスを示したとのこと(画像は『ECS で物理挙動! Unity Physics を使ってみよう!』より引用)
なお、Unity PhysicsはBurst Compilerによる高速化を前提としているため、APIを使う際にはBurst Compilerが適用されるようにする必要があります。
動画では以上のほか、サンプルプロジェクトを用いてUnity Physicsの使い方やステートレスなUnity Physicsでステート変化を扱う方法などが解説されています。
詳細は『ECS で物理挙動! Unity Physics を使ってみよう!』や公式マニュアルをご確認ください。
『ECS で物理挙動! Unity Physics を使ってみよう!』Unity Physics 公式マニュアル