お知らせ

アセットは別ページに分割しました。

関連ページ:

パーティクルシステム (Particle System)

公式サイト:

Built-in Particle System | Unity マニュアル [公式]

概要

参考:

パーティクルシステムとは何か? | Unity マニュアル [公式]

パーティクルシステム | Unity 2018.4 マニュアル [公式]

Particle Systems | Unity マニュアル [公式]

使い方

参考:

Unity のパーティクルシステムの詳細とサンプル | かめくめ

パーティクル徹底解説!基本的なモジュールの使用方法から応用例まで | XR-Hub

Unity のパーティクル Shuriken | マルペケつくろーどっとコム

パーティクルシステム (コンポーネント) | Unity マニュアル [公式]

パーティクルシステムの利用 | Unity 2018.4 マニュアル [公式]

導入

参考:

パーティクルを覚える | STYLY

パーティクル | KAYAC engineers’ blog

Unity のパーティクル Shuriken | マルペケつくろーどっとコム

基本

参考:

パーティクル徹底解説!基本的なモジュールの使用方法から応用例まで | XR-Hub

プレビュー

参考:

Particle System のプレビュー再生で使用できるショートカットキー | コガネブログ

エディター

Particle System を持つゲームオブジェクトを選択してインスペクター上で「Open Editor…」ボタンを押すと、別ウィンドウでエディターを開いて複数のシステムを同時に編集できる。

参考:

Unity のパーティクルエディタ | テラシュールブログ

モジュール

  • メインモジュールパーティクルシステム全体のプロパティーを設定する。
  • 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 ForcesWind 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

参考:

パーティクルの大きさを Scale で調整する | kan のメモ帳

Scaling Mode | Unity 2019.4 マニュアル [Official]

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

参考:

パーティクルの Size | albatrus.com

Pivot

参考:

ParticleSystemRenderer.pivot | Unity Scripting API [Official]

Unity の ParticleSystem でパーティクルの拡大の仕方を変えたい- 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)

参考:

MainModule の duration 動的変更方法 | yshystsj.com

ParticleSystem.duration の Unity 5.5 以降の対応 | ロードバイク時々ものづくり

ParticleSystem.MainModule.duration | Unity スクリプトリファレンス [公式]

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

頂点ストリーム

参考:

Particle System の Custom Vertex Streams と Custom Data の使い方まとめ | LIGHT11

使用する TEXCOORD をマテリアルから指定できるようにする | LIGHT11

Custom Vertex Streams | ゴイサギ日記

頂点ストリームとスタンダードシェーダーサポート|  Unity マニュアル [公式]

Particle System’s Renderer complains about Vertex Streams not matching when the Shader doesn’t require it | Unity Issue Tracker [Official]

描画順

参考:

Sprite の描画順をコントロールする方法 | 最強のエフェクトデザイナーになるブログ

2D のエフェクトを前面に表示する | kan のメモ帳

パーティクルが 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 モジュール

参考:

ParticleSystem で連番テクスチャを扱う – Qiita

ParticleSystem で連番アニメーションをする方法 | LIGHT11

パーティクルに複数の種類のテクスチャを使う | おもちゃラボ

Texture Sheet Animation モジュール | Unity マニュアル [公式]

Lights モジュール

参考:

パーティクルシステムの粒子を発光させる Lights モジュールを使う | テラシュールブログ

Lights モジュール | Unity マニュアル [公式]

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 マニュアル [公式]

スタンダードシェーダー

参考:

物理シェーダーベースのパーティクル向けシェーダー、Standard Particle Shader | テラシュールブログ

パーティクルを重ねて光らせる加算モードで描画するには? | ぺんごや

パーティクルのスタンダードシェーダー | Unity マニュアル [公式]

ソフトパーティクル (Soft Particles)

参考:

Soft Particle を使って、ポリゴンとパーティクルの交差点がハッキリ見えないようにする | テラシュールブログ

