「ジャンプができる乗り物をつくってみよう!」の記事では、乗ったままジャンプできる乗り物のつくり方を紹介しています。
今回は乗り物が着地したときに効果音を鳴らしたり、パーティクルなどのエフェクトを出してみましょう!サンプルプロジェクト付きなので、実際の構成を見ながら学ぶこともできます!

ホッピングの用意
「ジャンプができる乗り物をつくってみよう!」でつくった乗り物に機能を追加してみましょう。
完成した乗り物のHierarchy と Inspector の構造はこの様になっています。元となる乗り物のつくりかたは上記の記事を参考にしてください。


着地の効果音を鳴らす
それではまず乗り物が着地したときに効果音を鳴らしてみましょう!
- Ridable Item がついているオブジェクト(ここでは Hopping) を選択し、Inspector にある Add Component から「Is Grounded Character Item Trigger」を追加します。
- Target の右の欄の Key には「JumpOn」、Signal 型を設定します。

次に効果音を鳴らすオブジェクトを Hopping の下に作成します。
- Hopping を選択した状態で Hierarchy 上で右クリックもしくは上部メニュー欄の「GameObject > Create Empty」から空のオブジェクトを作成します。見分けが付きやすいように名前を「SE」に変更します。

- SE を選択し、Inspector にある Add Component から「Play Audio Source Gimmick」を追加します。
- Play Audio Source Gimmick を追加すると自動的に「Audio Source」のコンポーネントも追加されます。

Audio Sourceの AudioClip には鳴らしたい効果音を設定します。(サンプルプロジェクトには効果音は入ってないので、好きな効果音を探して設定してみてください)
- 着地したタイミングに音を鳴らしたいため Play On Awake のチェックマークは外しておきます。
- もっと効果音について詳しく知りたい方はこちらの記事を参考に音量バランスを整えてみてください!

- Play Audio Source Gimmick の Target には「Item」を指定し、親構造の Hopping を Item の欄にドラッグアンドドロップしましょう。
- Key には「JumpOn」を設定します。これで着地したときに設定した効果音が鳴るようになりました。
Unity 上部にある再生ボタン▶を押して確かめてみましょう!
着地のエフェクトを追加する
続いては着地したときにエフェクトが出るようにしてみましょう!
- パーティクルを Hopping の下に作成します。Hopping を選択した状態で Hierarchy 上で右クリックもしくは上部メニュー欄の「GameObject > Effect > Particle System」からパーティクルを作成します。

- 作成した Particle System を選択した状態でInspector にある Add Component から「Set Game Object Active Gimmick」を追加します。
- Target は Item に変更し、Key は 「isParticle」にします。先ほどと同じように Item の欄には Hopping をドラッグアンドドロップしましょう。
- 続いてパーティクルの設定をします。パーティクルがアクティブになったときに出現するために Play On Awake にチェックマークを入れましょう!
ここでは細かなパーティクルの設定は省略しますが、下記の記事のように自由に色を変えたりパーティクルの数を増やしてみてください!

先程設定したパーティクルを出現させられるように Hopping に設定を加えていきましょう。
- Hopping を選択し、Inspector にある Add Component から「On Create Item Trigger」「Item Logic」を追加します。
- On Create Item Trigger の Target は This に変更し、Key は「isParticle」と設定します。Value は Bool 型に変更し、チェックマークを入れてください。

JumpOn というメッセージが来たときに Item Logic が動くように設定します。
- まずTargetは「This」、Keyは「JumpOn」にしましょう。
- 次に+ボタンを押してロジックを追加します。出てきた項目のうち、一番上の行のTargetは「This」に変更します。その隣のKeyに「isParticle」を入れ、一番右の選択欄は「Bool」に設定します。
- 2行目の選択欄は「Not」を選択します。最後に3行目の一番左の選択欄で「RoomState」を選び、その隣は「Bool」、右側の入力欄にはふたたび「isParticle」を入力します。

アイテムのオンオフについてはこちらの記事でよりくわしく解説しています。
Hoppingについているすべてのコンポーネントは下のようになっています。設定を見落としてないかチェックしてみましょう!

これによって着地したときと地面から離れたときに isParticle の値がオンオフされ、連動してパーティクルが出現するようになります!
