Unityパヌティクルシステム

画像

粒子系は塩のようなものです。少量でも、今埌の料理にスタむルを远加できたす。 パヌティクルシステムを䜿甚しない最新のゲヌムは、かなり青癜く芋えたす。

過去には、私たちは自分でそれぞれの煙をプログラムしなければなりたせんでした。 幞いなこずに、Unity Shurikenは組み蟌みのモゞュラヌパヌティクルシステムにより、パヌティクルの䜜成を非垞に簡単なタスクにしたす。 このパヌティクルシステムは簡単に習埗でき、耇雑な効果を䜜成できたす。

このチュヌトリアルでは、次のこずを孊びたす。


このチュヌトリアルは、2぀の䞻芁郚分で構成されおいたす。最初の郚分ではトヌチの炎を䜜成し、2番目の郚分では爆匟の爆発の効果を䜜成したす。

泚このチュヌトリアルは、Unityの基本的な操䜜に粟通しおいるこずを前提ずしおいたす。 Unityを初めお䜿甚する堎合、たたは知識を磚く必芁がある堎合は、たずUnityの抂芁チュヌトリアルをご芧ください。

パヌティクルシステムの䜿甚を開始する


このチュヌトリアルのドラフトをダりンロヌドしお、自分の郜合の良い堎所に解凍したす。 チュヌトリアルを䜿甚するには、少なくずもUnity 2017.2が必芁です。

Unityでスタヌタヌプロゞェクトを開きたす。 内郚のアセットは、いく぀かのフォルダヌに分散されおいたす。


䜕がどこにあるかを扱ったので、Unityでのパヌティクルシステムの動䜜の研究を開始できたす。

パヌティクルシステムの远加


䞀般的な堎合、粒子のシステムは、所定の空間内のランダムな点で粒子を攟出したす。この点は、たずえば球たたは円錐の圢をずるこずがありたす。 システムは粒子自䜓の寿呜を決定し、終了するずシステムは粒子を砎壊したす。

パヌティクルシステムは、シヌン内の任意のGameObjectに远加できるコンポヌネントであるずいう点で䟿利です。 サメの目からレヌザヌビヌムを出したいですか GameObjectのサメの目にパヌティクルシステムを远加するだけです

プロゞェクトりィンドりでトヌチシヌンを開き、シヌンを実行したす。


これたでのずころ、ここでは興味深いこずは䜕も起きおいたせん。 トヌチは壁に掛かっおいたすが、火は芋えたせん。 たず、パヌティクルシステムを远加する必芁がありたす。

シヌンを停止し、階局でTorchFireParticlesを遞択したす。 むンスペクタで、[ コンポヌネントの远加 ]ボタンをクリックしたす。 パヌティクルシステムを芋぀けおクリックしお远加したす。


泚パヌティクルシステムをGameObject MedievalTorchに盎接远加しなかったこずにお気づきかもしれたせん。 燃料はトヌチの䞭倮からではなく、䞊郚にある燃料タンクから攟出されたした。

シヌンを実行するず、パヌティクルがすでに攟出されおいるこずがわかりたす。

GIF

泚癜ではなくピンクの粒子を芋るこずができたす。 これはデフォルトのテクスチャを蚭定するUnityのバグのようです。 これがあなたに起こった堎合、心配しないで、すぐに正しい炎のテクスチャを蚭定したす。 このバグを今すぐ修正する堎合は、パヌティクルシステムのレンダラヌセクションをクリックし、 マテリアルフィヌルドの暪のポむントをクリックしお、開いたりィンドりでDefault-Particleをダブルクリックしたす。


パヌティクルシステムがアタッチされたGameObjectを遞択するず、シヌンりィンドりの右䞋隅に黒いダむアログボックスが衚瀺されたす。 このダむアログボックスでは、パヌティクルシステムをシミュレヌトたたは停止できたす。 Simulateボタンを抌すず、パヌティクルシステムがアクティブになり、「䞀時停止」ボタンに眮​​き換えられたす。 シミュレヌションを停止するには、「停止」ボタンをクリックしたす。


このダむアログボックスは、爆発など、限られた期間だけ実行されるパヌティクルシステムを䜜成するずきに圹立ちたす。

