Unity研究所<Unityによるゲーム開発、映像開発>

Unity初心者40代後半中年中間管理職おやじが綴るゲームで小遣い稼ぎできるようになるまでのブログ

Unity 小ネタ Event Trigger 3Dオブジェクトをクリックして消去

f:id:Harukichi:20210402232656g:plain

新しいアプリの試作中!!

 以前下記のような2Dで作った、ボールを数字の順番にタップして消していくゲームを、3Dにしたら見え方が違って何かひらめかないかなぁと思い作ってみたが、微妙(-_-メ)

 

harukichi.hatenadiary.jp

 

まあ、せっかく作ったので、その中で3Dのオブジェクトをクリックして消すという制御を行うにあたり「Event Trigger」なるものを活用したのでメモしておく

 

〇実装方法

 やりたいことは、ボールをクリックして消すということ

 なので、ボールのGameObjectにクリックしたというイベントを発生させたいので、ボールのPrefabに、インスペクター上でAdd New Event Typeボタンを押して適しているイベントタイプを選択し、Event Triggerを追加する

 今回はPointerDownを使用してみたが、PointerClickでもOK

 

f:id:Harukichi:20210402234755j:plain

 

クリックイベントが発生した時に呼び出される関数を割り付ける

f:id:Harukichi:20210402234259j:plain



◆クリックイベント発生時に呼び出される関数のスクリプト

今回は次に消すべき数字のボールと、クリックしたボールの番号が一致したら、ボールを消しつつ、消滅エフェクトを発生させている

f:id:Harukichi:20210402234023p:plain

 

前回の2Dボール消しの場合は、Raycastを使ってクリックした箇所の下にオブジェクトがいるかどうかで判定していたが・・・・

こちらの方がインスペクター上で設定できるので、わかりやすいかなぁ

 

今回は以上