第03回 色と半透明の操作
前回: 第02回 パーティクル / 次回: 第04回 火花・ヒット
今回の授業内容
- Alphaとブレンドモードを使い、背景への重なり方を選ぶ
- 粒子の動きを固定し、Materialの設定だけを変えて比較する
- 寿命に沿って色と透明度を変え、消え方を調整する
開始状態
同じURPプロジェクトでLesson03.unityを作ります。第02回のSceneを別名保存しても構いません。以前の粒子は無効にし、新しいParticle Systemを一つ作ってBlendComparisonと名付け、Position・Rotationを(0, 0, 0)、Scaleを(1, 1, 1)にします。第01回と同じカメラ位置を使います。
比較用の粒子は、LoopingをOn、Start Lifetimeを2、Start Speedを0、Start Sizeを1、Rate over Timeを2にします。Burstは空、ShapeはSphere、Radiusは0.5、Start Colorは白でAlphaを0.5にします。粒子を動かさず、同じ場所で重なる状態にします。
Alphaと背景への合成
Alpha BlendとAdditiveによる重なり方の比較
Alphaは、通常の半透明合成で不透明さを表す0〜1の係数です。0では背景だけが見え、1では粒子の色が背景を覆います。0.5なら粒子の色と背景の色が半分ずつ混ざります。RGBは色、AはAlphaで、まとめてRGBAと呼びます。


