【Unity】パーティクルでアトラス素材を飛ばす方法【Particle System】

3DCG
スポンサーリンク

はじめに

今回は、UnityのParticleでアトラス素材を飛ばす方法を解説します。
アトラス素材=1枚の画像を分割して描かれた素材です。
ここでは4×4のアトラス素材を使います。

実験用の透過.pngを用意しました。
↓ご自由にお使いください。

↑の画像… ブログの圧縮の関係で…
px数が860×860pxという微妙な数になってます。><

Unityの基本操作や、アトラス素材の作成ができることを前提に進めます。
こちらの動画、私が昔作ったParticleのUdemy講座、下記の記事などをご覧ください。

パーティクルに画像を割り当てる

まずパーティクルを作り、画像を割り当てます。

パーティクル作成

Unityを立ち上げ。
Hierarchyの何もない所を右クリック。
Effects → 「Particle System」を選択。

すると、パーティクルが出てきます。

次に、Gizmos → 「Selection Outline」を選択。
これでオレンジのフチを消します。

以上でパーティクル作成が完了です。

画像素材の読み込み

Projectにアトラス素材をドラッグ&ドロップ。
※画像の白く表示されてる箇所は透過してます。

そして、Projectに生成された画像をクリックで選択。

Inspectorを確認。
下図のように設定。(細かい所は変えてokです)

テクスチャーのInspector設定は、こちらを参考にしてください。

以上で、画像素材の読み込みが完了です。

画像を割り当てる

画像をパーティクルに割り当てるための受け皿を作ります。
この受け皿を「マテリアル」と呼びます。

Projectの何もない所を右クリック。
Create → Materialを選択。

生成されたマテリアルを、Sceneのパーティクルにドラッグ&ドロップ。

そして、マテリアルを選択。

Inspectorを確認。
任意のシェーダーを選択。(表示方法)
ここでは、VRChat → Mobile → Particles → Alpha Blendedを選択しました。

このシェーダーはVRChat SDKを入れると入手できます。
VRChatユーザーでない方は…
Mobile → Particles → Alpha Blendedで大丈夫です。

Particle Textureを確認。
画像を刺せるところに、Projectから画像素材をドラッグ&ドロップ。

これで… 4×4の素材が”そのまま”表示されます。

以上がパーティクルに画像を割り当てる処理です。

表示される画像を調整する

パーティクルの設定を触り、画像表示のされ方を調整します。

Particle Systemの場所について

パーティクルの編集は「Particle System」で行います。
Hierarchyから、制作したパーティクルをクリックで選択。

Inspectorを確認。
Particle Systemの中に、Particle Systemがあります。
ここでパーティクルの挙動を変えれます。

アトラス素材関係は「Texture Sheet Animation」で設定できます。
左側の白い四角をクリック。
チェックを入れて有効化します。

以上が、編集する場所の説明です。

画面の文字を大きくする

Particle Systemはやや文字が小さいです。
そこで、必要な方は画面の文字を大きくします。

Edit → Preferences…を選択。

UI Scaling → Use custom scaling valueを125%に設定。

Unityを再起動。
すると、画面の文字が大きくなります。

以上が、画面の文字を大きくする方法です。

1~16の順に表示する

Particle System → Texture Sheet Animationを開きます。
Tilesの値を 「X = 4 , Y = 4」に設定。

ここの値は、用意した素材に合わせて変えてください。

すると、1~16の順で表示されます。

このような挙動です。

何もしなければこの順番で表示されます。

以上が、1~16の順に表示する方法です。

途中で切り換えないようにする

表示順は「Freme over Time」で制御されてます。

これを編集するために、画面下部の「Paarticles System Curves」をクリック。
画面上方向にドラッグ&ドロップ。
カーブを表示させます。

このカーブの右側を選択。
画面右下の限界まで移動。
0の値で一直線の状態にします。

これで、素材が切り替わらなくなりました。
表示されるものは、0をカウントするので「1」の画像が表示されます。

以上が、途中で切り替わらなくする方法です。

指定したマスだけ表示する

表示マスの指定は、Start Frameで設定できます。
例として、「5」に設定。

0をカウントするので、「6」マス目の画像が表示されます。

Start Frameを15にすると、最後のマス「16」が表示されます。

0を1とカウントすることだけ、注意してください。
以上が、指定したマスだけ表示する方法です。

指定した範囲のマスだけ表示する

Start Frame横の▼をクリック。
「Random Between Tow Constants」を選択。

ここで、表示させたい範囲を指定。
※0を1とカウントするので注意。

すると、途中で切り替わる事無く、設定した範囲の画像をランダムで表示できます。

以上が、指定した範囲のマスだけ表示する方法です。

複数の表示方法を組み合わせる

Hierarchyでパーティクルを複製します。(選択 → Ctrl+D)
あとは、それぞれのInspector設定を変えます。

これで、複数の表示方法を組み合わせることができます。
以上が、Unityのパーティクルでアトラス素材を飛ばす方法です。

まとめ

今回は、Unityのパーティクルでアトラス素材を飛ばす方法を紹介しました。

・アトラス素材は、1枚の画像を分割して描かれた素材
・素材の表示方法は「Texture Sheet Animation」で設定可能
・画面分割数は「Tiles」で設定
・途中での切り替わりは「Frame over Time」で設定
・どの素材を表示するかは「Start Frame」で設定

また、他にもUnityについて解説してます。

ぜひ、こちらもご覧ください。

コメント

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