【Unity Asset】アセット『Feel』の紹介や基本的な使い方をカードをめくる演出で解説!

Unityアセット紹介

神経衰弱ゲームを制作時に、今回はアセットの「Feel」を使って実装してみました。Feelは簡単に言うと、Unityで設定するオブジェクトに動作を付けてゲームを演出できるアセットです。

結構使いやすかったので、今回この記事でFeelの紹介と基本的な使い方を解説します。

Unityのアセット『Feel』とは

Unityアセット「Feel」とは、ゲームの演出を簡単に実装しゲームの魅力を引き出せるアセットです。カメラ揺らしやエフェクト、音の再生などをオブジェクトのインスペクター上で設定できます。

DoTweenで実装するオブジェクト移動の動作もFeelを使えばUnityのインスペクター上で設定できます。

日本語訳は無く、プロパティの項目や説明が英語表記になっていますが、Google翻訳などである程度わかるので、英語が苦手な私でも何となく使えている状態です。

スクリプトを書く量を大幅に削減できるので、ゲーム実装時の時間を短縮したい方にオススメのアセットになります。

 

購入時の注意

アセット「Feel」を提供しているMORE MOUNTAINSという会社から提供している他のアセット「Corgi Engine」や「TopDown Engine」、「2D+3D Infinite Runner Engine」にも含まれています。既にこれらのアセットを購入している人はFeelを購入する必要ないので注意が必要です。

 

Feelの使い方

Feelのインストールから、カードを「移動する処理」と「めくる処理」の設定の仕方を紹介します。スクリーンショットでは2Dゲームの制作方法で解説していますが、3Dゲーム制作でも同様だと思われます。

また、ゲーム制作初心者の人間が、英語を翻訳しながら使用しているので間違いなどあれば教えて頂けると助かります!

インストール

Unityのパッケージマネージャーを開きFeelをインポートします。公式で用意されているデモが必要ない人はインポート時にチェックを外して「MMFeedbacks」「MMTools」「NiceVibrations」の3つをインポートすれれば良いでしょう。(NiceVibrationsは必要ないかもです)

 

カードオブジェクトの作成

カードのオブジェクトを作っていきます。ここでは神経衰弱ゲームでも使用している、トランプカードデザインのアセット「TFH Deck of Card Assets plus Vector」を使用しています。

 

Canvasを作成

カードオブジェクトなどを配置するCanvasオブジェクトを追加します。

 

カードオブジェクトの作成

Canvas内に「空のオブジェクト」を設置。パラメーターは以下の通りに設定しています。好きに変更してください。

  • 名前:Card_1
  • 幅:200
  • 高さ:300

 

コンポーネント追加

カードオブジェクトのコンポーネントに「Button」と「Canvas Group」を追加します。

 

カードの表面・裏面を表示するImageオブジェクトの作成

Card_1の子にカードの表と裏の画像を表示するImageオブジェクトをそれぞれ設置。名前は以下の通り設定しました。

  • CardFront
  • CardBack

 

Feelのカード用スクリプトをコンポーネントに設定

Card_1のコンポーネントにFeelが用意しているカード用スクリプト「MM Two Sided UI」を追加する。このスクリプトによってスケールの値によって自動でカードの表面と裏面のオブジェクトを切り替えてくれます。

  • Bindingsの前方に「CardFront」、後方に「CardBack」オブジェクトを設定
  • Flip Axisは横回転する場合はXを、縦回転する場合はYを設定(Zを使う場面は良くわかっていません)
  • 裏面を表示する場合はScaleの値を-1に設定

 

演出(Feedback)を設定

Feedbackオブジェクトの作成

先ほど作成したCardオブジェクトの子に、空オブジェクト作成からFeedback用オブジェクトを作成します。

 

コンポーネントに追加

Feedback用オブジェクトのコンポーネントに「MMF Player」を追加します。

※直感的に「MM Feedbacks」と思ってしまいますが、こちらは過去のバージョンの物で現在は使用できないので注意

 

カードをめくる動作を実装

「add new feedback…」より「Transform」にある「Scale」を選択

インスペクターの「Scale」をクリックすると設定項目が表示されます。

「Feedback Setting」のLabelに任意の名前を入力できます。

以下の通りに設定します。私の設定は一例なので、いろいろと試してみてください。

  • Animate Scale Target(アニメーションするオブジェクト):Card_1オブジェクトを設定
  • Animate Scale Duration(アニメーションを実施する時間): 2秒で設定
  • Remap Curve Zero ※1:-1
  • Remap Curve One ※1:1
  • Animate X:チェック
  • Animate Scale Tween X:MM Tween、Liner Tween ※2
  • その他チェック無し

※1 よくわかってません。開始時の値と終了時の値だと思っているのですがあってますか?
※2 イージングについては後に別記事でまとめたい気持ちです。

 

動作の確認

設定したFeedbackがどのように動くかを確認します。

Unityのデバッグを再生し、Feedbackオブジェクトのインスペクターにある「Play」をクリックすると動作確認できます。

逆再生したい場合は「Change Direction」をクリックすると実行順序が逆になります。

 

Feedbackの設定で自動逆再生が可能

MMF Playerを設定したオブジェクトでインスペクターのMMF Player SettingsにあるDirectionより「Auto Change Direction On End」のチェックボックスをオンにすると、再生が終わった後に自動で逆再生に切り替わるようになります。

 

Change Directionを押さずにPlayだけで切り替わります

 

自分好みの動作にしよう

簡単にカードをひっくり返す処理だけを紹介しましたが、色々とFeedbackを追加して自分好みの演出を作りましょう。

基本的にFeedbacksの再生は、Pause処理まで同時に実行します。一つ一つ動作させたい時はPauseやHold Pauseを入れましょう。

ここでは、神経衰弱ゲームと同様に、一度カードを大きくしてからカードをめくる演出を実装してみました。

 

カードクリックでFeedbackを再生

カードをクリックして設定したFeedbackを再生できるようにします。

 

スクリプトの作成

スクリプトを作成し、以下のソースを記載します。クラス名は好きな名前にしてください。

// カードめくりFeedback
[SerializeField] MMF_Player Flip_Feedback;

/// カードをクリックしたときの処理
public void OnClickCard() {
    // Feedback再生
    Flip_Feedback.PlayFeedbacks();
}

 

コンポーネントにスクリプトを設定

Cardオブジェクトのコンポーネントに作成したスクリプトを追加し、Flip_Feedbackオブジェクトを設定する。

 

クリックイベントにスクリプトを設定

カードのButtonコンポーネントにあるOnClickに先ほどスクリプトで書いたメソッドを呼び出すように設定

 

動作確認

カードをクリックするとFeedbackが実行されるようになります。

 

まとめ

今回は、Unityアセット「Feel」についての紹介と、基本的な使い方について解説しました。

インスペクター上で設定するだけで、移動や大きさなどの演出ができるアセット「Feel」。動作だけでなく音声の再生やエフェクトの再生なども可能です。

スクリプトを書く量が減りゲーム制作の時短になるので、興味のある方はこの機会にFeelを購入して利用してみてはいかがでしょうか。定期的にセールしているので、安くなったタイミングで購入することをオススメします。

コメント

タイトルとURLをコピーしました