夜風のMixedReality

xRと出会って変わった人生と出会った技術を書き残すためのGeekなHoloRangerの居場所

HoloLens 2アプリを遊んでみる MRTK ExampleHub その3 ClippingExamples

本日はHoloLens 2のアプリレビューです。

その1ではMRTKExampleHubのインストールを行いました。

redhologerbera.hatenablog.com

MRTKExampleHubはストアではなくMRTKのGithubのリリースでアプリケーションパッケージとしてリリースされているためインストールを行いました。

その2ではHand Interaction Examplesを見ました。 これはBoundingBoxなど基本的なHoloLens 2でのHandTrackingの体験を行えます。

今回はClippingExamplesを見ていきます。

〇ClippingExamplesとは?

f:id:Holomoto-Sumire:20200713174650j:plain

www.youtube.com

 前回のHand Interaction ExamplesはHand Trackingでの体験でしたがClippingExamplesはオブジェクトのShader表現を見ることができます。

 MixedRealityToolkit ExamplesではMixedRealityToolkit.Examples/Demos/StandardShader/Scenesにあります。

 f:id:Holomoto-Sumire:20200713094548j:plain

 シーンには心臓を模した3Dオブジェクトがあり、ユーザーの手でつかみ、移動、回転、拡大縮小が行えます。

 プレート、球、キューブの3つのガラスのような透明度のオブジェクトがあり、これらも手でつかみ移動回転拡大縮小が行えます。

 ガラスのようなオブジェクトを心臓の3Dオブジェクトに当てることで、干渉している部分がClipping(部分的にくりぬかれる)されます。

 プレートのみ他と違い、プレートの表・裏でClippingされます。プレーンだけはプレーンの大きさにかかわらずすべてがClippingされます。

 これはMRTK/StandardShaderClippingPlane, ClippingSphere, ClippingBoxを組み合わせて、メッシュ上のピクセルを動的にクリップしています。

〇心臓の3Dオブジェクト

 f:id:Holomoto-Sumire:20200713095157j:plain

[NearInteractionGrabbable]コンポーネントと[ManipulationHandler]コンポーネントがアタッチされています。

 [NearInteractionGrabbable]コンポーネントでつかみを検知して[ManipulationHandler]で移動や回転拡大縮小を指定します。

マテリアルのClipping BorderのColorとWidthでclipされる断面の色に変化を与えています。

f:id:Holomoto-Sumire:20200713101806j:plain

f:id:Holomoto-Sumire:20200713102025j:plain

〇Clipping オブジェクト

Sphere

f:id:Holomoto-Sumire:20200713174057j:plain

[Clipping Sphere]コンポーネントがアタッチされています。

 f:id:Holomoto-Sumire:20200713100828j:plain   このRenderersに心臓のMeshRendererが設定されていることで心臓のオブジェクトをクリッピングします。

[Clipping Size]はInsideの状態でオブジェクトが干渉している部分をクリップしOutsideの状態で干渉していない部分をクリップします。 Outsideの場合干渉している部分のみ表示されるようになります。

・Cube

f:id:Holomoto-Sumire:20200713174227j:plain

Sphere同様ClippingBoxコンポーネントがアタッチされています。

f:id:Holomoto-Sumire:20200713180120j:plain

・Plane

f:id:Holomoto-Sumire:20200713174815j:plain

Planeの表と裏の領域でClippingすることができます。

 これは前述のとおりPlaneの形状にかかわらずワールド座標でClippingが行われます。

f:id:Holomoto-Sumire:20200713180252j:plain

Clippingはオブジェクトに変化を与えアイデア次第で非常に表現の幅が広がります。