FuruiTweet今回はオブジェクト同士が離れた瞬間にイベントを発生させるご方法を紹介します。衝突した瞬間のみではなく、離れた瞬間にも処理を入れたいという方はぜひご参考ください。今回はボールが床にバウンドして、離れた瞬間に色が変化するシーンを作成していきます。本記事でご紹介する内容は以下の通りです。まとめOnCollisionExitの使用方法オブジェクト同士が離れた瞬間にイベントを発生する関数はOnCollisionExitを使用します。はじめにSphere(球)とPlane(平面)を以下のような位置関係で設置して、SphereにRigidbodyを追加します。ここまでの操作方法はOnCollisionEnterの使用方法を紹介したこちらの記事で詳しくご紹介しています。次にSphereをバウンドさせるためにPhysicMaterialを作成し、Sphereに追加します。以下赤枠メニューバーAssets→Create→PhysicMaterialを選択してください。選択するとAssetsに新しいPhysicMaterialが作成されますので、任意の名前をつけてください。今回は「Bound」とします。次にBoundの設定をします。以下赤枠inspectorビュー→Bouncinessの値を1に変更してください。次にこのBoundマテリアルをSphereに追加します。以下のようにAssetsのBoundをSphereにドラッグ&ドロップします。これでSphereをバウンドさせることができます。実際に実行して確認してみましょう。ここからSphereとPlaneが離れた瞬間に色が変わるようなスクリプトを作成していきます。HierarchieビューでSphereを選択してください。次にInspectorビューの最下部AddComponentからNewScriptを選択して新しいスクリプトを選択してください。名前は任意ですが、今回は「BoundChangeColor」とします。スクリプトを編集していきます。作成したスクリプトをテキストエディターで開いて、以下のように編集してください。rand;}}}プログラムを簡単に説明します。SphereがPlaneから離れた瞬間にOnCollisionExitが呼び出されます。次にランダムに色を生成し、変数randに代入します。最後にSphereが離れたオブジェクトがPlaneだった場合にSphereの色をrandに変更します。以上がプログラムの簡単な流れです。実際に実行して確認してみましょう。実際に離れた瞬間に色が変化していることがわかると思います。このことから、SphereはPlaneと3回衝突し、2回離れていることがわかります。まとめ今回はOnCollisionExitを使用して、オブジェクトが離れた瞬間にイベントを発生させる方法をご紹介しました。プログラミングを多少必要とするものの、簡単に実装できることがわかると思います。このようにプログラミングは難しいものと思われがちですが、ぜひチャレンジしてみてください。gardenお問い合わせはこちらから※「XR-Hub」商標出願中CloseTwitterでAR/VRの最新情報を受け取る。