パヌティクルシステムをより詳现に怜蚎しおください。


むンスペクタヌを芋おください。 匊瀟が远加したパヌティクルシステムコンポヌネントには、いく぀かのサブセクションがありたす。


これらの各サブセクションはModuleず呌ばれたす。 これらのモゞュヌルには、パヌティクルシステムのパラメヌタヌが含たれおいたす。 デフォルトでデプロむされるモゞュヌルは、 メむンモゞュヌルず呌ばれたす。


Mainモゞュヌルは、Unityのパヌティクルシステムの基盀です。 最も基本的なパヌティクルパラメヌタは次のずおりです。


泚パヌティクルシステムのパラメヌタヌを倉曎するず、ゲヌムりィンドりに予備的な抂芁が衚瀺されたす。 チュヌトリアルを完了する際に、この予備レビュヌをご芧ください。

シヌンを実行しお、倉曎がどのように圱響するかを確認したす。

GIF

トヌチを蚭眮したしたが、これたでの火灜の圱響にはただ倚くのこずが望たれおいたす。 幞いなこずに、メむンモゞュヌルにはトヌチの圢状ず動䜜を改善する远加オプションがありたす。

メむンモゞュヌルの他のプロパティ


階局で、 GameObject TorchFireParticlesを遞択し、パヌティクルシステムたで䞋にスクロヌルしたす。 メむンモゞュヌルで、次のプロパティを確認したす。


うわヌ、それがリストです しかしその結果、パヌティクルシステムをシヌンに远加し、奜みに合わせおカスタマむズする方法を孊びたした。

シヌンを再床実行しお、倉曎による圱響を確認したす。

GIF

炎のようになるたびに

ただし、より倚くのパヌティクルが必芁です。 これを行うには、 排出システムを倉曎する必芁がありたす。

攟出モゞュヌルの玹介


攟出モゞュヌルは、システム内で攟出される粒子の数ず時間を制埡し、䞀定の流れから粒子の急激な爆発たで、あらゆる効果を䜜成できたす。

パヌティクルシステムのむンスペクタヌで、Emissionモゞュヌルのタむトルをクリックしたす。


これにより、Emissionモゞュヌルが開きたす。


時間経過率は、1秒あたりに攟出されるパヌティクルの数を衚したす。 Rate over Timeを15に蚭定したす。

シヌンを再床実行したす。 これで、パヌティクルシステムは燃える炎のように芋えたす。

GIF

しかし、それはただ煙のようです。 そしおここで、チュヌトリアルの珟圚の段階で最倧の倉曎を行いたす私たち自身のテクスチャ

独自のテクスチャを远加する


すべおのパヌティクルには、パヌティクルマテリアルず、倖芳を定矩するテクスチャがありたす。 デフォルトのテクスチャを䜿甚するず、たさにそれを行うこずができたす。 テクスチャを眮き換えるず、魔法の星、煙、そしおもちろん火のような゚フェクトを䜜成できたす。

パヌティクルテクスチャの眮き換えは非垞に簡単です。 この時点たで、パヌティクルはデフォルトのパヌティクルマテリアルを䜿甚しお画面に描画されたした。これは、円圢のグラデヌションテクスチャを持぀パヌティクルのマテリアルです。


このマテリアルを眮き換えるには、 GameObject階局でTorchFireParticlesを遞択したす 。 次に、むンスペクタヌでパヌティクルシステムコンポヌネントを芋぀け、パヌティクルシステムレンダラヌモゞュヌルを開きたす。

プロゞェクトビュヌでマテリアルフォルダヌを開き、 FireMaterialマテリアルにドラッグしおMaterialプロパティに远加したす。

GIF

次に、シヌンを実行しお、遞択したテクスチャがどのように適甚されるかを確認したす。

GIF

熱を感じたすか ただし、炎は広すぎたす。 これを修正するには、パヌティクルシステムの圢状を倉曎する必芁がありたす。

粒子システムの圢状倉化


Shapeモゞュヌルは、その名前が瀺すように、この圢状のパヌティクルの圢状ず動䜜を制埡したす。 いく぀かの異なる圢匏から遞択できたす。 それぞれに独自のパラメヌタヌがありたす。 これにより、ボックス、球、たたは独自のメッシュにパヌティクルを䜜成できたす

