※前回の記事: 魔法陣エフェクトを追加する
ここまでで魔法陣を追加できましたが、
・最初にピカッと光るエフェクトが最初一回しか表示されず、一回カメラを離して再検知しても光らない
・モデルの表示タイミングがちょっと早い(ピカッと光ってからモデルが出現するようにしたい)
という2つの問題があったのでした。
今回、コードを追加して、この2点を解決したいと思います。
※オレオレ流コーディングなので、もしこう書いた方がいいよ!というコメントがありましたら、ぜひお知らせくださいませ。
という2つの問題があったのでした。
今回、コードを追加して、この2点を解決したいと思います。
※オレオレ流コーディングなので、もしこう書いた方がいいよ!というコメントがありましたら、ぜひお知らせくださいませ。
切り絵を検知するたびにエフェクトを再生させる
ループでずっと再生されているエフェクトは良いのですが、一回限り再生するスパーク的なエフェクトの場合、ターゲットである切り絵を検知するたびにピカッとさせたいですよね。手順
Hierarchyの中のImageTargetを選択して、Inspectorを開きます。
Add Component > New scriptから、新しいスクリプトを生成します。
ParticleTimingScript.csという名前をつけました。
以下のようなコードを追加します。
ParticleTimingScript.csという名前をつけました。
以下のようなコードを追加します。
やっていることはシンプルで、ターゲットが検知されたらparticle.Play ();を呼ぶようにしています。
コードを書いたら、UnityのEditorに戻って、ImageTargetのInspectorを確認します。
Particle Timing Scriptのところに、Particleという項目が追加されているはずです。
Hierarcheyの中で、ターゲット検出のたびに再生したいパーティクルを選んでドラッグして、上記のMissingとなっているParticleのところにドロップします。
これで完成です!
実際に動かしてみて、ターゲットが画面から外れても、再度検知したらピカッとすることを確認してみてください。
モデルの表示タイミング修正
カメラをかざした瞬間にモデルが表示されてしまうのでなく、ピカッと光った後に出現する方が、よりワクワクしますよね。手順
Hierarchyの中のImageTargetを選択して、Inspectorを開きます。
Add Component > New scriptから、新しいスクリプトを生成します。
DelayShowModelScript.csという名前をつけました(もうちょい良い命名すればよかった)。
以下のようなコードを追加します。
色々試行錯誤した結果、Invoke関数を呼部ことで、カメラをかざしてから0.6秒後にモデルを表示する、という実装に一旦落ち着きました。
0.6秒というのは、フラッシュのタイミングと合わせて、実際の動作を確認しながら決めた数値です。
これだと、何らかの原因でフラッシュが呼ばれるタイミングがずれると、モデルの表示タイミングがずれるので、フラッシュが呼ばれたらモデルを表示、というのが望ましいのかもしれませんが…私の実装能力ではこれが限界でした。どなたかご教示いただけたら嬉しいです。
コードを書いたら、UnityのEditorに戻って、ImageTargetのInspectorを確認します。
DelayShowModelScriptのところに、Summoned Beastという項目が追加されているはずです。
Hierarcheyの中で、モデルを選んでドラッグして、上記のNoneとなっているSummoned Beastのところにドロップします。
これで完成です!
魔法使いになった気分で、とっても嬉しいです。
最終回は、召喚時の効果音をつけてみたいと思います。
最終回はこちらからどうぞ!
DelayShowModelScript.csという名前をつけました(もうちょい良い命名すればよかった)。
以下のようなコードを追加します。
色々試行錯誤した結果、Invoke関数を呼部ことで、カメラをかざしてから0.6秒後にモデルを表示する、という実装に一旦落ち着きました。
0.6秒というのは、フラッシュのタイミングと合わせて、実際の動作を確認しながら決めた数値です。
これだと、何らかの原因でフラッシュが呼ばれるタイミングがずれると、モデルの表示タイミングがずれるので、フラッシュが呼ばれたらモデルを表示、というのが望ましいのかもしれませんが…私の実装能力ではこれが限界でした。どなたかご教示いただけたら嬉しいです。
コードを書いたら、UnityのEditorに戻って、ImageTargetのInspectorを確認します。
DelayShowModelScriptのところに、Summoned Beastという項目が追加されているはずです。
Hierarcheyの中で、モデルを選んでドラッグして、上記のNoneとなっているSummoned Beastのところにドロップします。
これで完成です!
ここまでの実装
これで、めちゃくちゃカッコいい魔法陣が仕上がりました。魔法使いになった気分で、とっても嬉しいです。
最終回は、召喚時の効果音をつけてみたいと思います。
最終回はこちらからどうぞ!