CrossRoadスマートフォン用の表示で見るCrossRoadAR、MR、VR、Babylon.jsを中心とした技術ブログ。Systemがあります。炎、雷などの綺麗なグラフィック表現には必須の機能です。Systemがあります。試したところ思ったよりも負荷が少ない感じでした。UnityはWebGL書き出しが可能ですが、処理が重いと聞いたことがあります。どの程度重いのかはちゃんと調べたことがありませんでした。SystemをWebGLで使うとき、UnityとBabylon.jsで作ったときの処理負荷を調べました。どの方法でもよかったのですが、Babylon.jsを調べてた時に見つけた、meshをParticleにするサンプルコードが面白かったので、meshのParticleによる処理負荷を対象としています。Systemはmeshも使えます。System(SPS)と呼び、meshはcollisionなどの物理性質を持つことができます。Documentation下記のページでJavascriptのコードとプレビューが確認できます。https://www.babylonjs-playground.com/#2V1C4Z#0アクセスできなかった時のため、プレビュー部分と同じ動きを切り取りました。このように宝石がたくさん生成され、その中をSphereが動いています。Sphereが宝石とぶつかると宝石が弾かれています。今回はこれをUnityで再現して、FPSを調べました。Modeという機能がpreview版としてリリースされています。以下の通り、軽量なHTML5を作るための機能です。websitepreview版のためか、使える機能が限定されています。現時点で使える機能はこちらに書いてあります。Foundになっていました。今回の検証について、本来はut.Particleで調べた方がよいです。Systemを使いました。ut.Particleも比較したいと思います。見た目をBabylon.jsのサンプルに近づけるように調整しました。StoreでGemを入手しました。Systemコンポーネントをつけて、RendererをMeshにします。Gemアセットの中から好きなMeshとMaterialを指定します。あとは、Emmisionを調整して、発生するときの方向、数を調整します。Babylon.jsのサンプルでは複数の宝石が出現していたので、こちらも複数の宝石を出現させます。Systemsを同じ場所に表示させて、異なる宝石を設定します。動き回っているSphereBabylon.jsのサンプルコードでは、Sphereが宝石を弾くように動いています。sphereの動きはこのように表現されています。});これをUnityで再現するため、C#でこのようなコードを書きます。0.02f;}細かい位置を調整した結果がこちらです。Editorの3つとし、Particleの数を変えてFPSの値を記録しました。FPSは全時間取るのは難しいため、目視で1分程度確認し、最も多い値を結果としました。Particleの数を1200、2400、3600、4800にしたときの結果は以下の通りです。UnityのWebGLは重いという噂でしたが、2400個程度までならば、FPSは60で安定しました。3000個を超えてくると少し落ちてきます。数千個のParticleをWebGLで使う場合、Babylon.jsの方が性能が出やすそうです。ゲームにしろアプリにしろ、一気に数千個出す処理を作らなければよいので、UnityのWebGL出力も十分に使えるとも言えます。Editorでは早々にFPSが落ちてしまいました。Editorは3D空間で構成を見たり、実行、やり直しをすぐに試すには適していますが、WebGL出力の性能を見るには向いていないですね。Systemで、Particleの数に応じて変更した値です。Particleを使う範囲ならば60FPSを保てることがわかりました。Babylon.jsはビルド不要、かつ多数のParticleを使うときはUnityよりも性能がよいです。コンテンツの作りやすさでは依然Unityの方が上と思います。modeのut.Particleが出たら試す予定です。»ProfileAR、MR、VR、Babylon.jsを中心とした技術ブログです。広く色々な技術を勉強するのが好きで、あれこれ書いています。詳細なプロフィールはこちらをご確認ください。2020)■プライバシーポリシー■こちらに記載しておりますのでご確認ください。■お問い合わせ■こちらよりお願いいたします。月別アーカイブスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。