【Unity】Sphere Colliderのパラメータを紹介。拡大・縮小で調整しましょ

【Unity】Sphere Colliderのパラメータを紹介。拡大・縮小で調整しましょ

Box Colliderと並んでよく使われるSphere Colliderのパラメータをご紹介。

Box Colliderとほとんど似ており、違いは拡大・縮小以外の変形ができないことでしょうか。

楕円形などに変形することができないのですが、それでも何かと用途の幅が広いColliderです。

 

環境

macOS 10.13 High Sierra

Unity2018.1.0f2

Colliderについて

Colliderって何? Colliderってどんな種類があるの? という疑問に答えようとしている記事はこちら。

ざっくり言うと、Unity世界で衝突を扱っているコンポーネントです。

これが無いと、すぃーっとオブジェクトを通り抜けたりします。

今回はその中でもSphere Colliderを使って遊びます。

Sphere Collider
Sphere Collider

 

Sphere Colliderのパラメータ

Sphere Colliderは球体のコライダーで、ボールの形状を表すのにぴったり。

他にも複合Colliderとして、オブジェクトの丸い部分にこのColliderを割り当てることもできます。

『Hierarchy』ウィンドウでSphereオブジェクトを作ったときにデフォルトで付いてくるため、使ったことのある人も多いはず。

このColliderのパラメータは以下のものがあります。

Sphere Colliderのパラメータ
Sphere Colliderのパラメータ

 

IsTrigger

Is Triggerは、このColliderがトリガーかどうかを保持する設定です。trueでトリガーとして扱われ、falseで通常の衝突を行います。

このあたりはBox Colliderと共通です。

Colliderは通常、オブジェクト同士の衝突を表現し、Colliderをアタッチされたオブジェクト(Rigidbody)同士がぶつかると、跳ね返る動きをします。

すり抜けて欲しくないオブジェクト、例えば壁や地面にはColliderをアタッチしておくのが鉄則です。

基本はすり抜け防止がColliderの役割ですが、このIs Triggerにチェックが入っていると、オブジェクト自体はすり抜けてしまいます。

しかし、このColliderと接触したこと自体は検知できるので、スクリプトからOnTriggerEnterなどのメソッドで拾うことができるんです。

アクションゲームの中間ポイントや、落下判定などに使うと便利ですね。

Material

物理特性マテリアルをセットすることができます。

物理特性マテリアルは、オブジェクトの摩擦力や反発係数を設定できるアセットのこと。

デフォルトだとボールなどを自由落下させた時にバウンドしないのですが、この物理特性マテリアルをColliderにセットしておくことでバウンドするようになります。

反発係数によっては、自由落下なのに元の位置より高くまで跳ね上がることもあります。

Sphere Colliderでは特にボール的な運動を表現するために反発係数をセットしておくのが大事です。

Center

このColliderの中心位置です。

Centerが(0, 0, 0)の場合は、TransformコンポーネントのPositionが中心となります。

Sphereオブジェクトを作った時にはそんなに使わないかもしれませんが、複合Colliderの位置を調整するのに使うかもしれません。

私はだいたいTransformの方で調整しちゃうのであまり使わないかも。

Radius

このColliderの半径を設定します。

オブジェクト自体の大きさはScaleで設定できますが、それよりも大きい値とか、小さい値にしたい時に半径を設定します。

例えばSphereオブジェクトを作成した時のデフォルトは0.5でオブジェクトの形状と一致していますが、これを1にしてみると以下のようになります。オブジェクトの周りに緑の線がうっすらと表示されているのがColliderです。

半径を1にする
半径を1にする

 

見た目より当たり判定を大きくしたいなー、なんて時に便利。

ただ、形状は球体で固定なので、楕円形などに変形することはできません。あくまでもColliderの形を維持した拡大・縮小のみが可能です。

Edit Colliderの機能

パラメータの上の方に「Edit Collider」なるボタンがあります。

これを使うと『Scene』ビューの中でColliderの大きさを変えることが出来ます。

Colliderの大きさを調整

 

ここで調整した大きさに応じて、Centerの値とRadiusの値が変更されます。

いじりすぎて訳が分からなくなったら、コンポーネントの右上にある歯車アイコンのメニューから[Reset]を選択すると吉。簡単に初期値に戻してくれます。これはTransformと共通して使える便利なテクニック。

時にはResetも大事なのだポッター
時にはResetも大事なのだポッター

 

まとめ

Sphere Colliderのパラメータを紹介しました。いじるところもそんなに多くないので、あまり混乱せずに調整しやすいと思います。

球体の形状を変更できないものの、単純な球形を組み合わせることでもColliderを表現できたりするので、複合Colliderでは欠かせない存在です。

アセット作ってます!

CTA-IMAGE

Unityでの開発に役立つアセットを作っています。

3DダンジョンRPGを開発するスピードを200%加速するAssetや、ファンタジーRPGのダンジョンを彩るパーツを取り揃えています。

特に3DダンジョンRPGのゲームを1から作るのは結構時間がかかります。ダンジョン部分の作成はこうしたアセットを使って、開発をブーストさせてみませんか?