【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は球体のコライダーで、ボールの形状を表すのにぴったり。
他にも複合Colliderとして、オブジェクトの丸い部分にこのColliderを割り当てることもできます。
『Hierarchy』ウィンドウで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です。
見た目より当たり判定を大きくしたいなー、なんて時に便利。
ただ、形状は球体で固定なので、楕円形などに変形することはできません。あくまでもColliderの形を維持した拡大・縮小のみが可能です。
Edit Colliderの機能
パラメータの上の方に「Edit Collider」なるボタンがあります。
これを使うと『Scene』ビューの中でColliderの大きさを変えることが出来ます。
ここで調整した大きさに応じて、Centerの値とRadiusの値が変更されます。
いじりすぎて訳が分からなくなったら、コンポーネントの右上にある歯車アイコンのメニューから[Reset]を選択すると吉。簡単に初期値に戻してくれます。これはTransformと共通して使える便利なテクニック。
まとめ
Sphere Colliderのパラメータを紹介しました。いじるところもそんなに多くないので、あまり混乱せずに調整しやすいと思います。
球体の形状を変更できないものの、単純な球形を組み合わせることでもColliderを表現できたりするので、複合Colliderでは欠かせない存在です。
ゲーム開発の攻略チャートを作りました!
-
前の記事
【Unity】狙った順に処理したい時はスクリプトの実行順を指定する 2018.05.27
-
次の記事
【Unity】Sphere Colliderを使って気体分子を作って遊ぶ実験 2018.05.30
コメントを書く