Unity事例ノート

UNITY

Rayの始点をマイナスにしてオブジェクトを貫通

Raycastの始点を、オブジェクトのマイナスの位置にしてみましょう。

今回の例では、Z座標-0.5のところから、前方に向けて5.0の長さでRayを出します。

Rayに触れると、Sphereオブジェクトが削除されます。

関連記事:
Rayが当たった位置までの距離
オブジェクトに向けてRaycastを出し続ける
斜めに向けたRaycastで衝突判定
左右にRaycastの接触判定をつくる

Raycastをオブジェクトより手前から出す

Cubeを作成します。

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

RayLine.csを記述します。

ゲームプレイしてみると、DrawRayによって、Ray光線のイメージが確認できます。

しかしこれは、ただイメージとして、Rayがオブジェクトを貫通して見えているに過ぎません。

実際には、Cube自体にぶつかった位置で、Rayは止まっています。

Cubeの「BoxCollider」のチェックを外せば、実際にRayがオブジェクトを貫通するようになります。

次にプレーヤーとしてSphereを作成します。

Z方向動かして、Cubeから距離をとります。

Sphereを動かすためのスクリプトを作成しましょう。

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

BallMove.csを記述します。

ゲームプレイして、十字キーでSphereを操作。

RayCastにぶつかると、Sphereが消えます。

関連記事:
Rayが当たった位置までの距離
オブジェクトに向けてRaycastを出し続ける
斜めに向けたRaycastで衝突判定
左右にRaycastの接触判定をつくる