Suche senden
Hochladen
HoloLens x Graphics 入門
•
Als PPTX, PDF herunterladen
•
16 gefällt mir
•
14,045 views
hecomi
Folgen
Tokyo HoloLens Meetup vol.2 での LT 発表資料です
Weniger lesen
Mehr lesen
Software
Melden
Teilen
Melden
Teilen
1 von 33
Jetzt herunterladen
Empfohlen
HoloLens x iPad
HoloLens x iPad
hecomi
Unityで始めるHoloLensアプリ開発
Unityで始めるHoloLensアプリ開発
kazuya noshiro
広告目線から見たHoloLens - 坪倉輝明
広告目線から見たHoloLens - 坪倉輝明
Teruaki Tsubokura
Holo toolkit unityでできること
Holo toolkit unityでできること
Naoaki Yamaji
HoloLensでSharingする方法(Bluetooth編)@TokyoHoloLensMeetup vol.6
HoloLensでSharingする方法(Bluetooth編)@TokyoHoloLensMeetup vol.6
akihiro yamamoto
HoloLens x IoT 試すときによくやる実装
HoloLens x IoT 試すときによくやる実装
Seigo Tanaka
HoloLensでImage-Based Lightingを試してみた話
HoloLensでImage-Based Lightingを試してみた話
Soichiro Sugimoto
Holo lensを普段使いするとしたら
Holo lensを普段使いするとしたら
Naoaki Yamaji
Empfohlen
HoloLens x iPad
HoloLens x iPad
hecomi
Unityで始めるHoloLensアプリ開発
Unityで始めるHoloLensアプリ開発
kazuya noshiro
広告目線から見たHoloLens - 坪倉輝明
広告目線から見たHoloLens - 坪倉輝明
Teruaki Tsubokura
Holo toolkit unityでできること
Holo toolkit unityでできること
Naoaki Yamaji
HoloLensでSharingする方法(Bluetooth編)@TokyoHoloLensMeetup vol.6
HoloLensでSharingする方法(Bluetooth編)@TokyoHoloLensMeetup vol.6
akihiro yamamoto
HoloLens x IoT 試すときによくやる実装
HoloLens x IoT 試すときによくやる実装
Seigo Tanaka
HoloLensでImage-Based Lightingを試してみた話
HoloLensでImage-Based Lightingを試してみた話
Soichiro Sugimoto
Holo lensを普段使いするとしたら
Holo lensを普段使いするとしたら
Naoaki Yamaji
HoloLensStartdash_v1.5
HoloLensStartdash_v1.5
Naoaki Yamaji
HoloLensの魅力とビジネス利用
HoloLensの魅力とビジネス利用
Yusuke Furuta
やんちゃでかしこいあいぼうをHoloLensで操作してみた
やんちゃでかしこいあいぼうをHoloLensで操作してみた
Kohsuke Nakagawa
自分で作ったHoloLensアプリを他業種の人に見せてみた
自分で作ったHoloLensアプリを他業種の人に見せてみた
Shinnosuke Oka
20171030_HoloLens読書会vol.1発表資料
20171030_HoloLens読書会vol.1発表資料
Shingo Mori
画像から深度推定 on HoloLens
画像から深度推定 on HoloLens
matsunoh
HoloLensでIoT制御してみて感じる未来
HoloLensでIoT制御してみて感じる未来
Seigo Tanaka
HoloLensとBluetooth SensorTagをつなげた話
HoloLensとBluetooth SensorTagをつなげた話
Seigo Tanaka
Holo lens × ue4での開発について
Holo lens × ue4での開発について
Naoaki Yamaji
Adobe XDをHoloLensで表示させて考えるいろいろな可能性
Adobe XDをHoloLensで表示させて考えるいろいろな可能性
Seigo Tanaka
Osaka holo lens hackathon 2021 HoloMoto
Osaka holo lens hackathon 2021 HoloMoto
AsahiSakamoto
ひとまずHoloLensと自分の周辺技術(WEB・IoT)と混ぜた話
ひとまずHoloLensと自分の周辺技術(WEB・IoT)と混ぜた話
Seigo Tanaka
Xrmeating2021
Xrmeating2021
AsahiSakamoto
第4回HoloLens参考書読書会発表資料
第4回HoloLens参考書読書会発表資料
Masahiro Ide
なにかが起きるで考えるWEB、そしてIoT・Mixed Reality
なにかが起きるで考えるWEB、そしてIoT・Mixed Reality
Seigo Tanaka
Holoニュースとか(2019_08)
Holoニュースとか(2019_08)
Naoaki Yamaji
Holoニュースとか(2020 02)
Holoニュースとか(2020 02)
Naoaki Yamaji
Win mrモーションコントローラーについての所感
Win mrモーションコントローラーについての所感
Naoaki Yamaji
TGSでのXR系展示レポ
TGSでのXR系展示レポ
Naoaki Yamaji
HoloLens_MeetupVal22 HoloMoto
HoloLens_MeetupVal22 HoloMoto
AsahiSakamoto
Kobe HoloLensMeetupSpringSpetial.pdf
Kobe HoloLensMeetupSpringSpetial.pdf
AsahiSakamoto
Holoニュースとか(2019 02)
Holoニュースとか(2019 02)
Naoaki Yamaji
Weitere ähnliche Inhalte
Was ist angesagt?
HoloLensStartdash_v1.5
HoloLensStartdash_v1.5
Naoaki Yamaji
HoloLensの魅力とビジネス利用
HoloLensの魅力とビジネス利用
Yusuke Furuta
やんちゃでかしこいあいぼうをHoloLensで操作してみた
やんちゃでかしこいあいぼうをHoloLensで操作してみた
Kohsuke Nakagawa
自分で作ったHoloLensアプリを他業種の人に見せてみた
自分で作ったHoloLensアプリを他業種の人に見せてみた
Shinnosuke Oka
20171030_HoloLens読書会vol.1発表資料
20171030_HoloLens読書会vol.1発表資料
Shingo Mori
画像から深度推定 on HoloLens
画像から深度推定 on HoloLens
matsunoh
HoloLensでIoT制御してみて感じる未来
HoloLensでIoT制御してみて感じる未来
Seigo Tanaka
HoloLensとBluetooth SensorTagをつなげた話
HoloLensとBluetooth SensorTagをつなげた話
Seigo Tanaka
Holo lens × ue4での開発について
Holo lens × ue4での開発について
Naoaki Yamaji
Adobe XDをHoloLensで表示させて考えるいろいろな可能性
Adobe XDをHoloLensで表示させて考えるいろいろな可能性
Seigo Tanaka
Osaka holo lens hackathon 2021 HoloMoto
Osaka holo lens hackathon 2021 HoloMoto
AsahiSakamoto
ひとまずHoloLensと自分の周辺技術(WEB・IoT)と混ぜた話
ひとまずHoloLensと自分の周辺技術(WEB・IoT)と混ぜた話
Seigo Tanaka
Xrmeating2021
Xrmeating2021
AsahiSakamoto
第4回HoloLens参考書読書会発表資料
第4回HoloLens参考書読書会発表資料
Masahiro Ide
なにかが起きるで考えるWEB、そしてIoT・Mixed Reality
なにかが起きるで考えるWEB、そしてIoT・Mixed Reality
Seigo Tanaka
Holoニュースとか(2019_08)
Holoニュースとか(2019_08)
Naoaki Yamaji
Holoニュースとか(2020 02)
Holoニュースとか(2020 02)
Naoaki Yamaji
Win mrモーションコントローラーについての所感
Win mrモーションコントローラーについての所感
Naoaki Yamaji
TGSでのXR系展示レポ
TGSでのXR系展示レポ
Naoaki Yamaji
HoloLens_MeetupVal22 HoloMoto
HoloLens_MeetupVal22 HoloMoto
AsahiSakamoto
Was ist angesagt?
(20)
HoloLensStartdash_v1.5
HoloLensStartdash_v1.5
HoloLensの魅力とビジネス利用
HoloLensの魅力とビジネス利用
やんちゃでかしこいあいぼうをHoloLensで操作してみた
やんちゃでかしこいあいぼうをHoloLensで操作してみた
自分で作ったHoloLensアプリを他業種の人に見せてみた
自分で作ったHoloLensアプリを他業種の人に見せてみた
20171030_HoloLens読書会vol.1発表資料
20171030_HoloLens読書会vol.1発表資料
画像から深度推定 on HoloLens
画像から深度推定 on HoloLens
HoloLensでIoT制御してみて感じる未来
HoloLensでIoT制御してみて感じる未来
HoloLensとBluetooth SensorTagをつなげた話
HoloLensとBluetooth SensorTagをつなげた話
Holo lens × ue4での開発について
Holo lens × ue4での開発について
Adobe XDをHoloLensで表示させて考えるいろいろな可能性
Adobe XDをHoloLensで表示させて考えるいろいろな可能性
Osaka holo lens hackathon 2021 HoloMoto
Osaka holo lens hackathon 2021 HoloMoto
ひとまずHoloLensと自分の周辺技術(WEB・IoT)と混ぜた話
ひとまずHoloLensと自分の周辺技術(WEB・IoT)と混ぜた話
Xrmeating2021
Xrmeating2021
第4回HoloLens参考書読書会発表資料
第4回HoloLens参考書読書会発表資料
なにかが起きるで考えるWEB、そしてIoT・Mixed Reality
なにかが起きるで考えるWEB、そしてIoT・Mixed Reality
Holoニュースとか(2019_08)
Holoニュースとか(2019_08)
Holoニュースとか(2020 02)
Holoニュースとか(2020 02)
Win mrモーションコントローラーについての所感
Win mrモーションコントローラーについての所感
TGSでのXR系展示レポ
TGSでのXR系展示レポ
HoloLens_MeetupVal22 HoloMoto
HoloLens_MeetupVal22 HoloMoto
Ähnlich wie HoloLens x Graphics 入門
Kobe HoloLensMeetupSpringSpetial.pdf
Kobe HoloLensMeetupSpringSpetial.pdf
AsahiSakamoto
Holoニュースとか(2019 02)
Holoニュースとか(2019 02)
Naoaki Yamaji
5周年ふりかえり!HoloLens 1とHoloLens 2のUI操作と実装の違いを改めて見てみよう
5周年ふりかえり!HoloLens 1とHoloLens 2のUI操作と実装の違いを改めて見てみよう
Takahiro Miyaura
VIVEFocusについて
VIVEFocusについて
Naoaki Yamaji
bHapticsのtactosyについて
bHapticsのtactosyについて
Naoaki Yamaji
HoloLensデモ展示TIPS集
HoloLensデモ展示TIPS集
Tatsuya Sakai
HoloLensアプリの臨場感を高める技術
HoloLensアプリの臨場感を高める技術
Hiroki Tanaka
Holoニュースと 最近作ったアプリ紹介
Holoニュースと 最近作ったアプリ紹介
Naoaki Yamaji
HoloLens_meetup_val.21
HoloLens_meetup_val.21
AsahiSakamoto
Ähnlich wie HoloLens x Graphics 入門
(9)
Kobe HoloLensMeetupSpringSpetial.pdf
Kobe HoloLensMeetupSpringSpetial.pdf
Holoニュースとか(2019 02)
Holoニュースとか(2019 02)
5周年ふりかえり!HoloLens 1とHoloLens 2のUI操作と実装の違いを改めて見てみよう
5周年ふりかえり!HoloLens 1とHoloLens 2のUI操作と実装の違いを改めて見てみよう
VIVEFocusについて
VIVEFocusについて
bHapticsのtactosyについて
bHapticsのtactosyについて
HoloLensデモ展示TIPS集
HoloLensデモ展示TIPS集
HoloLensアプリの臨場感を高める技術
HoloLensアプリの臨場感を高める技術
Holoニュースと 最近作ったアプリ紹介
Holoニュースと 最近作ったアプリ紹介
HoloLens_meetup_val.21
HoloLens_meetup_val.21
Mehr von hecomi
ゲーム x リアル - Mont Blanc Pj. & LITTAI -
ゲーム x リアル - Mont Blanc Pj. & LITTAI -
hecomi
ガジェットやサービスを組み合わせて出来る生活の紹介とその考察 - おうちハックナイト/ 野生のおうちハック セッション 1
ガジェットやサービスを組み合わせて出来る生活の紹介とその考察 - おうちハックナイト/ 野生のおうちハック セッション 1
hecomi
おうちハック勉強会2
おうちハック勉強会2
hecomi
ハッピーおうちハッキング - 第2回おうちハック勉強会 キーノートトーク
ハッピーおうちハッキング - 第2回おうちハック勉強会 キーノートトーク
hecomi
手の形状とか距離とか分かるスクリーン作ってみた@透明ごっちゃ煮技術交流会
手の形状とか距離とか分かるスクリーン作ってみた@透明ごっちゃ煮技術交流会
hecomi
第5回 ニコニコ学会β 研究してみたマッドネス Mont Blanc Pj.(レゴへのプロジェクションマッピング)
第5回 ニコニコ学会β 研究してみたマッドネス Mont Blanc Pj.(レゴへのプロジェクションマッピング)
hecomi
Oculus Rift meets Mixed Reality World (裏 Ocufes #1)
Oculus Rift meets Mixed Reality World (裏 Ocufes #1)
hecomi
Hello, C++ + JavaScript World! - Boost.勉強会 #11 東京
Hello, C++ + JavaScript World! - Boost.勉強会 #11 東京
hecomi
Node.js × 音声認識 - 東京Node学園 2012 LT枠 6番目
Node.js × 音声認識 - 東京Node学園 2012 LT枠 6番目
hecomi
モテる! Node.js でつくる twitter ボット制作
モテる! Node.js でつくる twitter ボット制作
hecomi
Mehr von hecomi
(10)
ゲーム x リアル - Mont Blanc Pj. & LITTAI -
ゲーム x リアル - Mont Blanc Pj. & LITTAI -
ガジェットやサービスを組み合わせて出来る生活の紹介とその考察 - おうちハックナイト/ 野生のおうちハック セッション 1
ガジェットやサービスを組み合わせて出来る生活の紹介とその考察 - おうちハックナイト/ 野生のおうちハック セッション 1
おうちハック勉強会2
おうちハック勉強会2
ハッピーおうちハッキング - 第2回おうちハック勉強会 キーノートトーク
ハッピーおうちハッキング - 第2回おうちハック勉強会 キーノートトーク
手の形状とか距離とか分かるスクリーン作ってみた@透明ごっちゃ煮技術交流会
手の形状とか距離とか分かるスクリーン作ってみた@透明ごっちゃ煮技術交流会
第5回 ニコニコ学会β 研究してみたマッドネス Mont Blanc Pj.(レゴへのプロジェクションマッピング)
第5回 ニコニコ学会β 研究してみたマッドネス Mont Blanc Pj.(レゴへのプロジェクションマッピング)
Oculus Rift meets Mixed Reality World (裏 Ocufes #1)
Oculus Rift meets Mixed Reality World (裏 Ocufes #1)
Hello, C++ + JavaScript World! - Boost.勉強会 #11 東京
Hello, C++ + JavaScript World! - Boost.勉強会 #11 東京
Node.js × 音声認識 - 東京Node学園 2012 LT枠 6番目
Node.js × 音声認識 - 東京Node学園 2012 LT枠 6番目
モテる! Node.js でつくる twitter ボット制作
モテる! Node.js でつくる twitter ボット制作
HoloLens x Graphics 入門
1.
HoloLens×Graphics入門 Tokyo HoloLens Meetup
vol.2 - 2017/03/15 hecomi
2.
はじめに
3.
はじめに • HoloLens で見られる面白い表現の解説 •
本発表のサンプルのコードは以下で公開: • https://github.com/hecomi/HoloLensPlayground • 詳細な解説は別途ブログにまとめます(一部まとめ済み)
4.
自己紹介 凹(hecomi) @hecomi http://tips.hecomi.com
5.
HoloLens に見られる表現
6.
HoloLens に見られる表現 • VR
や普通のゲームとは違う表現の仕方・工夫が色々とある • こういった表現のうち基本的な幾つかを紹介・解説 • バーチャルなオブジェクトを実在感を高める • バーチャルなオブジェクトの実在感を損なわないようにする
7.
実在感を高める • リアルなものでオブジェクトを遮蔽
8.
実在感を高める • 壁に穴をあけて別の世界を表示
9.
実在感を高める • 空間マッピングの提示
10.
実在感を損なわない • ニアクリップの表現の工夫
11.
実在感を高める
12.
別の世界への入り口をつくる Unlit/Color で (0,
0, 0, 1)公式チュートリアル Holograms 101 • HoloLens では黒色が透明になる • 穴の空いた黒いモデルを用意すれば穴空き表現が可能
13.
別の世界への入り口をつくる // a =
オブジェクトのアルファ (現実の色 × (1 - a)) +オブジェクトの色 × a (現実の色 × バイザの黒半透明)+ オブジェクトの色 目に見える情報 キャプチャの情報 簡単な説明(※正確ではないので注意) ※ https://developer.microsoft.com/ja-jp/windows/holographic/case_study_-_looking_through_holes_in_your_reality • ただし黒を描画するとキャプチャ時に黒になってしまう
14.
別の世界への入り口をつくる Shader "HoloLens/Occlusion" { SubShader { … Pass { ColorMask 0 ZWrite
On CGPROGRAM #pragma vertex vert #pragma fragment frag ENDCG } } } 色は出力しないが、 デプスは出力する • これを回避するには ColorMask 0 をする
15.
リアルなものでオブジェクトを遮蔽 • 同じマテリアルを空間マッピングで認識したモデルに割り当てれば、現実のもの でバーチャルなオブジェクトを遮蔽できる • HoloToolkit-Unity
の Occlusion マテリアルがそれに該当 • = 認識した空間のデプス情報だけをゲームに書き込む
16.
壁に穴をあけて別の世界を表示 • 決め打ちの穴空きモデルではなく動的に穴をあけてみる
17.
壁に穴をあけて別の世界を表示 • ステンシルバッファを利用 • 見えないバッファ領域にマスク情報などを書き込める •
詳細はこちら: http://tips.hecomi.com/entry/2017/02/18/190949
18.
ステンシルバッファ 最終的な出力 ステンシルバッファにマスクを書き込み 画は出力しない マスクされた場所を調べる マスクされた場所に描画 マスクされた場所以外を調べる マスクされた場所以外に描画 OR OR … マスク用オブジェクト
描画オブジェクト Stencil { Ref [_Mask] Comp Equal } Stencil { Ref [_Mask] Comp NotEqual } Stencil { Ref [_Mask] Comp Always Pass Replace } 壁に穴をあけて別の世界を表示
19.
壁に穴をあけて別の世界を表示 • 方法1:次の順で描画 1. 窓をマスクにしたオブジェクト 2.
マスク領域以外に壁
20.
壁に穴をあけて別の世界を表示 • 方法2:次の順で描画 1. 窓をマスクにしたオブジェクト 2.
マスク領域にオブジェクト 壁の穴あけとハイブリッドにしても OK
21.
空間マッピングの提示 • デフォルト(HoloToolkit-Unity)の方法 • 認識した壁をワイヤーフレーム表示 •
ジオメトリシェーダで処理 • ジオメトリシェーダで各ポリゴン内の各頂点から対 辺までの距離を求め、フラグメントシェーダでその 距離を参照して線になる場所を色塗り HoloLens は シェーダモデル 5.0 が使える!
22.
空間マッピングの提示 • ワールド座標を使えば色々と面白表現ができる • ここでいうワールド座標はゲーム内だけでなく現実の座標とも考えられる struct
v2f { float3 worldPos : TEXCOORD0; ... }; v2f vert(appdata_base v) { ... o.worldPos = mul(unity_ObjectToWorld, v.vertex); ... } inline float toIntensity(float3 pos) { return frac(length(pos) - _Time.y); } fixed4 frag(v2f i) : SV_Target { float3 worldIndex = floor(i.worldPos.xyz * _TilesPerMeter); float3 boxelCenter = worldIndex / _TilesPerMeter; float intensity = toIntensity(boxelCenter); return _Color * intensity; } ワールド座標を使って空間をボクセルに区切る
23.
空間マッピングの提示 • ワールド座標を使えば色々と面白表現ができる • ここでいうワールド座標はゲーム内だけでなく現実の座標とも考えられる
24.
空間マッピングの提示 • スクリプト連携で壁にエフェクトを出す Physics.Raycast r =
speed * time center
25.
実在感を損なわないようにする
26.
ニアクリップ表現の工夫 https://developer.microsoft.com/en-us/windows/holographic/Hologram_stability.html より • HoloLens
では 0.85 m という比較的遠目のニアクリップが推奨 • 現実のオブジェクトとの整合
27.
ニアクリップ表現の工夫 https://developer.microsoft.com/en-us/windows/holographic/Hologram_stability.html より ここの表現が大事 • HoloLens
では 0.85 m という比較的遠目のニアクリップが推奨 • 現実のオブジェクトとの整合
28.
ニアクリップ表現の工夫 • ホーム画面では近づいたとき黒くなる • Fragments
ではポリゴン分解
29.
ニアクリップ表現の工夫 • 再現してみる
30.
ニアクリップ表現の工夫 • 頂点シェーダでカメラまでの距離を頂点ごとに取得 • 頂点カラーに開始・終了距離から算出した度合いを掛ける •
透明にしても良いが透明オブジェクトはコスト高なので注意 float4 worldPos = mul(unity_ObjectToWorld, v.vertex); float3 dist = length(_WorldSpaceCameraPos - worldPos); fixed darkness = clamp((_Start - dist) / (_Start - _End), 0.0, 1.0); o.color *= darkness;
31.
ニアクリップ表現の工夫 [maxvertexcount(3)] void geom(triangle appdata_t
input[3], inout TriangleStream<g2f> stream) { for (int i = 0; i < 3; ++i) { ... float4 worldPos = mul(unity_ObjectToWorld, v.vertex); float3 dist = length(_WorldSpaceCameraPos - worldPos); fixed destruction = clamp((_Start - dist) / (_Start - _End), 0.0, 1.0); ... v.vertex.xyz = (v.vertex.xyz - center) * (1.0 - destruction * _Scale) + center; v.vertex.xyz = rotate(v.vertex.xyz - center, random * destruction * _Rotation) + center; v.vertex.xyz += v.normal.xyz * destruction * _Position * random; o.vertex = UnityObjectToClipPos(v.vertex); ... stream.Append(o); } stream.RestartStrip(); } • ポリゴン分解はジオメトリシェーダを経由すると簡単 自動で頂点がバラバラになってくれる
32.
まとめ
33.
まとめ • HoloLens 特有の表現をいくつか解説 •
シェーダを使えると表現の幅が広がる • 本発表のサンプルプロジェクトは以下からダウンロード可: • https://github.com/hecomi/HoloLensPlayground
Jetzt herunterladen