2019年12月21日土曜日

[HoloLens Advent Calendar 2019] 21日目 MRTKv2のClippingをやってみた

お疲れ様です。ZuQ9->Nnです。
この記事は、HoloLens Advent Calendar 2019、21日目
2019/12/21 の内容です。

当初、azure remote renderingを試そうと思ったのですが、日本からではまだ利用できないようでした。
(認識あってます??、間違ってたら指摘お願いいたします。日本以外でも未だなのかも。。)
折角、枠をとったので、何か投稿しようと思い。色々見ていました。
やはり、Clippingの表現がとても映えて面白いと思ったので試してみました。
Clippingを利用するとオブジェクトをくり抜いて、中身を見るといったMRならではの表現が簡単に可能になります。
既に、何人か記事も出していますので、そちらも参考にお願いします。

2019-11-05から1日間の記事一覧 - デコシノニッキ

ホロレンジャーの戦いの記録

MixedRealityToolKit v2 Examplesを触ってみる ClippingExamples - 夜風のMixedReality

MixedRealityToolKit(以下MRTK)にはExamplesというデモサンプル集が含まれています。  Examplesを理解すればMRTKの機能の使い方を学習することや ノンコーディングでの アプリ開発 が可能になります。  今回は UX/StandardShader/ClippingExamplesを見ていきます。 HoloLens ClippingExample ...
今回の環境は、Unity 2019.2.12f1
Microsoft Mixed Reality Toolkit v2.1.0(Microsoft.MixedReality.Toolkit.Unity.Foundation.2.1.0.unitypackage) を利用しました。

プロジェクトの作成、 Microsoft.MixedReality.Toolkit.Unity.Foundation.2.1.0.unitypackageのインポート
UnityのMixed Relaity ToolkitメニューからAdd to Scene and Configureを選択する等はいつも通り
わからない方は、以前の記事を参考にしてください。
MixedRealityToolkit > StandardShaderに
ClippingBox.cs、ClippingPlane.cs、ClippingSphere.csが存在します。
そちらがClippingの処理を行うスクリプトで、形状の違いはありますが、使い方は一緒です。
今回はCubeにClippingPlaneを行う手順を示します。
まずは、HierarchyのCreate > 3D Object > CubeでCubeを作成

次にClipping用のマテリアルを作成します。
Pro

ProjectのCreate > Materialを選択、Materialの名前は何でも大丈夫ですが
今回はClippingMaterialとしました。


ClippingMaterialを選択、InspectorのShaderのドロップダウン押し
Mixed Reality Toolkit

さらにStandardを選択

InspectorがMixedRealityToolkit/Standardに切り替わったら
Clipping BorderのチェックをONにします。

ProjectrのClippingMaterialをHierarchyのCreateにドラッグ&ドロップでアタッチ
CubeのInspectorでClippingMaterialがアッタッチされたことを確認してください。

Cubeを右クリック、メニューからCreate Empetyを選択、Cubeの子供にします。

Empetyのオブジェクトの名前を変更します。特に何でも良いのですが、今回はClippingPlaneとしました。

ClippingPlaneのがInspectorのAdd Componentで、Clipping Planeのスクリプトをアタッチ

InspectorのClipping PlaneスクリプトRenderersのsizeに1を入力

HierarchyのCubeをClipping PlaneスクリプトのInspector > Renderers
Element 0 にドラッグ&ドロップでアタッチメント

そうすると、この時点で、SceneとGameのCubeの下半分が消えて見えなくなっています。
SceneでClipping PlaneオブジェクトのY座標を変更すると、Cubeが消えたり、現れたりします。こんな感じになります。

Exampleでは、すでに専用のMaterialが作成されていたり、
Animationを利用して自動でClipping Planeオブジェクトの座標を変更して
カッコイイ表現を行っていますので、是非、そちらを見てください。

おまけ。。

まぁ、やっちゃいますよね。こんなこと。。
あんたも好きねぇ。。

0 件のコメント:

コメントを投稿