Unity のソフトパーティクルのシェーダについて調べてみた | 凹みTips

深度値を使ったソフトパーティクルのシェーダを書く | LIGHT11

Shader Graph でソフトパーティクルシェーダーを作成する | 武0武/blog

Universal Render Pipeline でパーティクルが表示されない場合の対処法 – Qiita

a very weird bug. URP particles shader problem – Unity Forum

Unwanted hard edges when depth blending particles – Unity Forum

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

停止する

参考:

一定時間後にオブジェクトのパーティクルのみを消去する – Yahoo! 知恵袋

ParticleSystem.Stop | Unity スクリプトリファレンス [公式]

一時停止する

参考:

パーティクルのクリアは行わずパーティクルの生成を停止させる方法 | テラシュールブログ

期限が来てもすぐに消滅しないパーティクル | テラシュールブログ

ParticleSystem.Pause | Unity スクリプトリファレンス [公式]

ParticleSystem.Stop | Unity スクリプトリファレンス [公式]

ParticleSystemStopBehavior.StopEmitting | Unity スクリプトリファレンス [公式]

ParticleSystem.Play | Unity スクリプトリファレンス [公式]

ParticleSystem.isEmitting | Unity スクリプトリファレンス [公式]

一時停止の方法について – Yahoo! 知恵袋

炎エフェクトを作成する

参考:

Unity のシェーダーと ParticleSystem を利用した炎エフェクトの作り方 | STYLY

湯気エフェクトを作成する

参考:

パーティクルシステムを使って湯気を作る方法 | STYLY

花火エフェクトを作成する

参考:

パーティクルシステムを使用してARの花火を作成してみた | XR-Hub

集中線を表現する

参考:

Particle Systemを使って集中線を表示する | Akey 備忘録

シェーダーを作成する

参考:

Particle System で利用する Shader を作る – Qiita

ParticleSystem

参考:

UnityEngine.ParticleSystem | Unity スクリプトリファレンス [公式]

OnParticleCollision

参考:

パーティクルに当たり判定を実装する – Qiita

MonoBehaviour.OnParticleCollision | Unity スクリプトリファレンス [公式]

ParticlePhysicsExtensions.GetCollisionEvents | Unity スクリプトリファレンス [公式]

ParticleSystem.CollisionModule.sendCollisionMessages | Unity スクリプトリファレンス [公式]

particle collision with cube – Unity Forum

OnCollisionEnter / OnTriggerEnter

参考:

turn particle effect on, on collision – Unity Forum

position of particle system isn’t attached to object – Stack Overflow

GetParticles

参考:

Particle の粒子を一つだけ出してそのポジションを取得する方法 – Qiita

パーティクルの一つ一つ粒子の位置や速度の取得方法 | kan のメモ帳

再生中のパーティクルの位置を取得する | KAZUPON 研究室

スクリプトからパーティクルを操作する | 武0武 blog

ParticleSystem.GetParticles | Unity スクリプトリファレンス [公式]

Tips

参考:

パーティクルに関するエフェクト小技集まとめ | CGメソッド

ParticleSystem のややこしいところまとめ – Qiita

チュートリアル

How to Make Fireflies in Unity

Beam Shader

リポジトリ:

tomotaco/ParticleSystemBeamShaderDemo: 射線軸から見ても破綻しないビームを Unity の Particle System でやってみたサンプルプロジェクト – GitHub

参考:

Particle System で射線軸から見ても破綻しないビームを撃ちまくる – Qiita

VFX Tool Box

リポジトリ:

rngtm/Unity-VFXToolBox: Tools for Unity VFX – GitHub

Mass Particle / Batch Renderer

動画:

MassParticle

リポジトリ:

i-saint/MassParticle – GitHub

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

Pseudo-Instanced Drawing in Unity | primitive blog

記事をシェアする:
タグ:

コメントを残す

メールアドレスが公開されることはありません。

Protected by reCAPTCHA