0

【Unityゲーム開発】Probuilder と Rigidbody の注意点

UnityでProbuilderを使って作ったモデルでハマった事、そして解決方法

 

Probuilder を使い始めた

Unityでのアプリケーション開発にとってネックとなってくるものの一つが「3Dモデリング」

Mayaやその他の高価なモデリングソフトが使えれば問題ないが

またBlenderなどのフリーのモデリングソフトもあるのだが

それにしたってモデリングソフトでオブジェクト作ってからUnityにインポートするのは手間だし

Blenderで作ったモデルをインポートすると上手くいかなかったりするし・・・

と、そこで、最新(2018)のUnityにはProbuilderという高機能モデリングソフトが入っているということで

これはUnityのScene画面内でモデリング作業ができるというもの。

詳しくはJapan公式さんの動画を参照してほしい。

 

 

早速3Dオブジェクトを作ってはみたものの・・・

で、早速Probuilderで3Dオブジェクトを作ってみてゲーム内で動かしてみると

なんか・・・挙動がおかしいところが多々あった。

 

①Rigidbody を付けても落ちない

Probuilderで作ったオブジェクトに物理挙動を与えるために

Rigidbodyコンポーネントを加えても、うんともすんとも動きません。重力はたらかず空中に停止しています。

これはInspectorパネルのStaticのチェックを外すことで解決します。

 

 

②落ちるけど壁はすり抜ける

通常、Rigidbodyオブジェクト同士が衝突すると物理挙動で跳ね返るものですが

Probuilderで作ったもの同士を衝突させるとすりぬけてしまいました

ちなみに、Probuilderで作ったオブジェクトと普通に作ったオブジェクト(HierarcyパネルからCreateしたものなど)だと普通に衝突します

これはInspectorパネルの「Mesh colider」のConvexにチェックを入れると解決します。

 

③でもやっぱりすり抜ける

上記の①②を満たしても物理挙動が上手く働かないことがあります。

例えばProbuilderで作ったIcosphere(球)でポリゴン数の多いものはすり抜けてしまいます。

これは今の所解決策は分かりません。しょうがないのでProbuilder以外で普通にSphereを作る方が良いです。

何か良い解決方法があったら教えてほしいものです。