Unityのゲームオブジェクトをマウス操作した時の処理

今回はUnityのゲームオブジェクトをマウス操作した時の処理をしてみます。

ゲームオブジェクトがUIのボタンであればUIのボタンのデフォルトのイベントを使ったり、Event Triggerコンポーネントを取り付けるやり方が出来ます。

UnityのUIのクリックやドラッグのイベントをEvent Triggerコンポーネントを取りつけて受け取れるようにします

通常のゲームオブジェクトであればインタフェースの実装とRaycasterコンポーネントを使うやり方もあります。

Unityでマウスイベントのインタフェースの実装をしてマウスイベントを実行出来るようにします。またレイキャストを設定し3Dゲームオブジェクトでもマウスイベントを処理できるようにしていきます。

ですがもっと簡単にマウス操作を処理する方法もあります。

今回のサンプルを作成すると、

上のような感じで簡単にマウスイベントの処理が出来ます。

スポンサーリンク

ゲームオブジェクトのマウス操作

ゲームオブジェクトのマウス操作を今回はMonoBehaviourクラスで定義されているイベント受け取りのメソッドを使って行ってみたいと思います。

これだとMonoBehaviourクラスを継承した普通のクラスを定義し、マウスイベントの受け取りメソッドを書いておけばゲームオブジェクトに取り付けるだけでマウスイベントを処理してくれます。

こんな簡単な方法あったのね・・・・(^_^;)

マウスイベント処理の簡単なサンプルを作ってみます。

ヒエラルキー上にCube等を作成し以下のスクリプトを取り付けます。

それぞれのメソッドが呼ばれるタイミングは

OnMouseDownはゲームオブジェクトが押された時
OnMouseDragはゲームオブジェクトがドラッグされている時
OnMouseEnterはゲームオブジェクト内にマウスポインタが入ってきた時
OnMouseExitはゲームオブジェクト外にマウスポインタが出た時
OnMouseOverはゲームオブジェクト上にマウスポインタがある時
OnMouseUpはマウスボタンが離された時(ゲームオブジェクトは関係ない)
OnMouseUpAsButtonはゲームオブジェクト上でマウスボタンが離された時

です。

上ではゲームオブジェクトという表記にしていますが、実際はゲームオブジェクトに取り付けているコライダやUIElementになります。

Unityを実行してゲームオブジェクトをマウス操作してみてください。

参考サイト

UnityスクリプトリファレンスーMonoBehaviourー

スポンサーリンク

記事をシェアして頂ける方はこちら

フォローして頂くとやる気が出ます