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を作る方が良いです。
何か良い解決方法があったら教えてほしいものです。