Unity事例ノート

UNITY

触れている間はイベントを発生させる

OnCollisionStayを使うと、他のオブジェクトに触れている間、毎フレーム呼び出せるようになります。

床に触れている間はずっと前に動いて、浮上しているときは動かない。

接地している間はグリーン、していないときはレッドという具合に切り替えています。

関連記事:
【Unity C#】オブジェクトに触れていれば動く
【Unity C#】領域に入っている間と離れたときに発生
【Unity C#】OnCollisionEnterとOnTriggerEnterの違い
【Unity C#】オブジェクトから離れるとイベント発生
【Unity C#】触れた相手のオブジェクト名を取得
【Unity C#】ぶつかったオブジェクトと同じカラーにする
【Unity C#】オブジェクトの外周に沿って動く
【Unity C#】床の外側に沿って移動をくり返す

OnCollisionStayで毎フレーム呼び出す

まずはPlaneオブジェクト(平面)とCubeを用意しましょう。

Cubeにはリジッドボディを追加。

Cubeオブジェクトに、ClickUp.csを作成します。

ClickUp.csを編集しましょう。

ゲームプレイして、動きを確認しましょう。

地面に接している間はずっとZ方向に動いていきます。

クリックで浮上したときは、Z方向への動きはとまります。

関連記事:
【Unity C#】オブジェクトに触れていれば動く
【Unity C#】領域に入っている間と離れたときに発生
【Unity C#】OnCollisionEnterとOnTriggerEnterの違い
【Unity C#】オブジェクトから離れるとイベント発生
【Unity C#】触れた相手のオブジェクト名を取得
【Unity C#】ぶつかったオブジェクトと同じカラーにする
【Unity C#】オブジェクトの外周に沿って動く
【Unity C#】床の外側に沿って移動をくり返す