Unity事例ノート

UNITY

Raycastの照射に当たれば色が変わる

前方にむけてRay(光線)を出して照準として利用します。

プレーヤーが回転すれば、Raycastも一緒に回転。

ここに触れると、相手オブジェクトのマテリアルを切り替えるスクリプトを実行します。

ターゲットを捉えているかどうか、照準の判定に利用できそうな仕組みです。

関連記事:
向いている方向へRaycastを出す
Raycastによる特定オブジェクトの接触判定
斜めに向けたRaycastで衝突判定
割り当てたキーでアクティブ状態にする
ゆっくり元のカラーに戻す
マウスカーソルを重ねると実行
Rayを使ってマテリアルカラーを取得

Ray照射の当たり判定をつくる

PlaneとCubeを作成します。

Cubeには色をつけ、位置を変更します。

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

CubeMove.csを記述します。

続いて、Sphereを作成し、位置を変えます。

シーンビューではこのように見えています。

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

ChangeColor.csを記述します。

ゲームプレイして、Cubeを動かしてみましょう。

可視化したRayが、Sphereに触れると、Sphereが赤色に変わります。

Rayにぶつかれば、 lockOnのフラグがtrueに。

lockOnを、ChangeColor.csから参照して、マテリアルを切り替えています。

関連記事:
向いている方向へRaycastを出す
Raycastによる特定オブジェクトの接触判定
斜めに向けたRaycastで衝突判定
割り当てたキーでアクティブ状態にする
ゆっくり元のカラーに戻す
マウスカーソルを重ねると実行
Rayを使ってマテリアルカラーを取得