記事の環境
- Unity 2019.3.0f6
- Unity Hub 2.3.2
- Havok Physics for Unity 0.2.2
- Unity Physics 0.3.2
- Hybrid Renderer 0.4.0
##諸注意
この記事はUnityの公式ガイドに沿って書いてます。
わしは公式がええんじゃ!!という方は公式ガイドを推奨します。
#Havok Physicsって??
アイルランドにあるHavok社が開発を行っている物理エンジンで、モバイルからコンシューマー、PCまで様々なタイトルで多数の採用実績があります。
現在はMicrosoftの傘下だそう。
そんな超有名物理エンジンがUnityで採用されることになったんだからやるしかねぇ!!ということでやっていきます。
#[ミッション1] 公式のGitからサンプルコードを入手せよ!
- Clone or downloadをクリック
- Download ZIPをクリック
#[ミッション2]解凍してUnity Hubに追加せよ!
- 先ほどダウンロードしたZipファイルを任意のフォルダに解凍
- Unity Hubを起動
- リストに追加をクリック
- 先ほど解凍したフォルダの中にあるUnityPhysicsSamplesというフォルダをクリックして、フォルダの選択をクリック
- 初期バージョンがない人は任意のUnityバージョンを指定(本記事ではUnity2019.3.0f1が無かったため3.0f6にアップグレードしました)
#[ミッション3]Havok Physicsをプロジェクトに追加せよ!
- Unity Hubからプロジェクトをクリック(開くまで待つべし!待つべし!)
- Window > Package Managerの順でクリックしてPackage Managerを開く
- Advanced > Show preview packagesの順でクリックしてプレビューパッケージを表示するように
- 検索欄にHavokと入力
- 出てくるHavok Physics for Unityを選択して右下のInstallをクリック(インストールできるまで待つべし!待つべし!)
#[ミッション4]まずはUnity Physicsを体感せよ!
- Assets / Tests / Pyramidsの中にあるPyramidsシーンをクリック
- HierarchyビューのPhysics Scene Basic ElementsにあるMain CameraのTransformを変更
- できたら実行してみよう!
※一番最初の実行時はちょっと重くなる可能性あるので、重かったら一旦止めてもう一回実行してみて下さい。
ふむ。。。
特になんも力を加えてないのにピラミッドが崩れてしまった。。。。
※なんか赤い部分がチラチラ見えますがエンコが上手く行かなかったようで、、、実際は赤くないですw
#[ミッション5]Havok Physicsを体感せよ!
- HierarchyビューのPhysics Scene Basic ElementsにあるPhysics Settingsをクリック
- そのオブジェクトにくっ付いてるPhysics StepコンポーネントにあるSimulation TypeをUnity PhysicsからHavok Physicsに変更
- できたら実行!!
今度は触ってない時ちゃんとピラミッドは形を保っていますね。
さすがHavok Physics!!
20年以上に渡る歴史は伊達じゃないです。
密になってるオブジェクトの山からブロックを引き抜く動作も見事に出来てます。(ジェンガとか作れそう)
※追記 2020/05/30 作ってみました。
Gitリポジトリも置いておきます。
#あとがき
いかがだったでしょうか?
個人的にはなかなか感動しましたw
こういうサンプルは他にもいっぱいあって、気になる方はAssets / LoaderSceneフォルダにあるLoaderSceneシーンファイルを実行してみて下さい。
ここから全サンプルへ飛ぶことが出来ます。
物理エンジンとしてのクオリティがどえりゃぁたけぇHavok Physicsですが将来的には有償での提供になるそうな。。?
Unity Physicsは物理エンジンとしての精度はHavok Physicsに劣りますが、ステートレス物理演算なことや100%C#で記述されたオープンソースなエンジンであること。
また無償で使用できることなどこの辺りでHavok Physicsと差別化を図っていくのではないかと思います。
#参考文献