半透明は粒子だけの仕組みではありません。球体の例でも、手前の色を通して背景が見え、重なる部分では見え方が変わります。粒子では、この重なりが発生数や大きさによって変化します。
背景へ色をどのように合成するかを、ブレンドモード(Blending Mode)で選びます。
| Blending Mode | 背景との関係 | 表現の例 |
|---|---|---|
| Alpha | Alphaに応じて粒子の色と背景の色を混ぜる | 煙、砂埃、霧 |
| Additive | 背景へ色を加えて明るくする | 火花、光、魔法 |
Additiveで重なった部分を明るく見せることと、周囲の物体をライトで照らすことは別です。明るさを強める前に、背景や粒の輪郭が読めるか確かめます。
Particle用Materialの作成
Materialは、使用するShaderと色・画像などの設定を保存するアセットです。Shaderが描画方法を決め、Particle SystemのRendererへMaterialを割り当てて使用します。
URPには標準でUniversal Render Pipeline/Particles/LitとUniversal Render Pipeline/Particles/Unlitなどが用意されています。Litは照明を受けた見え方、Unlitは照明によらない見え方を作るための選択肢です。どちらでも、画像・色・半透明の設定を用途に合わせて選びます。
- Projectの
MaterialsでCreate > Materialを選び、ParticleAlphaを作ります。 - Shaderを
Universal Render Pipeline/Particles/Unlitにします。今回は照明の違いを混ぜずに比較するため、Unlitを使います。 Surface TypeをTransparentにし、表示されるBlending ModeをAlphaにします。Color ModeをMultiplyにします。これは粒子色とMaterial色を掛ける設定です。背景との半透明合成を指定する項目ではありません。- Base Mapの色を白、Alphaを1にします。画像がなければ未設定の白い四角で比較できます。
BlendComparisonのRendererを開き、MaterialへParticleAlphaを割り当てます。
Particles Unlitの初期状態。Surface TypeをTransparentへ変更するとBlending Modeが現れる
Color Mode: Multiplyでは、粒子のStart Color、Material色、Textureの色が組み合わさります。比較の開始時にMaterialを白にすると、粒子側で変えた色を追いやすくなります。Inspectorの項目名と役割はUnityのParticles Unlit資料でも確認できます。
同じ粒子でAlphaとAdditiveを比較する
比較前にMainのAuto Random Seedを無効にし、Random Seedへ1を設定します。再生し直したときの粒子配置もそろえるためです。
ParticleAlphaを複製してParticleAdditiveを作り、Blending ModeだけをAdditiveへ変えます。BlendComparisonをPlay Modeで3秒ほど再生し、Alphaでの重なりを記録します。- Play Modeを終了してRendererのMaterialを
ParticleAdditiveへ変更し、同じ時間で再生します。 - 背景が暗い場所と明るい場所で、粒の重なった部分がどう変わるか観察します。必要ならカメラの背景を変えますが、両Materialに同じ背景を使います。
- 比較後は
ParticleAlphaへ戻し、カメラの背景も比較前へ戻します。
通常のAlpha合成でAlpha0.5の粒が2枚重なると、背景が残る割合は0.5 × 0.5 = 0.25です。Alphaを足して1にする計算ではありません。Additiveでは同じ式にならないため、実際の明るさと輪郭を見て判断します。
Additiveで重なりが白く潰れる比較例
白く潰れたときは、色の明るさ、粒子数、サイズを同時に変えず、一項目ずつ下げて比較します。原因を確かめたら直前の値へ戻し、採用する調整を選びます。
寿命に沿った色と透明度の変更
Color over Lifetimeは、生まれてから寿命を迎えるまでの色を変えます。横軸0が発生時、1が寿命の終わりです。Gradientの下側のキーは色、上側のキーはAlphaを指定します。
BlendComparisonのColor over Lifetimeを有効にし、Gradientを開きます。- 色のキーは両端とも白にします。Alphaのキーは位置0で0、0.2で1、1で0にします。
- 再生し、急に四角が現れる表示と、薄く現れて消える表示の違いを確認します。
- 最初のAlphaを1へ変えた結果を予想して試し、確認後は0へ戻します。
この設定はStart Colorなどと組み合わさります。Start ColorのAlphaが0.5なら、Gradient側を1にしても、その段階のAlphaは0.5です。見えなくなった場合は、各段階で0を掛けていないか順に確認します。
煙と火花への応用
まずBlendComparisonを無効にし、第02回のLoopParticlesまたはOneShotをSceneへ配置します。前回の成果物がない場合は、第02回の基本設定で作成できます。
煙はParticleAlphaを使い、Start Colorを灰色にします。寿命を2秒、初速を0.3程度から試し、Color over Lifetimeで最後のAlphaを0にします。火花はParticleAdditiveを使い、黄色などの色と短い寿命を選びます。煙と火花の設定は一項目ずつ変え、Materialの違いと動きの違いを区別して記録してください。
同じParticle Systemから始めても、背景との合成方法と色を変えることで異なる質感を作れます。その違いが確認できたら、煙と火花を重ね、ワンショットとループの組み合わせも試してください。先に発生量・速度・サイズで大まかな動きを決め、次に色とAlphaを調整し、必要に応じて動きへ戻る順序で整えます。
ワンショットの自動破棄
単独のワンショットParticle Systemを再生後に削除する場合は、LoopingをOff、Stop ActionをDestroyにします。削除はPlay Modeで確認します。複数の子を持つ親全体の終了は、第04回で扱います。
Particle SystemのStop ActionをDestroyにする設定
発生を終え、残っている粒子も消えた後で、対象のGameObjectが破棄されます。比較を繰り返すSceneではNoneに戻しておき、再生後に片付けたい単発の用途でDestroyを選びます。
Premultiplied Alphaの補足
Premultiplied Alpha(事前乗算アルファ)は、RGBとAlphaの掛け算をどの段階で行うかに関係します。素材が持つ色の形式と合成方法を組にして扱う必要があります。「鮮やかになる設定」として一律に選ぶものではありません。この回の基本比較ではAlphaとAdditiveを使い、Premultiplyを試す場合は輪郭と背景との境界を同じ条件で見比べます。
AdditiveとPremultiplied Alphaの見え方の比較
事前乗算ではRGBにAlphaを掛けた色を扱います。画像の色の形式とブレンド方法が合っていないと、境界が暗くなるなど意図しない結果が出ます。設定名だけで判断せず、画像の縁と、粒子同士が重なる部分を確認します。
授業内課題と完成条件
煙と火花を一つずつ作り、画像または動画と比較の説明を提出します。素材画像を使う場合は、利用条件を確認し、出典も記録します。形の作り込みより、合成方法と消え方を説明できることを優先します。
- Alphaの煙とAdditiveの火花を確認できる
- Blending ModeとColor Modeの役割を区別できる
- Color over Lifetimeで寿命の終わりに消える
- 動きを固定したMaterial比較と、応用後の調整意図を説明できる
Play Modeを終了して採用設定を保存します。SceneをLesson03.unity、作った煙と火花を別名のPrefabとして残してください。次回は短い火花にフラッシュを組み合わせ、命中の瞬間を作ります。