次の項目は別ページに分割しました。
関連ページ:
パーティクルシステム
公式サイト:
組み込みパーティクルシステム | Unity マニュアル [公式]
概要
ドキュメント:
パーティクルシステムソリューションの選択 | Unity マニュアル [公式]
使い方
ドキュメント:
組み込みパーティクルシステムの使用 | Unity マニュアル [公式]
パーティクルシステム – コンポーネント | Unity マニュアル [公式]
参考:
パーティクル徹底解説!基本的なモジュールの使用方法から応用例まで | XR-Hub
Shuriken パーティクル | マルペケつくろーどっとコム
導入
参考:
パーティクル | KAYAC engineers’ blog
Shuriken パーティクル | マルペケつくろーどっとコム
基本
参考:
パーティクル徹底解説!基本的なモジュールの使用方法から応用例まで | XR-Hub
プレビュー
参考:
Particle System のプレビュー再生で使用できるショートカットキー | コガネブログ
エディター
Particle System を持つゲームオブジェクトを選択してインスペクター上で「Open Editor…」ボタンを押すと、別ウィンドウでエディターを開いて複数のシステムを同時に編集できる。
参考:
モジュール
- メインモジュール:パーティクルシステム全体のプロパティーを設定する。
- Emission:パーティクル生成の頻度とタイミングを指定する。
- Shape:エミッターの形状や位置・回転・拡大縮小、放出パターンを指定する。
- Velocity over Lifetime:パーティクル生存中の速度を制御する。
- Noise:パーティクルの動きに乱気流ノイズを加える。
- Limit Velocity over Lifetime:パーティクルの速度を生存期間中に渡って減衰させる。
- Inherit Velocity:エミッターの移動を生成したパーティクルに影響させる。
- Force over Lifetime:パーティクルに一定の力を加える。
- Color over Lifetime:パーティクルの色及び透明度を生存期間中に渡って変化させる。
- Color by Speed:パーティクルの速さに応じて色を変化させる。
- Size over Lifetime:パーティクルの大きさを生存期間中に渡って変化させる。
- Size by Speed:パーティクルの速さに応じて大きさを変化させる。
- Rotation over Lifetime:パーティクルの生存期間中に渡って回転させる。
- Rotation by Speed:パーティクルの速さに応じて回転させる。
- External Forces:Wind Zone 及び Force Fields の影響度を指定する。
- Collision:ゲームオブジェクトとの衝突による振る舞いを指定する。
- Triggers:コライダーにより発生するイベントに対する振る舞いを指定する。
- Sub Emitters:下位のエミッターを設定する。
- Texture Sheet Animation:タイルに区切られたテクスチャをフレームとして再生する。
- Lights:指定した割合でパーティクルにライトを追加する。
- Trails:パーティクルにトレイルを生じさせる。
- Custom Data:シェーダーに渡すカスタムデータを定義する。
- Renderer:画像あるいはメッシュの描画を設定する。
ドキュメント:
パーティクルシステムモジュール | Unity マニュアル [公式]
メインモジュール (MainModule)
- Duration
- Looping
- Prewarm
- Start Delay
- Start Lifetime
- Start Speed
- 3D Start Size
- Start Size
- 3D Start Rotation
- Start Rotation
- Flip Rotation
- Start Color
- Gravity Modifier
- Simulation Space
- Simulation Speed
- Delta Time
- Scaling Mode
- Play on Awake
- Emitter Velocity
- Max Particles
- Auto Random Seed
- Random Seed
- Stop Action
- Disable
- Destroy
- Callback
- Culling Mode
- Automatic
- Pause and Catch-up
- Pause
- Always Simulate
- Ring Buffer Mode
- Disabled
- Pause Until Replaced
- Loop Until Replaced
ドキュメント:
Particle System メインモジュール | Unity マニュアル [公式]
ParticleSystem.MainModule | Unity Scripting API [Official]
参考:
Unity 5.5 obsolete particle system code – Stack Overflow
Scaling Mode
ドキュメント:
Scaling Mode | Unity 2019.4 マニュアル [Official]
参考:
パーティクルの大きさを Scale で調整する | kan のメモ帳
How to scale particle system? – Unity Forum
Individual particles get scaled when using Mesh Renderer shape? – Unity Forum
How to resize Shuriken particle emitter on a mesh? – Unity Answers
Size
- Start Size
- Size over Lifetime
- Max Particle Size
参考:
Pivot
ドキュメント:
ParticleSystemRenderer.pivot | Unity Scripting API [Official]
参考:
Particle System でパーティクルの拡大の仕方を変えたい- teratail
duration
パーティクルシステムの実行時間を取得する。
m_ParticleSystem = GetComponent<ParticleSystem>();
float duration = m_ParticleSystem.main.duration;
Code language: C# (cs)
パーティクルシステムの実行時間を設定する。
m_ParticleSystem = GetComponent<ParticleSystem>();
m_ParticleSystem.main.duration = 2.0f;
Code language: C# (cs)
ドキュメント:
ParticleSystem.MainModule.duration | Unity スクリプトリファレンス [公式]
参考:
MainModule の duration 動的変更方法 | yshystsj.com
ParticleSystem.duration の Unity 5.5 以降の対応 | ロードバイク時々ものづくり
why is particle system duration read only? – Unity Answers
startLifetime
参考:
Unity 5.5 obsolete particle system code – Stack Overflow
startColor
参考:
Particle の startColor をスクリプトで変更する | tanaka’s Programming Memo
描画順
参考:
Sprite の描画順をコントロールする方法 | 最強のエフェクトデザイナーになるブログ
パーティクルが sprite の後ろ側に描画される | 196Log
Shape モジュール
- Shape
- Sphere
- Hemi Sphere
- Cone
- Box
- Mesh
- Mesh Renderer
- Skinned Mesh Renderer
- Sprite
- Sprite Renderer
- Circle
- Edge
- Donut
- Rectangle
- Radius
- Radius Thickness
- Texture
- Clip Channel
- Clip Threshold
- Color Affects Particles
- Alpha Affects Particles
- Bilinear Filtering
- Position X / Y / Z
- Rotation X / Y / Z
- Scale X / Y / Z
- Align to Direction
- Randomize Direction
- Spherize Direction
- Randomize Position
ドキュメント:
Shape モジュール | Unity マニュアル [公式]
Texture Sheet Animation モジュール
ドキュメント:
Texture Sheet Animation モジュール | Unity マニュアル [公式]
参考:
ParticleSystem で連番テクスチャを扱う – Qiita
ParticleSystem で連番アニメーションをする方法 | LIGHT11
パーティクルに複数の種類のテクスチャを使う | おもちゃラボ
Lights モジュール
ドキュメント:
Lights モジュール | Unity マニュアル [公式]
参考:
パーティクルシステムの粒子を発光させる Lights モジュールを使う | テラシュールブログ
Renderer モジュール
- Render Mode
- Normal Direction
- Material
- Sort Mode
- Sorting Fudge
- Min Particle Size
- Max Particle Size
- Render Alignment
- Enable Mesh GPU Instancing
- Flip
- Allow Roll
- Pivot
- Visualize Pivot
- Masking
- Apply Active Color Space
- Custom Vertex Streams
- Cast Shadows
- Receive Shadows
- Shadow Bias
- Motion Vectors
- Sorting Layer ID
- Order in Layer
- Light Probes
- Reflection Probes
- Anchor Override
ドキュメント:
Renderer モジュール | Unity マニュアル [公式]
Force Field
ドキュメント:
Particle System Force Field | Unity 2018.4 マニュアル [公式]
メッシュ (Mesh)
参考:
コリジョン (Collision)
ドキュメント:
Collision モジュール | Unity 2020.3 マニュアル [公式]
UnityEngine.CollisionModule | Unity スクリプトリファレンス [公式]
ParticleSystem.collision | Unity スクリプトリファレンス [公式]
参考:
particle collision – Unity Forum
自動的に生成を開始する
ドキュメント:
ParticleSystem.MainModule.playOnAwake | Unity スクリプトリファレンス [公式]
参考:
Play On Awake の切り替え – teratail
停止する
ドキュメント:
ParticleSystem.Stop | Unity スクリプトリファレンス [公式]
参考:
一定時間後にオブジェクトのパーティクルのみを消去する – Yahoo! 知恵袋
一時停止する
ドキュメント:
ParticleSystem.Pause | Unity スクリプトリファレンス [公式]
ParticleSystem.Stop | Unity スクリプトリファレンス [公式]
ParticleSystemStopBehavior.StopEmitting | Unity スクリプトリファレンス [公式]
ParticleSystem.Play | Unity スクリプトリファレンス [公式]
ParticleSystem.isEmitting | Unity スクリプトリファレンス [公式]
参考:
パーティクルのクリアは行わずパーティクルの生成を停止させる方法 | テラシュールブログ
期限が来てもすぐに消滅しないパーティクル | テラシュールブログ
炎エフェクトを作成する
参考:
シェーダーと ParticleSystem を利用した炎エフェクトの作り方 | STYLY
湯気エフェクトを作成する
参考:
花火エフェクトを作成する
参考:
パーティクルシステムを使用してARの花火を作成してみた | XR-Hub
集中線を表現する
参考:
Particle Systemを使って集中線を表示する | Akey 備忘録
ParticleSystem
ドキュメント:
UnityEngine.ParticleSystem | Unity スクリプトリファレンス [公式]
OnParticleCollision
ドキュメント:
MonoBehaviour.OnParticleCollision | Unity スクリプトリファレンス [公式]
ParticlePhysicsExtensions.GetCollisionEvents | Unity スクリプトリファレンス [公式]
ParticleSystem.CollisionModule.sendCollisionMessages | Unity スクリプトリファレンス [公式]
参考:
particle collision with cube – Unity Forum
How to check if a collider overlaps with sphere? – Unity Forum
OnCollisionEnter / OnTriggerEnter
参考:
turn particle effect on, on collision – Unity Forum
position of particle system isn’t attached to object – Stack Overflow
GetParticles
ドキュメント:
ParticleSystem.GetParticles | Unity スクリプトリファレンス [公式]
参考:
Particle の粒子を一つだけ出してそのポジションを取得する方法 – Qiita
パーティクルの一つ一つ粒子の位置や速度の取得方法 | kan のメモ帳
再生中のパーティクルの位置を取得する | KAZUPON 研究室
Tips
パーティクルに関するエフェクト小技集まとめ | CGメソッド
Particle System のややこしいところまとめ – Qiita
チュートリアル
How to Make Fireflies in Unity
VFX Tool Box
リポジトリ:
rngtm/Unity-VFXToolBox: Tools for Unity VFX – GitHub
Mass Particle / Batch Renderer
動画:
リポジトリ:
i-saint/BatchRenderer – GitHub
デモ:
Demo – Batch Renderer | primitive
参考:
Unite 2015 Tokyo | primitive blog
Introdunction to SIMD Programming | primitive blog
Render Massive Amount of Cubes in Unity | primitive blog
Render Massive Amount of Cubes in Unity その2 | primitive blog