DOTS ベースのプロジェクト向け Unity Physics/Havok Physics

Unity の C# Data-Oriented Technology Stack を利用して、リッチでインタラクティブ、かつダイナミックな世界を創造してください。

2 つの物理演算システム、1 つのデータプロトコル

この物理演算ソリューションは、Unity Physics と Havok Physics の 2 つで構成されています。どちらも DOTS フレームワークに基づいているので、同じデータプロトコルが使われています。

そのため、コンテンツやゲームコードを再構築することなく、2 つの物理演算システム間でプロジェクトをシームレスに移行できます。

Unity Physics と Havok Physics のいずれか、または両方を一緒に使っていても、データプロトコルが統一されているため、一度作成すれば、どの DOTS 対応システムを使ってもシミュレーションできます。

舞台裏:Unity と Havok のパートナーシップ

Unity は Havok と連携して、DOTS テクノロジーをベースに構築された新たな物理演算エンジンを開発しました。

Shawn McClelland(Unity の製品マネージャー)と Joel Van Eenwyk(Havok のフィールドアプリケーションエンジニア)が、今日のネットワーキングのニーズに対応しながら並外れたパフォーマンスを実現する物理演算シミュレーションを作成できるようにするシステムを、両社がどのように連携して DOTS フレームワークの上に構築したかについて説明しています。

Unity Physics と Havok Physics

Unity Physics と Havok Physics は Data-Oriented Technology Stack(DOTS)フレームワークの上に構築されています。2 つのソリューション間でプロジェクトを移行でき、両方のソリューションで同時に実行することもできます。2 つのソリューションにはデータ互換性があるため、Unity の強力なツールやワークフローを使うことができます。

Unity Physics

高速、軽量、ステートレス、カスタマイズ可能。それが新しい Unity Physics ソリューションのモットーです。

Unity C# DOTS フレームワークの上に構築されていて、ネットワーク対応、完全にカスタマイズ可能、そしてそのまま使えるパフォーマンスが提供されます。モバイルでの次のヒットや新しいネットワーク化したマルチプレイヤーコンソール体験を構築している場合、Unity Physics は Burst コンパイラーと Job System を活用して広範なハードウェアにわたってスケーリングします。

Unity Physics は現時点ではプレビューリリースであり、パッケージマネージャーから入手でき、Unity 2019.1 以降のバージョンに対応しています。

Havok Physics

AAA ゲーム向けの物理演算における代表的なソリューションが Unity に統合されるようになりました。Havok のミドルウェア製品を熟知しているベテラン開発者にも、業界で経験を積み始めたインディー開発者にも、Havok Physics では制作ニーズに合わせて堅牢で安定した、ステートフルシミュレーションフレームワークが提供されます。

このソリューションは Unity Physics と同じ C# DOTS フレームワークを使って統合されているので、同じデータレイアウト、ツール、およびワークフローを活用できます。C++ で記述されたクローズドソースの独自開発 Havok Physics エンジンが基盤になっていて、最も複雑な物理演算シナリオにも対処できます。

Havok Physics パッケージは今夏に公開される予定です。

よくある質問

「決定論的」とはどういう意味ですか?

「決定論的」とは、物理的シミュレーションに同じ入力セットが与えられたときに同じ成果が得られることです。Unity Physics と Havok Physics のどちらでも決定論的な結果が提供されます。ただし、CPU アーキテクチャ(x86、ARM など)の違いによって数学的演算でわずかな相違が生じるため、異なるハードウェアではシミュレーションの決定論的な結果が異なる可能性があります。

Burst ではクロスアーキテクチャでの決定論の問題が今年中に解決される予定であるため、Unity Physics も自動的にこの機能の恩恵を受けることになり、あらゆる装置でシミュレーション結果が同じになります。

注:単一アーキテクチャでの決定論については、Unity Physics では近日公開予定の Burst の更新が必要です。

「ステートレス物理演算」とはどういう意味ですか?

Havok も含めてほとんどの物理演算エンジンでは、インテリジェントな最適化(各種の演算を回避または一定に保つためにワールドの状態の一部をキャッシュするなど)によって、パフォーマンスと安定性が実現されています。ステートレス物理演算では、代わりに総当たりの最適化によってパフォーマンスが実現されています。そのため、また将来のバージョンの Burst で複数のアーキテクチャ間での実行が可能になるため、さまざまなネットワーク化のシナリオでステートレス物理演算の恩恵を受けることができます。その一方で、Havok の方が優れたパフォーマンスと安定性を実現できるシナリオもあります。

ステートレス物理演算は、ネットワーク化したゲームにどのように良い影響を与えるのですか?

将来のバージョンの Burst では、ステートレス物理演算を複数の CPU アーキテクチャ間で決定論的に実行できるため、ネットワーキングのさまざまなセットアップをすぐに簡単に使うことができます。そのような例として、クライアント側予測(FPS など)、ロックステップ式クライアントシミュレーション(RTS など)、GGPO/ロールバック(格闘ゲームなど)があります。

ゲームで Havok Physics を使うとどのようなメリットがありますか?

Havok Physics では、インテリジェントな最適化を行うためにさまざまな状態情報がキャッシュされるので、大規模なゲームや複雑な物理演算システムを使うゲームで優れたパフォーマンスを実現できます。Havok Physics では、溶け込んでいるオブジェクトや積み重なったボディの処理で、より優れた安定性も提供されます。キャッシュを必要とする高度な摩擦モデルによって、挙動も改善されます。

既存のゲームに Havok Physics を事後適用することはできますか?可能である場合、どの程度困難ですか?

Havok Physics と Unity Physics のどちらでも、Unity エディターでは同じデータモデルが使われます。1 つの方法でコンテンツを作成し、ゲームやゲームワールドのサブセットに特有のニーズに応じて、いずれかまたは両方の物理演算バックエンドを選択します。

新しいシステムによって、現在または今後のプロジェクトで何かが中断されることや複雑になることがありますか?

いいえ。Havok Physics と Unity Physics のどちらも DOTS に基づく選択可能パッケージです。既存のコンテンツが中断されることはありませんが、新しいバックエンドのいずれかに移行した場合に、既存のコンテンツの再調整が必要になることがあります。

We use cookies to ensure that we give you the best experience on our website. Visit our cookie policy page for more information.

Got it