イラスト、モデリング、Unity、VR関連

unityとかblenderとかvr関連の作業メモ

Unity パーティクルについて

++パーティクル入門

このあたりの記事が分かりやすかった

Unityのパーティクルシステムの詳細とサンプル | Unityを使った3Dゲームの作り方(かめくめ)

Unityのパーティクルの粒子1つ1つの衝突をスクリプトで検知する | Unityを使った3Dゲームの作り方(かめくめ)

Unityパーティクル初心者の遊び(11) すぐ再現できる電撃エフェクト - LemonteaのUnity部屋

Unity4のパーティクルシステム(Particle)を1日で自在に操るコツ!【後編】 - Unity不定期便

Collision モジュール - Unity マニュアル

 

 サンプル集ー

Unity Particle Pack 5.x - Asset Store

 

パーティクルはUnityのデフォルトのパーティクルのパラメータを一つずつ説明を読みつつ、実際に変更してどのように変化するか試して、大体のパラメータを把握した後に、作り方の書かれてるエフェクトを真似して作っていくのが勉強しやすいのではないかと思う。

アセットストアにあるエフェクトは独自のテクスチャを使ってたり、ほぼアニメーションだったり、多数のパーティクルから構成していたりと初心者がいきなり見ても混乱するので、ある程度慣れてから見るのがいいと思う。

 

++必要がなくてもemitterのburstsで放出するべし

あとでSubEmitterのdeathトリガー等で出したくなった場合、数が多ければ修正が非常に面倒なことになる。なので、必要なくともemitterのburtstsで放出しておくべきである

 

++SubEmitter

パーティクル放出後、各パーティクルからbirth,collision,deathの三種のトリガーで、別のパーティクルを放出することが出来る。

birthは放出と同時に、collisionは衝突時に、deathはパーティクルが消滅したタイミングで放出される。

birthはパーティクルをセットするだけで作用するが、collision,deathはSubEmitterによって放出されるパーティクルのEmittionモジュールにてBurstを設定しておく必要がある

 

++

velocity over lifetimeをlocalで使う場合、simulation spaceをworldにしていても、そのパーティクル・システムの回転方向が放出されるパーティクルに影響されるっぽい

 

++チップス

Unity パーティクルシステム Shuriken 個人的に役に立った小技集

 

 ++パーティクルのサイズ変更

パーティクルの大きさをScaleで調整する【Unity】 - (:3[kanのメモ帳]

scaling modeをlocal か hierarchyにする。hierarchyなら親オブジェクトのサイズの影響を受ける

 

++パーティクルを光らせる

 

Lightsモジュールを使用する

f:id:arumogina:20190310044228p:plain

Lightsモジュールを使ってもイマイチ光らない場合はマテリアルが暗いのだと思われる。StandardAssetsのParticleAfterBaner等を使うといい感じで光る

 =>というか、lightsモジュールって光を放出するだけでパーティクル自体の輝度は変わらないのでは?

 

++collisionをオンにしたとき、パーティクルが途中で消えてしまう場合

当たり判定が大き過ぎるのが原因の可能性。VisualizeBoundsにチェックを入れれば判定を視認出来る。Radius Scaleで判定の範囲を限定

f:id:arumogina:20190312033123p:plain

 

++パーティクルの枠を消す

gizmos=>selection outlineのチェックを外す

Unity パーティクルシステム Shuriken 個人的に役に立った小技集

 

++コリジョン

当たり判定を有効にするにはCollisionモジュールをオンにする。

衝突時にパーティクルを消したければ、ligetime lossを1にする。

別のパーティクルを表示したければ、SubEmitterにCollision設定でパーティクルを設定する。SubEmitterを使う場合、Birth以外の場合はSubEmitterで出すパーティクルをEmision=>Burstsで出す必要がある。

 

f:id:arumogina:20190319110900p:plain

 

++スクリプトから操作する場合

unity パーティクルをスクリプトから弄る場合 - イラスト、モデリング、Unity、VR関連

 

++教訓

Unityのパーティクルはエフェクトであってメッシュと同じように扱うことはできない。例えば、当たり判定では、triggerだと衝突先オブジェクトを取得出来ないなど致命的な欠点などがある