Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

0

Share

Download to read offline

実戦投入事例! Niagaraで地球の風をビジュアライズ!

Download to read offline

「出張ヒストリア! ゲーム開発勉強会2020」(https://historia.co.jp/archives/16322/)で行った「実戦投入事例! Niagaraで地球の風をビジュアライズ!」講演のスライド資料です。

講演動画
https://youtu.be/674Gf3GuV00

講演者
株式会社ヒストリア ヒストリア・エンタープライズチーム エンジニア
橘内 正貴

講演内容
UE4.25にて正式リリースされ、実戦投入が可能になったNiagaraVFXSystem。
ヒストリア・エンタープライズでは早速! 風や海流、波といった地球環境のビジュアライズツールをNiagara用いて製品開発を行い、今夏に放送された番組にて採用されました。
本講演では風のビジュアライズに焦点をあてて、外部データ(計測データ)を元にNiagaraでビジュアライズを行うアップローチ方法や、
Niagaraのモジュールを新たに作成し既存モジュールの不足部分を埋めた実例、その他NiagaraのTipsなど赤裸々にお話します。

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all
  • Be the first to like this

実戦投入事例! Niagaraで地球の風をビジュアライズ!

  1. 1. historia Inc. 2020/09/12 ヒストリア・エンタープライズエンジニア 橘内 正貴 実戦投入事例! Niagaraで地球の風をビジュアライズ!
  2. 2. historia Inc. 自己紹介 • 2019/6からヒストリア・エンタープライズにJoin 現在の肩書はエンタープライズエンジニア • ue4歴は約3年(historia以前は趣味レベル) ちなみに前職は銭湯で受付のアルバイトをしていました こんなものを作ったりしてました https://www.youtube.com/watch?v=hU1vRI4E6sc
  3. 3. historia Inc. コンテンツ紹介 Youtube:https://youtu.be/QoC4FEGD7fQ
  4. 4. historia Inc. まえおき 開発Ver:UE4.25.1 講演内容は最適解ではない部分も多々あるか と思います。参考程度に! C++やBP関連の実装に関しては割愛します
  5. 5. historia Inc. ビジュアライズってどうやったの? UE4外 • Webで公開されている気象データ 「GRIB2(圧縮バイナリ)」のダウンロード • →専門の外部ツールでCSV化 UE4C++ &BP • UE4C++でCSVをテキスト読み込みし、数値配列にパース • →数値配列をテクスチャに変換 • →テクスチャをナイアガラへ渡す Niagara • テクスチャの色情報を使ってパーティクルの動き・色を制御
  6. 6. historia Inc. ビジュアライズってどうやったの? -データ(GRIB2)解説 • 風のデータは緯度経度0.25度 のグリッドでサンプリング • 緯度方向と経度方向のベクト ル量が格納されている
  7. 7. historia Inc. • Q:なんでテクスチャ化? 緯度 0° 緯度-90° 緯度 +90° 経度- 180° 経度0° 経度 +180° • A:ナイアガラは配列を直接扱えないから U 1U 0 V 0 V 1
  8. 8. historia Inc.
  9. 9. historia Inc. Niagaraはなにをやってるの? -モジュール構成
  10. 10. historia Inc. Niagaraはなにをやってるの? -モジュール構成 • 1、StaticMeshLocationで地 球表面にパーティクルをス ポーン • 2、VortexVelocityで地球表面 に沿ってパーティクルを移動 • 3、Colorで透過や色付け
  11. 11. historia Inc. Niagaraはなにをやってるの? -VortexVelocityの仕事 • Velocity Amount →風速を計算してパーティクルの速度に変換 • VortexAxis →風のベクトルを3次元の回転に変換
  12. 12. historia Inc. パーティクルとテクスチャの関係 緯度 0° 緯度- 90° 緯度 +90° 経度- 180° 経度0° 経度 +180° U 1U 0 V 0 V 1 XYZ→lat,lon≒UV Wikipediaより引用
  13. 13. historia Inc. どうやってるの?(VertexVelocityでパーティクルを動かす) • 慣性をつけるための改造
  14. 14. historia Inc. どうやってるの? -補助的に使っているモジュール • Facingで地球の表面にきちんと沿わせる • ScaleSpriteSizeBySpeedで速度差による表示ムラを軽減
  15. 15. historia Inc. どうやってるの? -Rendere設定 • AlignmentをVelocityに設定、移動方向を向かせる • FacingをCustomに設定、前述のモジュールと連携する
  16. 16. historia Inc. どうやってるの? -色回り • ColorCurveを入力に使用、ベクトルの強さで色分け • 透過はベクトルの強さとLifeTimeでフェード処理
  17. 17. historia Inc. どうやってるの?(BluePrintとナイアガラの連携Tips) • BPでテクスチャはナイアガラに受け渡し • ReinitializeSystemノードを更新したいタイミングで呼ぶ
  18. 18. historia Inc. ここがよかったよナイアガラ 風の表現の為にとにかく物量が欲しい →GPUパーティクルでバンバンだせる! モジュールが自作できる →思い通りのロジックでパーティクルが動く! シーケンサーで変数を動的に変更可能 →表現を詰めるイテレーションが早い!
  19. 19. historia Inc. Niagara 罠Tips 1 • (おそらくGPUパーティクル限定) パーティクルの後ろのオブジェクトが動くと、変なブ ラーが発生する
  20. 20. historia Inc. Niagara 罠Tips 1 Youtube:https://youtu.be/1YdmBTW5DvA
  21. 21. historia Inc. Niagara 罠Tips 1 • カメラ側が動く分には影響がなかった • →カメラを動かすことで一応対策可能 • (この現象を確認した時点で既に地球をガンガン回してシーケンサが作られていたので全て 作り直しに……その節は大変ご迷惑をおかけしました)
  22. 22. historia Inc. Niagara 罠Tips 2 • GPUパーティクルだとRibbonRendereが使えない • 風が尾を引く表現をしたかったが、どうしても直せず。 • 形状や動き、密度で風感を表現する方向にシフトした
  23. 23. historia Inc. Niagara 罠Tips 3 • StaticMeshLocationのカリングが効かない問題
  24. 24. historia Inc. カリング範囲:0.5 スポーンレート:50,000,000 Youtube:https://youtu.be/RfZjx1f2y7w
  25. 25. historia Inc. Niagara 罠Tips 3 • StaticMeshLocationのカリングが効かない問題 • → WorldAxisConstraintでパーティクルを多く出せるよ うに制御しているはずなのに動画出力とするとなぜか 減ってしまう
  26. 26. historia Inc. Niagara 罠Tips 3 スポーンした後に減らしてる!?
  27. 27. historia Inc. Niagara 罠Tips 3 • 負荷回避のためのStaticMeshLocation改造
  28. 28. historia Inc. カリング範囲:0.5 スポーンレート:120,000 Youtube:https://youtu.be/UZqEqrRRFjE
  29. 29. historia Inc. 実務的な豆知識:動画書き出しの自動化 • 今回は出力するカット数が多かったので、コマンドライ ンでシーケンサー書き出しを自動化するbatをつくった • 参考 https://docs.unrealengine.com/ja/Engine/Sequence r/Workflow/RenderAndExport/RenderingCmdLine/in dex.html
  30. 30. historia Inc. 実務的な豆知識:動画書き出しの自動化の罠 • 解像度をコマンド( -ResX=####・-ResY=#### )で設定で きるはずなのですが、設定してもなぜかディスプレイ解 像度にひっぱられます • UE4上のシーケンサー書き出しなら設定解像度で出力 • 恐らくフルスクリーン表示が原因っぽいですが、納期が それどころじゃなかったのでエンジニア的解決は行えず
  31. 31. historia Inc. まとめ • Niagara×データビジュアライズ、結構いける! • データをナイアガラに渡すパイプラインさえ作ればその あとの表現部分を詰めるイテレーションもかなり早い! • 嵌ろう!モジュール自作沼!
  32. 32. historia Inc. 巻末付録 プロジェクトの参考にしたサイト
  33. 33. historia Inc. CSVのテクスチャ化の際に参考にしたサイト(C++サンプル) • UE4/C++: メッシュのマテリアルやテクスチャーを C++コードで制御する方法 https://usagi.hatenablog.jp/entry/2017/07/26/115603 • Generating Procedural Textures https://www.orfeasel.com/generating-procedural-textures/
  34. 34. historia Inc. ナイアガラを勉強するのに参考にしたサイト • Niagaraの入門 https://crabpunch.hatenablog.com/archive/categor y/Niagara • 新しいエフェクトツール、Niagaraを楽しもう! ~ Niagara作例のブレイクダウン~ https://www.slideshare.net/EpicGamesJapan/ue4fe steast2018-niagara

「出張ヒストリア! ゲーム開発勉強会2020」(https://historia.co.jp/archives/16322/)で行った「実戦投入事例! Niagaraで地球の風をビジュアライズ!」講演のスライド資料です。 講演動画 https://youtu.be/674Gf3GuV00 講演者 株式会社ヒストリア ヒストリア・エンタープライズチーム エンジニア 橘内 正貴 講演内容 UE4.25にて正式リリースされ、実戦投入が可能になったNiagaraVFXSystem。 ヒストリア・エンタープライズでは早速! 風や海流、波といった地球環境のビジュアライズツールをNiagara用いて製品開発を行い、今夏に放送された番組にて採用されました。 本講演では風のビジュアライズに焦点をあてて、外部データ(計測データ)を元にNiagaraでビジュアライズを行うアップローチ方法や、 Niagaraのモジュールを新たに作成し既存モジュールの不足部分を埋めた実例、その他NiagaraのTipsなど赤裸々にお話します。

Views

Total views

1,127

On Slideshare

0

From embeds

0

Number of embeds

471

Actions

Downloads

3

Shares

0

Comments

0

Likes

0

×