今回は、Unity上でモデリング可能な「ProBuilder」を使ってオブジェクトをバラバラにする方法を紹介したいと思います。
【Unity】ProBuilderでオブジェクトをバラバラにする
現在私が開発を進めているゲームにてオブジェクトをバラバラにする必要があるので、備忘録として記事にしておきたいと思います。
アセットの準備
まずは、バラバラにしたいオブジェクトを準備する必要があるので何かしらアセットを用意します。
私は、ローポリ系アセットでお馴染みの「POLYGON Prototype – Low Poly 3D Art by Synty」を使用することにします。
インポート出来たら、適当にPlane等で床を作ってそこにバラバラにしたいオブジェクトを配置します。
私は、バレルを準備しています。木箱とかバレル等をバラバラにしたいと思っている方が多いんじゃないですかね。
ProBuilderをインストール
続いて、ProBuilderをインストールします。
「Window」→「Package Manager」をクリックします。
今度はアセットのところを「Unity Registry」に変更して「ProBuilder」を選択してインストールします。
続いて、「Edit」→「Preferences」からProBuilderを選択して「Experiental Features Enabled」にチェックを入れます。
今回使用したい機能がまだ正式版ではないようなので、体験版を使うという事でこちらにチェックが必要になります。
オブジェクトをバラバラにする
では、ここから樽をバラバラにしていきましょう。
まずは、Barrelpart等と空のオブジェクトを作成します。Barrelpartのポジションを全て0にします。
その子オブジェクトに樽を入れて樽のポジションを全て0にします。
編集しやすい位置にBallerpartオブジェクトを移動して、Ballerpartオブジェクトの中にCubeを1つ作成します。今回は樽を8つのオブジェクトに分解します。
上の画像のようにCubeを適切なサイズに調整して樽にめり込ませます。
続いて、「Tools」→「ProBuilder」→「ProBuilder Window」を開きます。
どちらかのオブジェクトを選択して「ProBuilderize」から右下の「ProBuilderize」ボタンをクリックします。もう片方のオブジェクトも同様の手順を行います。
次に、「Tools」→「ProBuilder」→「Experimental」→「Boolean (CSG) Tool」をクリックします。
左のウィンドウに樽を、右にCubeをドラッグ&ドロップして「Apply」をクリックします。
すると、「New Game Object」が出来ます。こちらを適当な位置に移動させると、樽がCubeの重なっている部分で分解されていることが分かります。
後は、同様の手順を繰り返して残りの7つの分解されたパーツを作成すればOKです。
分解されたオブジェクトは全てBallerpartの子オブジェクトにします。
分解された全てのオブジェクトを選択して「Rigidbody」と「Mesh Collider」コンポーネントをアタッチしてMesh ColliderのConvexにチェックを入れます。
ある程度の高さまで持ち上げてゲームを実行するとこんな感じになります。