Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Azure Kinect の点群を軽率にVFX Graphで表示する

Azure Kinect の点群を軽率にVFX Graphで表示する

社内の勉強会発表したLT資料です

E123f0d70182268563d4e63e23d8c55c?s=128

にー兄さん

June 18, 2020
Tweet

Transcript

  1. Azure Kinect の点群を軽率に VFX Graphで表示する にー兄さん@Unity 2019.4リリースノート読む会

  2. agenda 背景とか VFX Graphについて AzureKinectとVFX Graph おわりに

  3. スライドって公開しちゃって大丈夫ですかね...? (大丈夫だったらSpeakerDeckに上げます)

  4. 背景とか

  5. Twitterを見ていればわかるのですが 8~9割の人類はすでに 点群を扱ったプログラムを書いている →

  6. Twitterを見ていればわかるのですが 8~9割の人類はすでに 点群を扱ったプログラムを書いている

  7. Twitterを見ていればわかるのですが 8~9割の人類はすでに 点群を扱ったプログラムを書いている →やるか...。

  8. なんとなく点群に憧れがあった もともとKinectを使ったモーションキャプ チャを制作していた Body Trackingしか使ったことない... せっかくk4aをお借りできたので やるか→シェーダ書けない...

  9. VFX Graphについて

  10. 2019.4のPVでも取り上げられた 2018.4でも使えた機能ではある リリースノートの見ると ”ノード”が新しく追加されてたり (後述)

  11. Unityの新しいパーティクルシステム 名称 特徴 制約 従来 shuriken CPUパーティクル、設定画面が煩雑 特になし 最新 VFX

    Graph GPUパーティクル、ノードベース SRP推奨 SRPによって大幅に改良されたパーティクルシステムという感じ 操作性、表現力、性能、が強化されている
  12. VFX Graphの概観 パーティクルの挙動をノードで管理

  13. VFX Graphの概観 Spawn→Initialize→Update→Outputコンテキストノードで構成される

  14. VFX Graphの概観 Operatorノードをつなぐことで複雑な挙動を定義

  15. VFX Graphの概観 Property Binderによって外部の値を読み込む

  16. VFX Graphの概観 Updateでイベントを発火 →ほかのGraphに通知 →別のパーティクルをSpawn trail(軌跡)のような表現が可能に

  17. demo!

  18. AzureKinectとVFX Graph

  19. 参考にした記事(ほぼそのまま) yoshinagaさんの 『C#で始めるAzure Kinect開発⑥:Unity+C#でPoint Cloud表示』 https://tks-yoshinaga.hatenablog.com/entry/azurekinect-6 maoさんの 『Face Tracking with

    ARKit + Visual Effect Graph(VFX Graph)で遊んでみる』 https://qiita.com/mao_/items/0fffc84b2b16cf680f80
  20. 手順 AzureKinectで 点群を取得 depthを AttributeMap に変換 VFXでMapを 読み込み

  21. 手順 AzureKinectで 点群を取得 depthを AttributeMap に変換 VFXでMapを 読み込み C#スクリプト C#スクリプト

    +ComputeShader VFX Graph
  22. depth情報の取得 記事の通りにコードを書いていく 今回は色情報はいらないので深度情報だけ取得

  23. depthをComputeShaderに渡す depth情報をbufferに載せて ComputeShaderに渡す

  24. AttributeMap VFXは配列での受け渡しをサポートし ていない 点群の情報をMapとして渡す

  25. VFX Graphに読み込む PositionをMapとして読み込む

  26. おわりに

  27. まとめ VFX Graphを使えば、簡単にエフェクトが作れる Mapを使えば点群を扱うこともできる 今後の動向に期待!

  28. 参考 yoshinagaさんの 『C#で始めるAzure Kinect開発⑥:Unity+C#でPoint Cloud表示』 https://tks-yoshinaga.hatenablog.com/entry/azurekinect-6 maoさんの 『Face Tracking with

    ARKit + Visual Effect Graph(VFX Graph)で遊んでみる』 https://qiita.com/mao_/items/0fffc84b2b16cf680f80 keijiro先生のサンプル https://github.com/keijiro/Smrvfx