原カバンは鞄のお店ではありません。

Unityを使ったゲーム制作のあれこれを綴っていきます。

【Unity】総合エフェクトツール「Feel」を使ってみる

f:id:Karvan:20210601214309p:plain

散々

注文したPCの納期が半年後だったり、購入したゲームは画面酔いが酷かったり、無くしものをしたり、落とし物をしたり、贔屓のスポーツチームは負けたり、と散々な日々を過ごしている皆さんこんにちは。
iPad版のDAZNが「問題が発生しました。しばらくたってから再度お試しください」のメッセージを表示するようになって、かれこれもう一週間以上経っているのに未だに「しばらくたってから・・・」のメッセージを表示し続けているのですが、一体どれだけ待てば良いのでしょうかね?
ちなみにアプリを再インストールしても結果は同じでした。

 

Feel

前回の記事で紹介したUnityのアセット「Feel」
どんなアセットかと言うと"ゲーム内で発生する様々なイベントに合わせたエフェクトの詰め合わせ"といった感じのアセット。
音声、カメラ、パーティクル等々を利用したエフェクトを簡単に実装できます。

assetstore.unity.com

とは言え、購入したアセット内には導入法等が記載されたドキュメント類は含まれていない為、使い方を知るにはWebサイトを参照する必要がありました。
なので今回の記事では導入手順と簡単な実装例を紹介したいと思います。

 

導入手順

「Feel」のエフェクトをフルで使うには以下のパッケージを事前にプロジェクトに導入しておく必要があります。

  • Cinemachine
  • 2D Animation
  • Post Processing

どのパッケージもPackageManagerからインストールすることが出来ます。(無料です)

「Feel」のエフェクトを使うには空のオブジェクトに「MMFeedbacks」コンポーネントを付与し、このコンポーネントから実装したいエフェクトを追加していきます
この[空のオブジェクト+「MMFeedbacks」コンポーネント]は実装したいエフェクト単位に作る必要があります

例えば「煙のパーティクルが発生する」と「画面(カメラ)が揺れる」エフェクトを同時に再生したいのであれば、一つの「MMFeedbacks」コンポーネントに「パーティクル再生」のエフェクトと「カメラシェイク」のエフェクトを追加します。
f:id:Karvan:20210601214735p:plain

 

別々に再生したいのであれば、[空のオブジェクト+「MMFeedbacks」コンポーネント]を二つ用意して、一つに「パーティクル再生」のエフェクト、もう片方に「カメラシェイク」のエフェクトを追加します。

f:id:Karvan:20210601214749p:plain

 

簡単な実装例

実装例として下の動画のような単純に飛び上がるCubeに対して「Feel」のエフェクトを追加したいと思いまます。

f:id:Karvan:20210601215017g:plain

CubeはAddFroce(Impulse指定)を行う事で飛び上がっています。この時rigidbodyの回転については全軸freezeの設定をしています。

この状態でシーン内に空のGameobject(JumpFeedback)を追加します。

f:id:Karvan:20210601215130p:plain

 

JumpFeedbackにMMFeedbacksコンポーネントを追加します。

f:id:Karvan:20210601215155p:plain

 

このMMFeedbacksコンポーネントにジャンプ中に回転するエフェクトを追加します。
MMFeedbacksコンポーネントの「Add new feedback」を押すと追加するエフェクトが選択できます。今回は「Transform→Rotatin」を選びます。

f:id:Karvan:20210601215252p:plain

 

MMFeedbacksに[Rotation]が追加されるので「Rotation Target」にCubeオブジェクト(Model)を指定します。

f:id:Karvan:20210601215519p:plain

 

「Remap Curve One」に回転角度「90」を指定、X軸周りに廻すので「Animate X」のみにチェックを入れます。

f:id:Karvan:20210601215545p:plain

この状態で再生ボタンを押すと「Playボタン」が有効になるので押してみると

f:id:Karvan:20210601215635g:plain

Cubeが90度回転するのが分かります。

このエフェクトをジャンプ中に再生するようにスクリプトを修正します。今回の場合はJump開始のタイミングで再生します。

f:id:Karvan:20210601215700p:plain

これを実行してみると

f:id:Karvan:20210601215718g:plain

こんな感じ、ジャンプ中にクルッと回るようになりました。

 

さらにエフェクト追加

次は着地時にカメラシェイクのエフェクトを実装します。
最初にCinemachineのバーチャルカメラ(CM vCam1)を作成し、

f:id:Karvan:20210601215922p:plain

このバーチャルカメラに[Cinemachine Impulse Listener]を追加しておきます。

f:id:Karvan:20210601220038p:plain

 

次に空のGameobject(LandingFeedback)を作成→MMFeedbacksコンポーネントを追加します。
「Add new feedback」を押して「Cinemachine Impulse」を追加します。

f:id:Karvan:20210601220113p:plain

 

これをUpdate内でrigidbodyの速度が下向きに転じたあたりでMMFeedbacksを再生するようにします。

f:id:Karvan:20210601220146p:plain

 

実行すると

f:id:Karvan:20210601220208g:plain

着地時に画面が揺れるエフェクトが実装されました。

 

さらにー

同じ手順でLandingFeedbackのMMFeedbacksにポストエフェクトも追加して設定すると、

f:id:Karvan:20210601220255g:plain

最終的にこんな感じになりました。
一番最初の動画と比べてかなり印象が違って見えると思います。

 

◇プライバシーポリシー

●個人情報の利用目的

当ブログでは、メールでのお問い合わせ、メールマガジンへの登録などの際に、名前(ハンドルネーム)、メールアドレス等の個人情報をご登録いただく場合がございます。

これらの個人情報は質問に対する回答や必要な情報を電子メールなどをでご連絡する場合に利用させていただくものであり、個人情報をご提供いただく際の目的以外では利用いたしません。

●個人情報の第三者への開示

当サイトでは、個人情報は適切に管理し、以下に該当する場合を除いて第三者に開示することはありません。

・本人のご了解がある場合
・法令等への協力のため、開示が必要となる場合

個人情報の開示、訂正、追加、削除、利用停止
ご本人からの個人データの開示、訂正、追加、削除、利用停止のご希望の場合には、ご本人であることを確認させていただいた上、速やかに対応させていただきます。

アクセス解析ツールについて

当サイトでは、Googleによるアクセス解析ツール「Googleアナリティクス」を利用しています。

このGoogleアナリティクスはトラフィックデータの収集のためにCookieを使用しています。このトラフィックデータは匿名で収集されており、個人を特定するものではありません。
この機能はCookieを無効にすることで収集を拒否することが出来ますので、お使いのブラウザの設定をご確認ください。

●免責事項

当サイトからリンクやバナーなどによって他のサイトに移動された場合、移動先サイトで提供される情報、サービス等について一切の責任を負いません。

当サイトのコンテンツ・情報につきまして、可能な限り正確な情報を掲載するよう努めておりますが、誤情報が入り込んだり、情報が古くなっていることもございます。

当サイトに掲載された内容によって生じた損害等の一切の責任を負いかねますのでご了承ください。

●プライバシーポリシーの変更について

当サイトは、個人情報に関して適用される日本の法令を遵守するとともに、本ポリシーの内容を適宜見直しその改善に努めます。

修正された最新のプライバシーポリシーは常に本ページにて開示されます。