【Unity】『トリガー』の設定方法を詳しく解説!

本日のテーマ

イベントの発生を検知するための
『トリガー』の設定方法

 

トリガー」と「当たり判定」は非常に似ているので、

混同して使ってしまいがちです。

この記事を読んで、しっかりと使い分けられるようにしましょう。

 

「当たり判定」の設定を知りたい方
『当たり判定』の設定方法を詳しく解説!

「当たり判定」と「トリガー」の違いを詳しく知りたい方
『Collider』をマスター!

 

『トリガー』とは

トリガー」とは「引き金」という意味があり、何かが起きる「引き金」となることを、

ゲーム内でもそのまま「トリガー」という言い方をします。

 

少しわかりにくいですが、

「当たり判定」の場合には “物理的接触”があって、

それをきっかけに何かしらの処理が行われるわけですが、

“物理的接触がない”場合でも、何かしらの処理を行いたいことってありますよね。

 

例えば、プレイヤーが家の前に来た時にイベントが発生するといった場合や、

レースゲームなどでゴールに到達したときにゲーム終了処理を行うといったように、

“物理的接触はない”が何かしらの処理を行いたい場合に「トリガー」が使われます。

“物理的な接触が発生しない”のが「トリガー」の特徴になります。

 

 

『トリガー』が発生する条件

では、「トリガー」を発生させるための条件を説明します。

接触する2つのオブジェクトにおいて、

Point

・少なくとも一方にRigidbody(あるいはRigidbody2D)がアタッチされていること

・両方にCollider(例えばBoxColliderやBoxCollider2D)がアタッチされていること

・少なくとも一方のColliderの『Is Trigger』がtrue(チェックあり)であること

この3点が必須条件になります。

当たり判定』では、Colliderの両方の「Is Trigger」がfalseでないといけないのに対し、

トリガー』では、少なくとも一方の「Is Trigger」がtrueでないといけません。

 

『トリガー』発生時の処理

トリガーとの接触が発生したときに何かしら実行したい場合には、

スクリプトに、以下のコードを書きます。

上記を参考に、必要な関数と処理を書いて、

トリガーの判定を行うオブジェクトにアタッチしてください。

 

「当たり判定」と似ていますが、関数名と引数が違っているので注意しましょう。

 

『トリガー』設定のまとめ

トリガー」を発生させる条件は、

・少なくとも一方にRigidbody(あるいはRigidbody2D)がアタッチされていること

・両方にCollider(例えばBoxColliderやBoxCollider2D)がアタッチされていること

・少なくとも一方のColliderの『Is Trigger』がtrue(チェックあり)であること

 

「トリガー」発生時に呼び出される関数は、

OnTriggerEnterのように関数名にTriggerが入ったものになります。

 

「当たり判定」と「トリガー」の違いは、

Colliderの『Is Trigger』のチェックの有無」と「使用する関数名の違い」。

この2点をしっかりと理解し混同してしまわないように注意しましょう。

 

「当たり判定」についての記事
『当たり判定』の設定方法を詳しく解説!

 

以上で、『トリガー』の設定方法を詳しく解説!の説明を終わります。