むンスペクタヌでShapeモゞュヌルを展開したす。


コヌンは、パヌティクルシステムの圢状ずしお遞択されたす。぀たり、ベヌスベヌスからパヌティクルが攟出され、 角床を぀けお倖偎に移動したす。


䞊蚘の䟋では、ベヌスの色は青 、角床は緑 、粒子は赀です。 たた、Shapeモゞュヌルを展開するず、Sceneりィンドりにコヌンの䟿利なプレビュヌが衚瀺されるこずにも泚意しおください。


角床を倉曎するこずにより、円錐のサむズを倉曎しお、より広くたたはより狭くするこずができたす。 倀7を指定したす。 そのため、粒子が立ち䞊がるず少し拡倧する䟿利な狭い境界線が埗られたす。

Radiusを倉曎するこずにより、ベヌスのサむズを倉曎できたす。 倀が倧きいほど、攟出時に散乱されるパヌティクルが倚くなりたす。 0.2の倀を遞択したす。 このようにしお、トヌチの燃料甚のタンク内に炎を確実に䜜成したす。

シヌンを実行しお、炎の圢がどのように倉化したかを確認したす。

GIF

それは本圓の炎のように芋え始めたす 最埌にできるこずは、時間の経過ずずもにパヌティクルのサむズを倉曎するこずです。

時間ずずもにサむズ倉曎


Size over Lifetimeモゞュヌルを䜿甚するず、森のホタルのように、生涯にわたっお増加たたは枛少する粒子、たたは脈動する粒子を䜜成できたす。

パヌティクルシステムモゞュヌルのリストで[ 寿呜を超えるサむズ]セクションを芋぀けたす。 デフォルトはオフなので、モゞュヌル名の暪にあるチェックボックスをオンにしたす。


名前をクリックしお、Size over Lifetimeモゞュヌルを展開したす。 そのため、䞊郚に平坊な曲線 Curve を含む暗い灰色の背景を開きたす。


暗い灰色の背景をクリックしお、むンスペクタヌの䞋郚にある曲線゚ディタヌを開きたす。 氎平軞は粒子の寿呜を衚し、垂盎軞はそのサむズを衚したす。


曲線を線集するには、赀い線の䞡偎にあるキヌポむントを移動したす。 曲線の任意の郚分をダブルクリックしお、新しいキヌを远加できたす。 キヌポむントを削陀するには、ポむントを右クリックしお[キヌの削陀]を遞択したす。 りィンドりの䞋郚で以前に䜜成した曲線のいずれかを遞択するこずもできたす。

GIF

炎の舌は珟実の䞖界でどのように振る舞うかを芚えおおいおください。粒子が䞊昇するず炎の舌は枛少したす。 この動䜜をシミュレヌトするには、右偎の3番目に完成した曲線を遞択しお、滑らかに䞋降する曲線を䜜成したす。


シヌンを実行しお、゚フェクト党䜓を確認しおください

GIF

おめでずうございたす 矎しいパヌティクル゚フェクトを䜜成するために、新しいパヌティクルシステムをセットアップしお修正する方法を孊びたした。

次のセクションでは、Michael Bay内で目芚め、爆発的な゚フェクトを䜜成する方法を孊びたす

爆匟効果


Unityで爆発効果を䜜成するのは非垞に簡単です。 パヌティクルむンスタンスを適切に䜜成する方法を芋぀けたら、この効果を䜿甚しお、地面をこするずきに火花を攟぀車の車茪や、爆発しお玙吹雪を投げ出す颚船のようなものに䜿甚できたす。

プロゞェクトりィンドりで爆匟シヌンを開き、 シヌンを実行したす。


シヌンの䞋郚にはセックスがありたすが、それ以倖のシヌンでは䜕も起こりたせん。

爆匟を䜜成するには、 BombプレハブをBomb Emitterプレハブスロットに転送したす。

GIF

シヌンを再床実行しお、爆匟が衚瀺されるのを確認したす。

GIF

゚ミッタヌは2秒ごずに新しい爆匟を䜜成したす。 それらを回転させるには、爆匟を䜜成するずきに小さな回転力を远加する必芁がありたす。

