Skip to content

第03回 色と半透明の操作

前回: 第02回 パーティクル / 次回: 第04回 火花・ヒット

今回の授業内容

  • Alphaとブレンドモードの役割を理解する
  • Alpha Blend、Additive、Premultiplied Alphaを比較する
  • Rendererとパーティクル用マテリアルを設定する
  • 色、明るさ、透明度を用途に合わせて調整する
  • 同じParticle Systemから煙と火花を作り分ける

エフェクトの印象を決める要素:動きと色と質感

パーティクルエフェクトは 色や画像を乗せたポリゴンを動かす仕組みです

動きの印象を決めるのは 発生量、速度、サイズの変化などの動きの要素です

一方で、色や半透明の設定は 質感や見た目の印象を大きく左右します

今回は、色と半透明の設定を中心に学びます

半透明とブレンドモード:背景への重なり方を決める

Alpha Blend と Additive の比較

煙や霧、炎のような実体のない現象をエフェクトで表現するためには 背景を透かして表示する必要があります

パーティクルを描画する際に 半透明 の設定を 使えば、これらの表現が可能になります

半透明の設定には ブレンドモード という 描画方法の選択肢があります

用途に合わせた使い分けで、パーティクルを 濁らせたり光らせたりといった表現が可能です

アルファとは:透明度を表す数値

半透明な球体の表示例 1
半透明な球体の表示例 2

アルファ(α, A)は 0 から 1 の値で 透明度を表します 0 は完全に透明、1 は完全に不透明です

値を下げるほど薄く見え 背景が透けて見えるようになります

映像表現の世界ではアルファ値を透明度として RGBとセットのRGBAとして扱うのが一般的です

半透明と加算半透明:基本的な二つのブレンドモード

Alpha Blend

背景に馴染ませるように描画します 煙、砂埃、霧のような濁る表現に向いています

Additive

背景に色を足して明るく見せます 炎、火花のような発光表現に向いています

加算半透明は便利ですが:明るすぎるのも問題

Alpha Blend と Additive の白飛び比較
右が加算半透明の例 白くなりすぎているのがわかる

Additive は手軽に発光を表現できますが 光りかたの調節が難しい場合があります

発生量が多すぎたり、色が明るすぎたりすると 値が大きくなりすぎて背景の形が見えず 白飛びしやすくなります

色と発生量を抑えて調整する必要がありますが エフェクトの同時発生数はゲームの内容に よるため限界もあります

事前乗算アルファとは:アルファと色が掛け合わされた状態

Additive と Premultiplied Alpha の比較

アルファは画像の透明度を表す数値ですが RGBと乗算されるためにアルファが低いと 色が暗くなります

このため、表示のエッジ付近に暗い縁取りが できたり、意図した色が出ない場合があります

乗算済みアルファは、あらかじめ色が アルファと掛け合わされている状態を指します ビビッドな色を出すのに便利です

Particle System とマテリアル:自由にマテリアルを設定できます

Renderer にはパーティクル描画に用いる マテリアルを自由に設定することができます

URP では Universal Render Pipeline/Particles/Unlit のように パーティクル用のシェーダーがデフォルトで複数用意されています

自作のシェーダーを用意して適用すれば、エフェクトの表現力を大きく広げることができます

Unity の標準マテリアルを設定する:標準でも機能は十分

Particles Unlit マテリアルの Inspector

URP であれば標準で Universal Render Pipeline/Particles/Lit Universal Render Pipeline/Particles/Unlit などのパーティクル用のシェーダーが 用意されています

色やテクスチャー、ブレンドモードなどの設定に 対応しており、基本的なエフェクトの表現は 十分可能です

標準マテリアルの利用方法:おすすめの設定手順

  1. まずは用途に合った Shader を選ぶ 光の向きを考慮するなら Lit、常に同じ明るさでいいなら Unlit など
  2. Surface Type を選ぶ 不透明なら Opaque、透明なら Transparent
  3. ブレンドモード(ここでは Color Mode)を選ぶ 半透明なら Multiply 加算なら Additive など
  4. テクスチャー、色、アルファ値を調整
  • ※ Color Mode には他にも様々な選択肢があります ぜひ試してみてください

パーティクルエフェクトの調整手順:動きと見た目を同時に扱う

先に発生量や速度、サイズで大雑把な動きの印象を固めます

次に色と Alpha の変化を調整して色味をまとめます

ある程度の形が見えたら その後はパーティクル挙動と色味を反復的に調整します

エフェクトの調整は、動きだけでも色味だけでも完結しません
時間を使って、納得できるまで調整してみましょう

実習 1:煙と火花のエフェクトを作る

煙は半透明で、火花は加算半透明で 作成してみてください

煙と火花を作り分ける:ブレンドモードと色味だけでも別のエフェクトに

  1. 同じParticle Systemを2つ用意します
  2. 一方は Alpha Blend を使って煙にします
  3. もう一方は Additive を使って火花にします
  • 違いを確認できたら 個別に色味や発生量を調整してみてください
  • ワンショットとループを組み合わせて 複合的なエフェクトにしてみるのもおすすめです

ワンショットエフェクトのゲーム内実装:StopAction での自動破棄設定

Particle System の Stop Action Destroy 設定

Particle System のワンショットエフェクトは 発生後に自動で破棄されるように設定できます

Stop ActionDestroy に設定すれば エフェクトの寿命が尽きたときに自動でオブジェクトが破棄されます

つまり、後片付けのコードは必要ありません 接触時のエフェクトなど、短時間で完結する エフェクトの実装に便利です 活用してみてください

授業内課題

煙と火花のエフェクトを制作し、ブレンドモードによる見え方の違いを提出してください

完成条件

  • Alpha Blendを使った煙を制作している
  • Additiveを使った火花を制作している
  • ColorまたはColor over Lifetimeで色と透明度を調整している
  • 2種類の見た目を比較できるスクリーンショットまたは動画を提出する

今回のまとめ:色と半透明を用途に合わせて選択する

  • 半透明を使うと煙や火花のような実体のない現象を表現できます
  • ブレンドモードの使い分けで半透明の計算方法を選択できます Alpha Blend は実体感のある表現に向いています Additive は発光感のある表現に向いています
  • 標準のパーティクル用マテリアルを使えば 色やテクスチャー、ブレンドモードを簡単に調整できます