こんにちは、ナレコム杉本です。
今回はMicrosoft公式にあるチュートリアルHolograms 230 第四章を進めていきます。
前回からの続きになるのでHoloLens公式チュートリアル 230 第一章から始めてください。
第四章 配置
目標
・ホログラムが面にフィットするかどうかを判断する。
・ホログラムが面にフィットするかどうかのフィードバックをユーザーに提供する。
手順
①Unityの[Hierarchy]パネルで、SpatialProcessingオブジェクトを選びます。
②[Inspector]パネルで [Surface Meshes To Planes (Script)]コンポーネントに移動し[Draw Planes]プロパティを[Nothing]に変更して選択内容をクリアします。
③[Draw Planes]プロパティを[Wall]に変更して、壁面だけをレンダリングします。
④[Project]パネルのScriptsフォルダーで、[Placeable.cs]をダブルクリックしてVisual Studioで開きます。
平面の検索が完了すると作成されるポスターとプロジェクション ボックスには、Placeable スクリプトが既にアタッチされています。必要なのは、一部のコードのコメントを解除することだけです。
このスクリプトは以下を行います。
・境界キューブの 4 つの角と中心からレイキャストすることで、ホログラムが面にフィットするかどうかを判断します。
・面法線をチェックし、ホログラムを配置するのに十分滑らかかどうかを判断します。
・ホログラムを囲む境界キューブをレンダリングして、配置中に実サイズを表示します。
・ホログラムの下と後ろに影を落として、壁または床のどこに配置するかを表示します。
・ホログラムを面に配置できない場合は影を赤でレンダリングし、配置できる場合は緑でレンダリングします。
・ホログラムの向きを再度設定して、面の種類に揃え、一体感を出します。
・ジャンプやスナップの動作を避けるため、選択した面にホログラムを滑らかに配置します。
PlaySpaceManager.csをこちらの内容に変更してください。
ビルドと配置
①先ほどと同様、プロジェクトをビルドして HoloLens に配置します。
②空間マッピング データのスキャンと処理が完了するのを待ちます。
③太陽系が表示されたら、その下にあるプロジェクション ボックスに視線を向け、「選ぶ」ジェスチャーを使って動かします。プロジェクション ボックスが選択されている間は、プロジェクションボックスの周りに境界キューブが表示されます。
④頭を動かして室内のさまざまな場所に視線を向けます。プロジェクション ボックスが視線に追従します。プロジェクション ボックスの下の影が赤になったら、その面にはホログラムを配置できません。プロジェクション ボックスの下の影が緑になったら、もう一度「選ぶ」ジェスチャーを使ってホログラムを配置します。
⑤壁にあるホログラフィック ポスターの 1 枚を探して選び、新しい場所に移動します。ポスターが床と天井には配置できないことと、ポスターを動かすと正しく各壁の方に向くことがわかります。