#コライダーないなった?(インポートしたモデルについて)
前回までの私の記事を読んでいただいた方
ここまで来ると、こう思ったかと思います。
「箱もアンテナも・・私こんな単純な物を作りたいんじゃない!
私はもっと凄い物を作りたいんだ!!」
はい、私が教えられる範囲を超えています。
しかし罠にはまった話をすることは出来ます。
モデルを作れる人はBlenderで、作れない人はboothでモデルを購入しVCI化しようとするでしょう。
このとき必ず1回はコライダーについて罠にはまるでしょう。
・そもそもコライダーってなんぞ?
早い話が当たり判定(接触判定)です。
VCIサブアイテムで持てるようになりましたが、
このコライダー設定が入っていないと当たり判定がないため、そもそも持てないのです。
・コライダーの設定について
実はUnityでキューブを作成すると、その大きさに合わせて自動的に
「Box Collder」がセットされているため、意識するような事がありませんでした。
・コライダーの種類
「Box Collder(箱型)」の他に、「Sphere Collder(球型)」、
「Capsule Collder(カプセル型)」が有ります。
Unityでキューブ、スフィア、カプセル、シリンダーを追加すると、
これらコライダーの種類に応じて自動的にセットしてくれていたのです。
※テクスチャの貼り付けるためにパネルを使用すると、自動的に「Mesh collder」が自動的にセットされます。
しかし、バーチャルキャストでは「Mesh collder」は使用不可のため、VCI出力時にエラーとなります。
「Mesh collder」は無効化ではなく、インスペクターから完全に削除しましょう。
なお、将来的にはルームで使用可能となるそうです。
・コライダーがない
ここに3Dモデル作成ソフトBlenderで適当に作成した球が有ります。
Blenderでfbx形式にて出力した後、Unity下部の「プロジェクトウインドウ」にドロップしましょう。
その後、ヒエラルキーに作成した球モデルをドロップします。
インスペクターを見てみると「XXXX Collder」がありません。
つまりこのままVCI化しても当たり判定がないため持つことが出来ないと言うことです。
・別のモデルで確認
ここにNASAが公開している火星探査機「パーサヴィアランス」のGLBモデルをご用意しました。
読み込んでも、やはりコライダーが有りません。
これらはあくまでもモデルであり、コライダーは別物なのです。
©NASA Perseverance2020 https://nasa3d.arc.nasa.gov/detail/perseverance-glb
・コライダーの追加
ぱぱっとヒエラルキーを設定し、インスペクターの「コンポーネントを追加」→「ボックスコライダー」
を選択しましょう
・コライダーの設定
シーンビューに緑の枠が出てきましたが全然大きさがあっていません。
「Box Collder」の「コライダーの編集」をクリックすると、
緑の枠8方面に小さな四角(名称何でしたっけ・・)が出てきますので
良い感じの大きさになるよう引っ張りましょう
・コライダー設定後
このように「パーサヴィアランス」を囲うようにコライダー設定が出来ました。
この範囲全てが当たり判定となるため、モデルがない空白地帯でも当たり判定が発生します。
・さらに別モデルで確認
Blenderで作成した球に「Sphere Collder」を追加しました。
このように単純なオブジェクトの場合、ほどよい大きさのコライダーに自動的に設定してくれます。
※Unityのアセットストアに「SAColliderBuilder」という物があります。
自動的に指定した種類及び数のコライダーをモデルに合わせて設定してくれる物です
便利でありクセもあります。
なお・・
1つのアイテムに複数のコライダーが存在し、コライダー同士が重なり合ってる場合、
アイテムを持った際に重なり合ったコライダーが干渉し、非常に荒ぶる場合があります。
この場合はコライダーを調整し、重なり合わないよう注意しましょう。
#終わりに
インポートしたモデルにコライダーを設定し忘れるのはままあることです。
みなさんも気をつけましょう!
(誰かテクスチャ1枚貼り付けるときどうするのとか、両面描画どうしてるのか教えてくれないかな・・
やっぱPlaneを裏表貼り付け・・・?)