LemonteaのUnity部屋

UnityとかC#のおはなしです~

EventTriggerでオブジェクトのタップ(クリック)判定

こんにちは。レモンティーです。

今回は、UIではなく普通のオブジェクトのタップ判定をどうやってとったらいいか紹介します。

この話題で検索すると、必ずと言って良いほどRayを飛ばして判定するスクリプトがヒットしますよね。でも、初心者的にはあれは大変です。

そこでEventTriggerです。

まず、やり方をざっくり説明すると

①カメラにRaycasterをアタッチ。

ヒエラルキーにEventsystemをcreate

③タップ判定したいオブジェクトにEventTriggerをアタッチ

④オブジェクト、メソッドを指定

です!

手順は多く見えますが簡単ですよ!今回は、Cubeにタップ判定をつけてみましょう。

ではスクショで見ていきます。

①カメラに

AddComponent>Event>PhysicsRaycaster

f:id:sawalemontea:20170725100325p:plain

ヒエラルキーに 

Create>UI>EventSystem

f:id:sawalemontea:20170725100424p:plain

③Cubeに

AddComponent>Event>EventTrigger

 

 

ここまでは問題なさそうですね。

ここで、呼び出したいメソッドをもったスクリプトをCubeにつけておきましょう

今回はこんな感じにしました。

f:id:sawalemontea:20170725100814p:plain

④さて、オブジェクトとメソッドの指定ですが、その前に、どういうタイミングで反応するか設定します。今回はタップなので…

CubeにつけたEventTriggerの

Add New Event Type から、Pointer Click を選びます。

 

f:id:sawalemontea:20170725100510p:plain

そしたら下図の+マークを押して

f:id:sawalemontea:20170725100855p:plain

下図のようにオブジェクトとメソッドを指定します。

f:id:sawalemontea:20170725101245p:plain

 

これで実行し、Cubeをクリックすると…

 

f:id:sawalemontea:20170725101414p:plain

 

上手くいきましたね!

今回はここまでです。ありがとうございました(゜▽゜)

次回はこれをつかってCubeをドラッグで移動してみます。

 

追記

誤りがありました。

PhysicsRaycasterはEventの項目にあります。

すみませんでした。