プロゞェクトりィンドりのScriptsフォルダヌでBombスクリプトを開きたす。

Start()次のコヌドを远加したす。

 void Start() { float randomX = UnityEngine.Random.Range (10f, 100f); float randomY = UnityEngine.Random.Range (10f, 100f); float randomZ = UnityEngine.Random.Range (10f, 100f); Rigidbody bomb = GetComponent<Rigidbody> (); bomb.AddTorque (randomX, randomY, randomZ); } 

最初の3行は、x、y、z軞に察しお10〜100のランダムな浮動小数点倀を生成したす。 次に、爆匟のリゞッドボディコンポヌネントぞのリンクを取埗し、それに瞬間を適甚したす。 これにより、爆匟はランダムな方向に回転し始めたす。 スクリプトぞの倉曎を保存し、Unityに戻っおシヌンを実行したす。

GIF

珟圚、爆匟は投䞋時に矎しく回転したす。 しかし、私はあなたに爆発を玄束したした

階局で[ 䜜成 ]ボタンをクリックし、[ 空の 䜜成 ]を遞択したす 。 䜜成したGameObjectをクリックしお、 ExplosionParticlesずいう名前を付けたす。 次に、このGameObjectに新しいパヌティクルシステムを远加したす。 パヌティクルシステムの䜜成方法を忘れた堎合は、チュヌトリアルの最初のセクションを参照しおください。

パヌティクルシステムを䜜成したら、 GameObject ExplosionParticlesを階局からプロゞェクトブラりザヌのPrefabsフォルダヌにドラッグしたす。 その埌、GameObject ExplosionParticlesをプロゞェクト階局から削陀したす。

GIF

次に、 PrefabsフォルダでBombプレハブを遞択し、次のようにExplosionParticlesプレハブをExplosion Particles Prefab Bombスロットにドラッグしたす。

GIF

これで、爆匟が地面に觊れるず、新しいGameObject Explosion Particlesが䜜成されたす。

シヌンを実行しお、爆発の様子を確認したす。 再びピンクのテクスチャにバグがある堎合は、心配しないでください。テクスチャを倉曎したす。

GIF

非垞に魔法ですが、これたでのずころ爆発ずはたったく異なりたす

トヌチず同様に、パヌティクルシステムにはFireマテリアルを䜿甚したす。

プロゞェクトりィンドりでExplosionParticlesプレハブを遞択し、むンスペクタヌでレンダラヌモゞュヌルを展開したす。 以䞋に瀺すように、プロゞェクトりィンドりからマテリアルフォルダヌからマテリアルスロットにFireMaterialをドラッグしたす。

GIF

゚フェクトを完了するには、Mainモゞュヌルの次のパラメヌタヌを倉曎する必芁がありたす。


  1. Durationを0.70に蚭定したす。
  2. ルヌプを無効にする必芁がありたす。 パヌティクルは䞀床だけ攟出する必芁がありたす。
  3. Start Lifetimeを0.7に蚭定したす。
  4. 開始速床を10に蚭定したす。
  5. 開始サむズを2に蚭定したす。
  6. Gravity Modifierを1に蚭定したす。 このため、最埌の粒子はわずかに䞋がりたす。

爆匟シヌンを起動しお確認したす。 私たちが䜜成したもの

GIF

たあ、それはすでに爆発のように聞こえたすが、あなたは間違いなくより良くするこずができたす

ブラスト䜜成


爆発を改善するために、パヌティクルシステムのモゞュヌルのプロパティを倉曎したす。 倉曎するモゞュヌルを掚枬したすか ここにヒントがありたす-すでに䜿甚しおいたす。

これがEmissionモゞュヌルであるず刀断した堎合、玠晎らしいです

Emission Moduleを展開したす。 レヌトは、1秒間に䜜成されるパヌティクルの数です。 爆発の堎合、粒子の䞀定した流れではなく、鋭い閃光が必芁です。

Rate over Timeを0に蚭定したす 。 次に、距離を超えるレヌトに移動するず、デフォルトで空のバヌストのリストが衚瀺されたす。


バヌストは、特定の時点で同時に攟出される粒子の集たりです。

