Unity事例ノート

UNITY

球形のRaycastを作る

球体のRaycast(光線)を作って飛ばしてみましょう。

通常のRayは線状になっていますが、球の形にすることで、光線に幅と高さを出すことができます。

今回の例では、右方向に向けて半径1.0のRayを出してみます。

Rayを可視化し、X座標5.0の位置に球状Rayが確認できますが、そこへ向けた通過範囲も、当たり判定として作用します。

関連記事:
箱形のRaycastを作る
向いている方向へRaycastを出す
Raycastによる接地判定
左右にRaycastの接触判定をつくる
Raycastの照準に当たれば色が変わる
Raycastによる特定オブジェクトの接触判定
オブジェクトに向けてRaycastを出し続ける





球状のRayを飛ばす

CubeをSphereを作成します。

プレーヤーであるSphereの位置を変えます。

RayScript.csを作成し、Cubeに追加します。

RayScript.csを記述します。

ここで一度、プレイを押してみましょう。

真横からシーンビューを見れば、このように球形のRaycastが、赤線で確認できます。

また、Cubeから球形Rayまでの距離も、赤線で確認できます。

Physics.SphereCast(球形が通過を開始する地点の中心, 球の半径, 球を通過させる方向, hitしたオブジェクトの情報, Raycastの最大の長さ, レイヤーマスク);

DrawWireSphere(球形Rayの中心位置, 球形Rayの半径);

プレーヤーを動かして当たり判定を確認

続いて、Sphere(プレーヤー)のスクリプトを作成しましょう。

SphereMove.csを作成し、Sphereに追加します。

SphereMove.csを記述します。

シーンビューで当たり判定を確認しましょう。

ゲームプレイし、Sphereを操作。

球状Rayに触れてみると、コンソールにSphereが表示されます。

また、Cubeオブジェクトを起点として、球状のRayが飛んでいるため、Rayの通過エリアに触れても、当たり判定としてコンソールにSphereが表示されます。

関連記事:
箱形のRaycastを作る
向いている方向へRaycastを出す
Raycastによる接地判定
左右にRaycastの接触判定をつくる
Raycastの照準に当たれば色が変わる
Raycastによる特定オブジェクトの接触判定
オブジェクトに向けてRaycastを出し続ける