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

TokyoHoloLensMeetUp_vol21.pdf

 TokyoHoloLensMeetUp_vol21.pdf

こちらのTokyoHoloLensMeetUp_vol21.pdfで登壇した内容です

https://hololens.connpass.com/event/181938/

Shinya Tachihara

July 29, 2020
Tweet

More Decks by Shinya Tachihara

Other Decks in Programming

Transcript

  1. Reprojection (再投影)で描画補正 Late Stage Reprojection (LSR) は、ユーザーが移動したときにホ ログラムを安定化するのに役⽴つハードウェア機能です。 Late Stage

    Reprojection(AzureRemoteRendering) “ “ At the end of rendering a frame, the Windows Mixed Reality platform takes the color & depth render targets produced by the application and transforms the final screen output to account for any slight head movement since the last head pose prediction. Late-stage reprojection(MRTK) “ “ HoloLab Inc. 7
  2. Depth format を 16bitにした際のMaskの対策 Unityの Mask Component はステンシルが使われている 16bitでもMaskがしたい時は、 Rect

    Mask2D を使おう ただし、Rect Mask2D は矩形マスクしかできないことに注意 HoloLab Inc. 18
  3. Planer Reprojectionの種類 コンテンツ上に平⾯を置く2つの⼿法 Manual Planer Reprojection 平⾯の位置と姿勢を SetFocusPointForFrame を使って指定する 平⾯の位置は

    Colliderにヒットした場所 に置く場合が主 HoloLens (gen 1) 初期では主にこの⼿法が取られていた Automatic Planer Reprojection 深度値 を使って⾃動で平⾯を合わせる HoloLens (gen 1) 後期から推奨されるようになった HoloLab Inc. 21
  4. 回避策3: Depth書き込みしたものを背⾯に置く UnityUIを使⽤している場合は、他のオブジェクトの深度値を利⽤す るという⼿がとれる. If the above methods do not

    work for a given scenario (i.e using Unity UI), it is possible to have another object write to the depth buffer. A common example is using Unity UI Text on a floating panel in a scene. By making the panel opaque or at least writing to depth, then both the text & the panel will be stabilized by the platform since their z-values are so close to each other. “ “ HoloLab Inc. 39
  5. 実際に計算する PressableButtonが(0,0,2)、カメラのNear/Farが0.1/1000とする バックプレートの奥⾏き: 2.008e-3 ⽂字の奥⾏き: 2.0e-3 深度値のフォーマット︓16bit -> 1.525e-5, 24bit

    -> 5.960e-8 バックプレートと⽂字の深度値の差は、8.0e-6 16bitでは同値と⾒做せるが、24bitでは同値ではない ※ これは例なので実際どうなっているかは不明だが、ある程度深度値 が近ければ補正が有効になるようである HoloLab Inc. 42