[HoloLens]Quality Fundamentals アプリ
Microsoft Design Labs から 2021/03/31 に Quality Fundamentals という HoloLens 2 向けのアプリケーションがストアで公開されました。
概要
MRアプリケーションを設計するための「品質の基礎」について学べるもので、新しい自転車工場の建設と運営に MR を使用する際に遭遇する可能性のある実際のシナリオの中で、これらが示されています。
アプリを起動すると 4 つの項目が選べるようになっています。
- Device I/O and Environment : デバイスI/Oと環境
- Anchor Fundamentals : アンカーの基礎
- Stability and Fidelity : 安定性と正確さ
- 3D Asset Fundamentals : 3Dアセットの基礎
それぞれの内容について音声によるナレーションで解説されていますが、英語での説明になるため、ナレーションの内容について(だいたいの)日本語訳をしたのと、重要な部分について強調表示をしました。
Device I/O and Environment
あなたはあなたの新しい自転車組立工場を計画しています。デバイスのセンサーと環境条件が、物理的な空間に対してあなたとホログラフィックオブジェクトがどこにあるかを追跡する機能にどのように影響するかを調べてみましょう。
最初の組み立てワークステーションの設計を計画する新しい自転車工場のフロアに入るところから始めましょう。
準備ができたら、ナビゲーションパネルの[次へ]を押します。
トラッキングに影響を与える可能性のあるサーフェスにはいくつかの側面があります。これには、真っ白な壁や繰り返しパターン、ガラスの鏡面仕上げなど、特徴のない大きな表面が含まれます。この大きな空の倉庫で最初のワークステーション領域を設計して、この例を見てみましょう。まず、ワークステーションのデザインの隅にホログラフィックワークベンチを追加しましょう。ホログラフィックワークベンチを強調表示された場所にドラッグします。これは、床の黒と黄色のテープで指定された左端のワークステーション領域にあります。
ホログラムを床にマークされた強調表示された領域にドラッグします。
次に、これと同じ次のワークステーション領域を見てください。
同一のワークステーションのどれがホログラフィックワークベンチを表示するかをデバイスが決定できないことに注意してください。床にバリエーションを追加することで、これを修正できます。
完成したデザインに早送りしましょう。
次に、倉庫と左側のワークショップの壁を見回して、より近い仕上げ、ガラス、特徴のない壁など、他の難しい表面を見つけることができるかどうかを確認します。
準備ができたら、ナビゲーションパネルの[次へ]を押します。
IoTスマートファクトリーライトとホログラフィックを使用してコントロールパネルを使用し、照明がトラッキングにどのように影響するかを確認しましょう。先に進み、コントロールパネルを使用してライトを最小の明るさに設定します。
光が少なすぎると、トラッキング機能が働かなくなります。 ルクスメーターをお持ちの場合は、500〜1000ルクスの明るさから始めるとよいでしょう。また、モバイルデバイスにルクスメーターのアプリをダウンロードすれば、すぐに読み取ることができます。
IoTブラインドコントロールを使用して倉庫の窓のブラインドを開き、照明の急激な変化がトラッキングセンサーにどのように干渉するかを確認しましょう。 IoTコントロールパネルを使用してブラインドを開きます。
太陽の明るい光と倉庫の暗い場所が同時に見えると、トラッキングができなくなります。トラッキングセンサーには、このような照明の急激な変化をカバーするだけのダイナミックレンジがないため、最適なトラッキングを行うためには、セッションの間、環境が均一に明るくなるようにしてください。
IoTパネルを使用してブラインドを再び閉じましょう。
デバイスIOと環境については以上です。要約すると、環境内のテクスチャと照明に注意し、照明の急激な変化がセンサーに影響を与えることに注意してください。
Anchor Fundamentals
アンカーを効果的に使用してホログラムを物理空間に位置合わせする方法を調べてみましょう。
準備ができたら、ナビゲーションパネルの[次へ]を押します。
あなたの自転車ビジネスは順調に進んでいるので、別の組み立てワークステーションを設計しましょう。このスペース計画シナリオでアンカーを使用して、ホログラムを配置した場所に確実に配置する方法を紹介します。最初のワークステーションと一致するように、2番目のワークステーションデザインにホログラフィックワークベンチを追加することから始めましょう。
ホログラムを床にマークされた強調表示された領域にドラッグします。
ワークベンチでアンカーを使用していないことに注意してください。次に、照明を落としてロストラッキングをシミュレーションしてみましょう。
アンカー付きのシェルフユニットとツールボックスが正しい場所に復元され、アンカーを付けていないワークベンチは正しい位置に復元されなかったことから、アンカーがオブジェクトが配置された場所を覚えておくための鍵であることがわかります。
準備ができたら、ナビゲーションパネルの[次へ]を押します。
これで、ファクトリワークステーションの設計が証明されました。ワークステーション全体のコピーを一度に配置して効率を高めてから、アンカレッジを配置しましょう。先に進み、ワークステーションの設計全体を指定された3番目のワークステーション領域にドラッグして配置します。
ホログラムを床にマークされた強調表示された領域にドラッグします。
ワークステーションを見て、ホログラムが指定されたエリアから外れていることや、デザインの向きが少しずれていることにに注目してください。 これは、ホログラムが遠くにあるアンカーに依存している場合に起こります。これを解決するには、1つのアンカーを共有するのではなく、それぞれの主要なオブジェクトに独自のアンカーを与える必要があります。
アンカーを追加しました。今度は周りを見回して違いに気づきます。前後に行って比較することもできます。
準備ができたら、ナビゲーションパネルで[次へ]を押します
ビジネスが成長するにつれて、ワークステーション間にベルトコンベヤーを追加すると効率が向上することがわかります。
あなたはメーカーと協力して、HoloLensを使って最適なベルトのデザインを見つけたいと考えています。
ホログラムがフィットするかどうかを判断するには、両者が同じ場所にあるホログラムを確認する必要があります。
これを実現する1つの方法は、QRコードでモデルを固定することです。インジケーターに従い、QRコードまで歩いてデザインを確認します。
工場全体にQRコードを配置したくない場合は空間アンカーを利用できます。ローカルアンカーをクラウドに永続化することも可能です。 空間アンカーは、複数のHoloLensやモバイルデバイスから配置できます。
特に時間の経過とともに大きく変化する環境では、単一のアンカーでこのような大きなオブジェクトを配置することがいかに難しいかに注意してください。小さな回転誤差は、アンカーからの距離とともにはるかに顕著になります。 固定されたホログラムは、その長さを歩くときに位置がずれることもあります。次に、これを改善する方法を見ていきます。
準備ができたら、ナビゲーションパネルの[次へ]を押します。
次に、2つのコーナーアンカーを使用して新しいコンベアシステムを固定し、工場に正確に配置してみましょう。先に進み、最初のアンカーを近くのコンベヤーの中央に配置します。
では、2番目のアンカーを反対側に配置します。
アンカーを使用すると、スケールの小さなエラーを修正でき、回転精度を大幅に向上させることができます。 2つのアプローチを切り替えて、違いを確認してください。
以上、アンカーについて説明しました。要約すると、オブジェクトが同じ場所に確実に留まることが重要な場合、アンカーを使用します。オブジェクトが多数ある場合は、それぞれのグループや小グループにそれぞれのアンカーを与えることを検討し、大きな物の場合は、2つ以上のアンカーを使用することを検討してください。
Stability and Fidelity
ホログラムの安定性と正確さを向上させるいくつかの方法を探りましょう。
準備ができたら、ナビゲーションパネルの[次へ]を押します。
自転車の歯車を比較して、毎秒60フレームを達成することが重要である理由を説明しましょう。毎秒60フレームを達成することは、単に見た目が綺麗であるだけよりも重要です。また、オブジェクトが空間にロックされているように見えること、およびエクスペリエンスが一部の人々に不快感を引き起こさないことを確認することも重要です。
HoloLens用に最適化されていない自転車用歯車の詳細なCADデザインをロードしました。周りを見回して、体験がどのように揺らいでいるかに注目してください。これは、毎秒60フレームを達成しない場合に発生することです。
次に、最適化された歯車の設計を選択し、周りを見回してパフォーマンスの向上を確認します。
両方のオプションを試して比較してください。
準備ができたら、ナビゲーションパネルの[次へ]を押します。
組み立てタスクリストを見てみましょう。**LSR(Late Stage Reprojection)**の使用について説明します。
タスクのチェックリストをドラッグして、効果を確認してください。
リストを見ながら頭を左右に動かしてみてください。これがどのようにジッターを引き起こしているかを確認してください。デバイスのLSRシステムは、デプスバッファーを使用してホログラムを安定させます。タスクリストにバックプレートがないと、テキスト間のギャップによってリプロジェクションが近距離と遠距離の間で連続的に調整され、ジッターの原因となります。
テキストの後ろにバックプレートを追加すると、ジッターがどのように減少するかに注目してください。アプリ内のすべてのマテリアルがデプスバッファーにも書き込まれていることを確認してください。デプスLSRモードでは、ほとんどのアプリで最高のホログラム安定性が得られます。 アプリに奥行きが急激に変化するモデルがある場合は、自動平面モードはホログラムの安定性を向上させる可能性があります。デバイスポータルでモードをすばやく切り替えることもできます。 今すぐお試しください。
準備ができたら、ナビゲーションパネルで[次へ]を押します。
次のタスクは、自転車のデザインのフレームにデカール(転写)の1つを追加することです。先に進んでデカールを選択し、それを自転車のフレームにドラッグして適用します。
フレームがデカールにどのように干渉しているかを確認してください。これはZファイティングと呼ばれます。Zファイティングは通常、異なるオブジェクト上の2つのサーフェスが同じZ深度値に解決されるときに発生します。 動きがある場合や、ビューアとホログラムの間の距離が変化している場合に特に目立ちます。これを修正するために、デカールを少し前方に移動して、どちらのオブジェクトが前面にあるかを決定するために使用されるあいまいな値を排除します。
デカールの両方のオプションを試して、Zファイティングの違いを確認してください。
デカールに干渉パターンが表示されるまで、自転車に近づいたり遠ざかったりする必要がある場合があります。または、必要に応じて、自転車を手前にドラッグして、詳しく調べることもできます。
準備ができたら、ナビゲーションパネルの[次へ]を押します。
タスクチェックリストパネルのテキストが時々きらめいたりギザギザに見えたりして読みにくいことに気づきましたか。また、ホイールスポークのきらめきにも注目してください。これはエイリアシングと呼ばれます。Unity のTextMesh Pro および MRTK シェーダーは3Dアセットのテキストエイリアシングを大幅に軽減します。 可能であれば、薄くて高コントラストのジオメトリの使用は避け、違いを自分で比較してください。
このモジュールでは、複雑に絡み合ったものがフレームレートにどのように影響するか、デプスバッファーにLSRを使用して異なる距離にあるオブジェクトを安定させることの重要性、そしてZファイティングやエイリアシングの原因となる状況を体験していただきました。
3D Asset Fundamentals
高いレベルのディテールと視覚的な忠実度を備えたリッチな体験を生み出すには、3Dアセットを慎重に計画し、一貫して毎秒60フレームを達成することが必要です。これについては、プレミアムマーケティングのシナリオを用いて、製品のマーケティングで期待されるような、高いレベルのディテールと視覚的な洗練さを備えた自転車の展示について説明します。また、フレームレートに影響を与える要因と、それらを解決する方法に関する提案について学習します。
準備ができたら、ナビゲーションパネルの[次へ]を押します。
まず、三角形の数について説明します。1秒間に60フレームを必要とする最大の要因の一つは、表示される三角形の総数をデバイスの計算能力以下に抑えることです。この制限はさまざまな要因に左右されますが、一般的なガイドラインとしては、アプリで表示されるポリゴンの数が30万個以下であることが望ましいとされています。次に、お客様に自分の自転車のパーソナライズされたバージョンをいくつか紹介する場合を考えてみましょう。ポリゴン数の多いモデルや、最適化されたモデルを一度に多数表示すると、フレームレートに影響を与える可能性があります。ぜひ試してみてください。
フレームレートを改善する効果的な方法は、3Dモデリングアプリケーションを使用して、メッシュのジオメトリをより少ない三角形に最適化することです。 それでもモデルが複雑すぎる場合や、より高品質で表示したい場合は、Azure Remote Rendering サービスを使って表示し、最適なパフォーマンスを維持することができます。
準備ができたら、ナビゲーションパネルの[次へ]を押します。
複雑なジオメトリに加えて、複雑なシェーダーや複数のライトを使用すると、フレームレートが毎秒60フレーム以下になってしまうことがあります。
準備ができたら、ナビゲーションパネルの[次へ]を押します。
1つのシーンで多数の異なるマテリアルを使用すると、ドローコールの回数が増えるため、フレームレートに影響を与えます。 両方のオプションを試して、マテリアルの数がフレームレートにどのように影響するかを確認してください。
準備ができたら、ナビゲーションパネルの[次へ]を押します。
さて、いくつかのテクニックを学びました。それらすべてを適用して、フレームレートを維持しながら自転車をどれだけ洗練されたものにできるか、さまざまな情報パネルを見て確認してみましょう。
ここでは、3Dアセットを最適化することで、フレームレートを維持しながら高レベルのビジュアルクオリティを維持する方法について説明しています。総トライアングル数、シェーダーパス、ドローコールに注意してください。
おわりに
実機では様々な要素について改善前、改善後の状況をボタンで切り替えて見ることができるので、興味が沸いた方はぜひ実機で確認してみてください。
Discussion