Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Azure Kinect の点群を軽率にVFX Graphで表示する
Search
にー兄さん
June 18, 2020
Technology
0
1.1k
Azure Kinect の点群を軽率にVFX Graphで表示する
社内の勉強会発表したLT資料です
にー兄さん
June 18, 2020
Tweet
Share
More Decks by にー兄さん
See All by にー兄さん
UnJSを使って軽率にCLIを作ってみたらめちゃくちゃ便利だった / create CLI with UnJS
drumath2237
4
1.3k
create-babylon-appを軽率にアプデしたい / update create babylon app
drumath2237
1
1.4k
Babylon.js 7注目機能を 軽率にまとめてみる/whats-new-in-babylonjs-v7
drumath2237
1
230
軽率にVFX Graphと Compute Shaderを 組み合わせるテクニック/integrate-vfxgraph-and-compute-shader
drumath2237
1
280
軽率にVue 3で リアルタイム3Dアプリを作れる ライブラリを作ってみた/vue-with-3d-app
drumath2237
3
1.8k
軽率にBabylon.jsを C#で使う技術 / using-babylonjs-with-csharp
drumath2237
1
710
今こそ軽率に理解したい WebXR Device APIとBabylon.jsの話 / understand-webxr-device-api-and-babylonjs
drumath2237
0
140
Vue・Babylon連携ライブラリ BabyuewJSについて / about-babyuewjs
drumath2237
0
160
軽率にBabylon.jsの WebGPUエンジンを使って ComputeShaderに入門した / learn-about-babylonjs-webgpu-computeshader
drumath2237
0
660
Other Decks in Technology
See All in Technology
Storybook との上手な向き合い方を考える
re_taro
5
1.2k
iOSチームとAndroidチームでブランチ運用が違ったので整理してます
sansantech
PRO
0
150
アジャイルチームがらしさを発揮するための目標づくり / Making the goal and enabling the team
kakehashi
3
160
Flutterによる 効率的なAndroid・iOS・Webアプリケーション開発の事例
recruitengineers
PRO
0
120
TypeScriptの次なる大進化なるか!? 条件型を返り値とする関数の型推論
uhyo
2
1.7k
Security-JAWS【第35回】勉強会クラウドにおけるマルウェアやコンテンツ改ざんへの対策
4su_para
0
190
複雑なState管理からの脱却
sansantech
PRO
1
160
DynamoDB でスロットリングが発生したとき_大盛りver/when_throttling_occurs_in_dynamodb_long
emiki
1
450
VideoMamba: State Space Model for Efficient Video Understanding
chou500
0
200
【LT】ソフトウェア産業は進化しているのか? #Agilejapan
takabow
0
100
Making your applications cross-environment - OSCG 2024 NA
salaboy
0
200
あなたの知らない Function.prototype.toString() の世界
mizdra
PRO
2
410
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Faster Mobile Websites
deanohume
305
30k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
Fashionably flexible responsive web design (full day workshop)
malarkey
405
65k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
93
16k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
229
52k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Building Your Own Lightsaber
phodgson
103
6.1k
How STYLIGHT went responsive
nonsquared
95
5.2k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.2k
How to Ace a Technical Interview
jacobian
276
23k
The Language of Interfaces
destraynor
154
24k
Transcript
Azure Kinect の点群を軽率に VFX Graphで表示する にー兄さん@Unity 2019.4リリースノート読む会
agenda 背景とか VFX Graphについて AzureKinectとVFX Graph おわりに
スライドって公開しちゃって大丈夫ですかね...? (大丈夫だったらSpeakerDeckに上げます)
背景とか
Twitterを見ていればわかるのですが 8~9割の人類はすでに 点群を扱ったプログラムを書いている →
Twitterを見ていればわかるのですが 8~9割の人類はすでに 点群を扱ったプログラムを書いている
Twitterを見ていればわかるのですが 8~9割の人類はすでに 点群を扱ったプログラムを書いている →やるか...。
なんとなく点群に憧れがあった もともとKinectを使ったモーションキャプ チャを制作していた Body Trackingしか使ったことない... せっかくk4aをお借りできたので やるか→シェーダ書けない...
VFX Graphについて
2019.4のPVでも取り上げられた 2018.4でも使えた機能ではある リリースノートの見ると ”ノード”が新しく追加されてたり (後述)
Unityの新しいパーティクルシステム 名称 特徴 制約 従来 shuriken CPUパーティクル、設定画面が煩雑 特になし 最新 VFX
Graph GPUパーティクル、ノードベース SRP推奨 SRPによって大幅に改良されたパーティクルシステムという感じ 操作性、表現力、性能、が強化されている
VFX Graphの概観 パーティクルの挙動をノードで管理
VFX Graphの概観 Spawn→Initialize→Update→Outputコンテキストノードで構成される
VFX Graphの概観 Operatorノードをつなぐことで複雑な挙動を定義
VFX Graphの概観 Property Binderによって外部の値を読み込む
VFX Graphの概観 Updateでイベントを発火 →ほかのGraphに通知 →別のパーティクルをSpawn trail(軌跡)のような表現が可能に
demo!
AzureKinectとVFX Graph
参考にした記事(ほぼそのまま) 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
手順 AzureKinectで 点群を取得 depthを AttributeMap に変換 VFXでMapを 読み込み
手順 AzureKinectで 点群を取得 depthを AttributeMap に変換 VFXでMapを 読み込み C#スクリプト C#スクリプト
+ComputeShader VFX Graph
depth情報の取得 記事の通りにコードを書いていく 今回は色情報はいらないので深度情報だけ取得
depthをComputeShaderに渡す depth情報をbufferに載せて ComputeShaderに渡す
AttributeMap VFXは配列での受け渡しをサポートし ていない 点群の情報をMapとして渡す
VFX Graphに読み込む PositionをMapとして読み込む
おわりに
まとめ VFX Graphを使えば、簡単にエフェクトが作れる Mapを使えば点群を扱うこともできる 今後の動向に期待!
参考 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