Babylon.jsのチュートリアルをやってみるその19

これは

昨日に引き続きBabylon.jsのチュートリアルをやっていく記事です。
自分であとで思い返す用のメモでもあります。

今日の参照

doc.babylonjs.com

Particle

今日もパーティクルです。
昨日は基本的なパーティクルの変化を楽しみました。 GPUパーティクルのサンプルを見ていこうと思います。

見ていくサンプル

www.babylonjs-playground.com

GPU Particle

UnityでもGPUを使ったVFXGraphみたいなのが出てきました。
Babylon.jsでもGPUを使ったパーティクルを生成することができます。
しかしバージョン依存もあるので、サンプルのようにまず要件が満たされているか
確認してからパーティクルシステムを作成するほうがよいでしょう。

if (useGPUVersion && BABYLON.GPUParticleSystem.IsSupported)
{
    // GPUパーティクルシステムMAX1000000で作成
    particleSystem = new BABYLON.GPUParticleSystem("particles", { capacity:1000000 }, scene);
    particleSystem.activeParticleCount = 200000;
} 
else
{
    // 要件が満たせてなかったら普通のパーティクルシステムを使う
    particleSystem = new BABYLON.ParticleSystem("particles", 50000 , scene);
}

GPUパーティクルの停止はできません。
通常のパーティクルのようにstopを使ってもレンダリングはされたままになります。
そのため「particleSystem.dispose()」を使って破棄します。

GPUパーティクルではサポートされていない機能もあります。
 ・エミットカウント
 ・カスタムエフェクト
 ・アニメーションシート
 ・disposeOnStop
 ・グラデーションごとの二重値
 ・放出率勾配
 ・生成時すぐのグラデーション

サンプルをいじって作ってみたパーティクルはこんな感じになりました。
たくさんの松屋きれいですね。
f:id:torikizi:20190625230423g:plain

今日はここまで
次はenvironmentをやります。