パーティクルとギミックを組み合わせて「水鉄砲」をつくってみよう

Cluster Creator Kitでつくることができる作例を紹介します!
今回はパーティクルとギミックを組み合わせて水鉄砲をつくってみましょう。

手で持てるアイテムをつくる

まず、手で持てるアイテムとして水鉄砲のモデルなどを設定していきます。

持てるアイテムとして設定する
  • Hierarchyを右クリック、または上部メニューのGameObjectからCreate Emptyで空のGameObjectを作成します。
    • 名前をWaterGunとしておいてください。
  • WaterGunのInspectorで、Add Componentから「Grabbable Item」コンポーネントを追加します。
見た目とコライダーを設定する
  • Hierarchy上のWaterGunを右クリックし、Create Emptyで「Models」という子オブジェクトを作成します。
  • 3DモデルのアセットをModelsにドラッグ&ドロップして、子オブジェクトとしてシーンに設置します。これが水鉄砲の見た目になります。
  • さらに、WaterGunに「Collider」という子オブジェクトを追加してください。ColliderのInspectorで、Add Componentから「Box Collider」コンポーネントを追加します。
    • Box Colliderの「Center」「Size」に値を入力するか、「Edit Collider」ボタンで編集モードに切り替えて緑色の枠で示されたコライダー範囲がモデルとだいたい合うようにします。このコライダー範囲がクリックして持つことができる範囲となります。
持つ場所を設定する

最後に持つ場所を設定します。

  • WaterGunの子に「Grip」という名前で新規GameObjectを作成し、WaterGunのGrabbable Itemコンポーネントの「Grip」の項目にGripをドラッグ&ドロップで指定します。
  • Sceneビュー左上のメニューでギズモ表示を「Local」に切り替えてから、Gripをシーン上で移動・回転して、持ち手の位置に移動します。また、Z軸方向(移動モードの青い矢印)が水鉄砲の正面に向くようにします。

ここまででいったん確認してみましょう。水鉄砲をクリックすると持つことができるようになっています。

飛び出す水のパーティクルをつくる

次に、飛び出す水のパーティクルをつくっていきます。

  • WaterGunの子に「Effects」という名前で新規GameObjectを作成します。
    • 位置は銃口の部分に移動してください。Gripと同様にZ軸が正面を向くようにしておきます。
  • Effectsを右クリックして、子オブジェクトに「Effects>Particle System」を作成し、Particle Systemの設定を以下のように変更します。
    • Start Lifetime = 1
    • Start Size  = 0.1
    • Gravity Modifier = 0.2
    • Simulation Space = World
    • Emission
      • Rate over Time = 0
    • Shape
      • チェックを付ける
      • ShapeはConeのまま
      • Angle = 5
      • Radius = 0.0001(最小値)
    • Trails
      • チェックを付ける
      • Die with Particlesのチェックを外す
    • Renderer
      • Render Mode = None
      • Trail Materialに「Default-Particle」を選択

※各パラメーターの意味は他の記事も参考にしてください。

Emission>Rate over Timeの値を0にしてあるため、このままではパーティクルが発生しません。
続いて、この値をAnimationで変化させることで、パーティクルが出たり止まったりするようにしていきます。

クリックするとパーティクルが出るようにする

パーティクルを出すアニメーションをつくる

  • Projectウインドウを右クリックして、Create>Animationで新規Animationを作成します。
  • 作成したAnimationファイルを、HierarchyのWaterGun>Effectsにドラッグ&ドロップしてください。
  • 上部メニューの「Window>Animation>Animation」からAnimationウインドウを開きます。
  • Effectsを選択した状態で、Animationウインドウの赤いボタンを押してRECモードにします。
    • RECモードに切り替わったら、Animationウインドウの白い縦線を「0」の位置にして、Particle Systemを選択してInspectorで「Emission>Rate over Time」の値を「30」に変更してください。
    • 同様に「60」の位置でRate over Timeを「0」に変更します。
    • ひし形のキーフレームが「0」と「60」の位置にそれぞれ作成されたことを確認して、RECモードを終了します。
  • これで、Animationが再生されると勢いよくパーティクルが発生し、1秒間かけて勢いが弱まっていくようになりました。

アニメーションの再生ギミックをつくる

続いてAnimationの再生を管理するAnimatorの設定をしていきます。

アニメーターの設定をする
  • 上部メニューの「Window>Animation>Animator」を選択してAnimatorウインドウを表示してください。
  • Hierarchy上のEffectsを選択し、AnimatorウインドウのParametersタブを開きます。
    • +ボタンから「Trigger」を選択して、パラメーターを追加します。パラメータ名は「Shot」としてください。
  • Animatorウインドウの何もないところを右クリックして「Create State>Empty」で新しいStateを作成してください。
    • その後、新しいStateを右クリックして「Set as Layer Default State」で「Entry」から新しいStateに矢印が向かうようにします。これで、初期状態ではAnimationが再生されないようになりました。
  • 次に、Animator上の「Any State」を右クリックして、「Make Transition」で先ほどつくったAnimationのStateに矢印が向かうようにします。
  • 矢印を選択してInspectorを確認し、「Conditions」の+ボタンを押して項目をひとつ追加します。選択欄が「Shot」になっていることを確認してください。
ギミックでアニメーターが動くようにする

最後に、アイテムの操作とAnimatorが連動するように設定します。

  • Hierarchy上のEffectsを選択してInspectorを確認し、Add Componentから「Set Animator Value Gimmick」を追加してください。
    • Targetを「Item」に変更し、追加されるItem欄に「WatarGun」をドラッグ&ドロップで指定します。
    • Keyは「Use」、Animator Parameter NameはAnimatorのパラメーター名と同じ「Shot」にしましょう。
  • WaterGunを選択し、Inspectorで「Use Item Trigger」を追加します。
    • Down Triggersの+ボタンでトリガーを追加し、Targetを「This」、Keyを「Use」、ValueをSignalとしてください。

これで水鉄砲の完成です。アップロードして確認してみましょう。
アイテムを持った状態でクリックするとパーティクルが発射されます。

モデルを変えてみたり、パーティクルの設定を変更するなど工夫してみましょう!

記事をシェアしてワールド制作を盛り上げよう!