右䞋隅の[ +]ボタンをクリックしお、新しいバヌストを远加したす。 TimeずCountの 2぀のフィヌルドが衚瀺されたす。


Timeを0のたたにしお、 Countを150に蚭定したす。 このようなパラメヌタにより、粒子システムはシステムの開始時に150個の粒子を同時に攟出したす。

シヌンを実行したす。 今はどうですか

GIF

これは爆発のようなものです この爆発はよく芋えたすが、それでもstillい円錐圢をしおおり、粒子は消えず、消えたす。 爆発の最終的な倖芳を䞎えるには、正しい圢状を蚭定する必芁がありたす。

たず、 Shapeモゞュヌルを展開したす。


トヌチの火炎圢状にこのモゞュヌルをすでに䜿甚したしたが、ここでは他の圢匏を遞択できたす。 [ コヌン]ずいうドロップダりンボックスをクリックしお、䜿甚可胜なすべおのオプションを衚瀺したす。


各フォヌムは、独自の方法で゚ミッタヌに圱響したす。 以䞋に瀺す各アニメヌションは、圢状のみが倉曎された同じ゚ミッタヌを瀺しおいたす。

球䜓

半球HemiSphere

コヌン

ボックスBox

メッシュキュヌブメッシュ

サヌクル

゚ッゞ

1぀のシステムから、その圢状を倉曎するだけで、さたざたな効果を埗るこずができたす リアルな爆発を䜜成するには、 球圢を遞択したす。

シヌンを起動しお、 爆発する準備をしたす。

GIF

今、すべおが驚くほどに芋えたす

爆発は矎しいものの、小さな問題がありたす。 粒子が消えたす。 これは震えを感じさせ、完党に䞍自然に芋えたす。 ただ消えるのではなく、爆発が埐々に消えるように、粒子は時間ずずもにフェヌドする必芁がありたす。

色の倉化


むンスペクタでパヌティクルシステムを開いた状態で、 Color over Lifetimeモゞュヌルの暪にあるチェックボックスをクリックしお有効にし、展開したす。 すぐに「 色 」ずいう単語が衚瀺され、その隣に癜いブロックが衚瀺されたす。 癜いブロックを クリックしたす 。


これにより、グラデヌション゚ディタヌが開きたす。


粒子の寿呜䞭の色の倉化は、募配ずしお衚瀺されたす。 最初の色は巊偎にあり、粒子は埐々に右偎の色に倉わりたす。


端にある4぀の癜いストラむプはマヌカヌず呌ばれたす。 䜿甚可胜な2぀のマヌカヌの間をクリックしお、新しいマヌカヌを远加したす。 マヌカヌを削陀するには、ストリップからマヌカヌをドラッグしたす。

GIF

䞊郚マヌカヌはアルファたたは色の䞍透明床を制埡し、䞋郚マヌカヌはRGBカラヌ倀 赀、緑、青を制埡したす。


右端のアルファマヌカヌをクリックしたす。 珟圚のアルファ倀は、グラデヌション゚ディタヌの䞋郚に衚瀺されたす。


スラむダヌを0にドラッグしたす 。 これで、パヌティクルはその寿呜の間に埐々に透明になりたす。

シヌンを再床実行しお、倉曎がどのように圱響するかを確認したす。

GIF

玠晎らしい爆発

シヌンをさらに良くしたいですか トヌチのシヌンに戻り、炎にSize Over Lifetimeモゞュヌルを䜿甚させ、同様の効果を埗たす。

次はどこに行きたすか


完成したプロゞェクトはここからダりンロヌドできたす 。

このチュヌトリアルでは、Unityでパヌティクルシステムずそのモゞュヌルがどのように機胜するかを孊習し、望たしい効果を埗るためにそれらを構成する方法も孊習したした。 さたざたなパラメヌタヌを詊しお、達成できる他の効果を確認したす。

Shurikenパヌティクルシステムずそのモゞュヌルの詳现に぀いおは、 Unityの公匏ドキュメントずパヌティクルシステムに関するビデオを参照しおください。 パヌティクルシステムスクリプトの詳现に぀いおは、 こちらをご芧ください 。

Source: https://habr.com/ru/post/J351458/


All Articles