ストリーミングはほとんどのブラウザと
Developerアプリで視聴できます。
-
Quick Lookによる空間体験のための3Dモデルの作成
visionOSにおけるQuick Lookに向けた3Dコンテンツを作成する上でのベストプラクティスを紹介します。Quick Look向けにモデルを準備するいくつかの異なる方法について検討し、3D品質とパフォーマンスに関する重要な考慮事項を取り上げ、Reality Composer ProとReality Traceを使用してコンテンツを検査し、微調整する方法を解説します。
リソース
関連ビデオ
WWDC23
-
ダウンロード
♪♪ ♪ こんにちは Shuai Songです AR Quick Look Teamの エンジニアです 今日はQuick Lookによる空間体験用の 3Dモデル作成法をご紹介します 本題に入る前にまず Quick Lookとは何かについて また 新しいプラットフォームで 3Dコンテンツを表示する 方法について説明します 別のセッションでは 「空間コンピューティングのための Quick Look」 というセッションで 新しいRoom Plan APIにより 作成した部屋の3Dモデルを ご紹介しました USDZファイルをアプリケーション ウインドウからドラッグするだけで このモデルをQuick Lookに 取り込めます これによりドロップした場所で Quick Lookの プレビューが開きます ここから使い慣れた ジェスチャを使用して Quick Look とコンテンツ 操作を開始できます このモデルの背後にあるストーリーを 深く掘り下げる前にシステムが Quick Lookで3Dコンテンツを どのように表示するかについて 詳しく見ていきます このプラットフォームでは Quick Lookはボリュームウインドウに 3Dモデルを表示します ボリューム ウインドウには 他のアプリと 共有できるよう 境界が定義されています ユーザーは空間内の ボリュームを再配置し さまざまな角度から 閲覧が可能です 3Dモデルは常にボリュームの 中心に配置されます モデルが初めて導入されたとき Quick Lookはコンテンツが 正面を向くよう ボリュームウインドウの向きを 設定します ここから3Dモデルの下にある ボリュームウインドウバーを 使用してスペース内でコンテンツを 自由に再配置できます Quick Lookはユーザーが モデルをスケールする 方法に基づいて プレビューセッション中に ボリュームのサイズを 自動的に調整します ご注意いただきたいのが コンテンツにアニメーションが 使用されている場合 すべてのアニメーションを Quick Lookボリュームの 定義された境界内に 保持する必要があることです Quick Lookが3Dのコンテンツを 表示する方法について基本を説明しました Quick Lookのモデルのサイズと スケールを どのように使用するかについては 他の考慮事項もあります 見てみましょう 3Dモデルを読み込むと Quick LookはUSDZの メタデータで定義された meterPerUnitに準拠して 現実世界に対するスケール 単位を決定します 規模をイメージしやすく するために Quick Lookはモデルを最初は 100%の縮尺で表示 これは特定のサイズ範囲内になるよう 作成されている場合です 例を見てみましょう Quick Lookでは すべてのコンテンツを 楽しむための最小限の スケールが課されますが たとえそれがこのブリキの車のような 小さなものでも Quick Lookでは非常に 大きなオブジェクトを 表示している場合に備えて 上限も設定し 他のアプリとのスペース占有を 未然に防ぎます このティーポットなど中くらいの サイズのオブジェクトの場合 Quick Lookではモデルの 実際のサイズで 起動時に表示されます モデルはいつでも実際のサイズで 表示できます ボリュームウインドウの下にある ボタンをタップしてください Quick Lookがサイズをどう処理 するかがわかったところで コンテンツを表示する時に Quick Lookによって追加される 地平面とシャドウを見ていきます Quick Lookではモデルの下に 地平面と影が自動的に表示され モデルのサイズと地面に対する 位置の関係の 理解を容易に深めることができます Quick Lookがこの作業を 自動的に実行するため 独自のモデルの影や地平面は 追加しないことをお勧めします ここまでQuick Lookで 3Dコンテンツを 表示する方法の基本について 説明しました このセッションの残りの 議題について説明します まず3Dモデルを作成する 方法について 次にコンテンツの視覚的な品質を 検査調整する方法について それぞれ説明します 最後に3Dコンテンツが優れた パフォーマンスで レンダリングできることを確認 する方法について説明します 3Dコンテンツの準備を 始めましょう Quick Lookは3Dモデルを 処理するための主要な形式として USDZを採用しています USDZはAppleプラットフォームの 3Dコンテンツの中心であり 軽量でシェードに最適化されるよう 設計されています USDZファイルを作成する 方法を見てみましょう USDZファイルを作成するには さまざまな方法があります まず以前にiOS用のUSDZ ファイルを作成したことがある場合は 同じファイルをこの新しい プラットフォームで Quick Lookにも使用できます 新しいUSDZファイルを最初から 作成したい場合は プロフェッショナルデジタル コンテンツ作成ツールを使用して 3Dコンテンツを作成してからUSDZ ファイルとしてエクスポートします 3Dモデルをスキャンして 現実世界のオブジェクトの USDZファイルを作成するには RealityKitのObject Capture APIを使用します Object Captureは エンドツーエンドの フォトグラメトリソリューションで サンプルアプリを使用すると さまざまなレベルで3Dモデルを 作成できます Object CaptureはiOSとmacOSの 両方のデバイスでサポートされています 最後に住まいの2Dまたは3Dの 平面図を作成する方法を お探しの場合は RoomPlan APIを ご利用いただけます 3Dルームモデルには 先ほど背景となる話があると 述べたことを 覚えてますか? 3DデザイナーのJerryが この3Dモデルを作成するために 使用したワークフローを 詳しく見てみましょう まずJerryはRoomPlanサンプルで 自分の部屋のスキャンを 開始します わずかな時間で部屋の 3Dレイアウトをプレビューしたり USDZファイルを直接Macに エクスポートすることも可能 次にJerryは3Dモデルを 3Dコンテンツ作成ツールに インポートしてデザイン コンセプトを実現します その作業の結果がこれです 素晴らしい見た目のモデルです 壁や床など部屋のその他の 要素にいくつかの マテリアルとテクスチャが 追加されているのがわかります これでJerryが作成した 部屋モデルを Quick Lookでプレビューする 準備がほぼ整いました しかもReality Composer Proという新しいツールもあるので 次のステップを非常に簡単に行えます Quick Look用に3Dモデルを プレビューすることは コンテンツ作成ワークフローにおいて 非常に重要なステップであり モデルの実際の品質を検査したり その他の調整も必要です 詳しく見てみましょう これはメインビューに3Dモデルが 読み込まれた Reality Composer Proです このボタンをクリックするだけで 右上隅にあるReality Composer Proが表示され デバイス上のQuick Lookで 3Dモデルを 簡単にプレビューできます これは同じ3DモデルがQuick Lookで実行されているものです ここで気づくことの1つは 初期モデルの向きが 正しくないことです 前述したように3Dモデルの 最も興味深い部分が 確実に表示されるように することが重要ですが 魅力的な体験を生み出す ためには必須とも言えます これを修正する方法を見てみます Quick Lookは右手座標系を 使用します これを知っていると コンテンツ作成ツールや Reality Composer Proで 3Dモデルの方向を ここで簡単に修正できます ここではモデル内の リビングルームが表示されるよう 垂直軸上で回転する必要があります ここにY軸周りを90度にすることで これを修正します こんな風に もう一度Reality Composer Proのデバイスプレビューで モデルへの変更を確認してみます これで方向が修正され 見栄えの良いモデルがより 良くなりました ではこのアセットをさらに詳しく 別の視点からもう少し詳細を 見てみることにします これにはピンチ&ドラッグ ジェスチャを使用して 3Dモデルを回転させ さまざまな側面から表示します これにより部屋のさまざまな部分が 隅々まで見えるようになりました 両手でピンチジェスチャを 使用することもでき モデルを拡大縮小させて 更なる詳細を確認できます デバイス上のQuick Lookで 3Dモデルを検査する方法が確認できました コンテンツの視覚的な品質を向上する いくつかの考慮事項についてお話します 複数のオブジェクトが同じ場所に レンダリングされると それらが重なってちらついて 表示されることがあります この問題を軽減するには 3D作成ツールを使用してメッシュ ジオメトリを最適化し オーバーラップを削除するか ちらつくオブジェクト間の 距離を広げます 高頻度の法線マップの使用は 避けてください それらが残るとエイリアシングの 問題が発生し 望ましくない視覚的アーティファクトが 発生する可能性があります 特に動きの多いシチュエーションや 3Dモデルを 多用している場合は 注意が必要です 葉などの小さく薄いオブジェクトを レンダリングする場合 システムは時間の経過とともに 一貫サンプリングされない可能性があり 変動するラスタライズレートでは 周辺部に ちらつきが発生する 可能性もあります この問題を最小限に抑えるには 細かいジオメトリの詳細を 不透明テクスチャに保存 代わりに大きな三角形 グリッドを持つ ジオメトリを使用して レンダリングします 可変ラスタライゼーションレートの 詳細については 以下のセッションをご確認ください 「空間コンピューティングにおける レンダリングの詳細」 ではパフォーマンスに 注目してみます ここではQuick Lookの 3Dコンテンツの構造と Quick Lookの空間体験における スムーズでシームレスな コンテンツの確保について 見ていきます さっそく始めましょう Quick Lookでレンダリングされる コンテンツの 3Dパフォーマンスを決定する 要因は数多くあります 3Dモデルのファイルサイズや テクスチャ数と 解像度などの3Dモデルに 使用している マテリアルの複雑さも影響します パフォーマンス向上のための 3Dモデルの最適化を どこから始めればよいかを知るには アセットに存在する可能性のある 潜在的な制限を 特定することが先決です このタスクを簡素化するために 今年は新しく便利な ツールが導入されたので ワークフローが大幅に改善されます 詳細は以下のとおりです まずReality Composer Proに戻り Statisticsパネルを表示します このパネルには3Dモデルの 特性に関する 多くの有益な情報が表示され 三角形の数やコンテンツで 使用されているテクスチャや メモリ容量なども含まれます 自由に使える別のツールが RealityKit Traceです このツールによりさらに高度なランタイム プロファイリングが可能になります RealityKit Traceは 特定のレンダリング パイプラインに関する 洞察を提供します これにより3Dコンテンツの 個別レンダリングフレームに さらに多くの情報を 取り込むことが可能になります 撮影した複数のフレームを 分析することで RealityKit Traceの使用により 潜在的なパフォーマンスの問題や 制限を特定して診断でき おすすめも提示してくれます RealityKit Traceは Xcodeを使用してビルドを続けます これをQuick Lookでのコンテンツの プロファイリングに使用するには それをQuick Lookプロセスに 添付する必要があります Reality Composer Proの 詳細や RealityKit Traceについては 以下のセッションをご確認ください これまでプロファイリングに 役立つツールを見てきましたので 潜在的なパフォーマンス 制限に関しては ベストプラクティスを 確認してみることにします 3Dコンテンツのパフォーマンス 最適化に有用です 先ほどQuick Lookの 3Dコンテンツのパフォーマンスを 決定するさまざまな要素について 説明しました コンテンツを最適化するために 何ができるかという観点から これらの例を1つずつ 見ていくことにしましょう まず最初にファイルサイズに 合わせてモデルを最適化します 通常ファイルサイズが小さいほど ダウンロードと 読み込み時間が速くなるので ユーザーを長時間待たせずに 済みます ここでの秘訣はアセットの品質と ファイルサイズの 最適化されたバランスを 見つけることです たとえばあまり複雑でない テクスチャや 低音質の音声ソースなど 場合によりアセットは数度の反復 サイクルで開発されます 多くの場合これにはアセットに リンクされているオーディオ アニメーションやテクスチャへの 変更も含まれます ファイルサイズを最小限に 抑えるために 配布される最終パッケージには 実際に使用されるもののみを パッケージするようにしてください たとえばシーンで 使用されなくなった 古いオーディオファイルなどは 配布前に 最終アセットから削除する 必要があります 最後に共有エクスペリエンスを 向上させるために ファイルサイズを維持することです 25 MB以下にすることをお勧めします 次にパフォーマンスを 向上させるために 3Dコンテンツのジオメトリを 最適化する方法についてです 繰り返しになりますが重要なのは 詳細を表示することと素晴らしい パフォーマンスを達成することの 適切なバランスを見つけることです モデルが別のジオメトリで隠れているか 不可視パーツを使用している場合は これらが画面に表示されないため パフォーマンス的に これを節約するために削除しても 問題ありません またシステムの負荷を 軽減するために小さなメッシュを 大きなメッシュに結合する ことも検討してください 単一モデルの場合メッシュ パーツ数を200未満に 頂点数を100,000未満に 抑えることをお勧めします メッシュのディテールとシーン内の 別のアセットのバランスも重要です 次にテクスチャを見てみましょう テクスチャはメモリ使用量に 影響を与える可能性があります 自動化されたテクスチャは メモリ消費量が少ないため より多くのアセットを同時に ロードできるようになり 複雑なシーンをスムーズに 実行できるようにします テクスチャバジェットを節約する 方法としては 非カラー入力にグレースケールを 使用することです 場合によってはカラーテクスチャ上で グレースケールイメージを 個別のチャネルにパックしたり 複数のグレースケールマップを 1つのテクスチャに 保存することもできます 可能であればマテリアルを テクスチャからロードするのではなく マテリアルで定数値を 使用してください モデルが単一のPBRマテリアル のみ使用の場合は 最大サイズ2K x 2Kの テクスチャサイズ またチャネルごとに16ビットではなく 8ビットのテクスチャをお勧めします 最後に3Dモデルとリアリズムを 最も高める領域に テクスチャバジェットの重きを 置くこともお勧めします 次はマテリアルです マテリアルは3Dモデルの 表面プロパティを定義します 色やオブジェクトが表示 されるかどうかなど システムがモデルを レンダリングする方法や 見た目の反射なども定義します 3Dモデル用にマテリアルを 最適化する場合 同一のマテリアルはメッシュパーツの 組み合わせなどにより 読み込み時間を短縮できます これが有用な理由は3Dモデルに カスタムマテリアルがある場合 初めてロードするとき システムがそれらを コンパイルする 必要があるためです マテリアルの複雑さと画面サイズの バランスをお忘れなく たとえば画面の一部だけを 透明にしたり クリアコートを施したりする 必要がある場合 その小さな領域だけに別のマテリアルを 使用する方が効率的です 透明度の重なりにも注意する 必要があります 透明なオブジェクトをリアルタイムで レンダリングするには 不透明なものと比較して より多くの処理が必要になので 透明度の高い マテリアルの使用は 必要なときのみにしてください またライティングをベイク処理を している場合や メッシュの一部に ライティングが不要の場合は MaterialX Unlitサーフェスの 使用により リアルタイムの照明計算を 軽減できます 続いて物理処理について 物理シミュレーションは特に システムが異なる場合に 計算コストが 高くなることがあり 特に衝突検出や重力などの 現実的なシミュレーションでは 甚大です 物理処理を使用してコンテンツの パフォーマンスを最大化するには 使用されるコライダの総数を 減らすという手があります コンテンツを物理シミュレーションに 参加させたい場合ですが その場合コンテンツは 動くことが 想定されていないエンティティ 例えば 仮想ボールを跳ね返らせる 壁など別のオブジェクトの 影響を受けないもの などが挙げられます この場合静的コライダを 使用して物理計算を 減らすことをお勧めします 次はアニメーションについて 3Dモデルにアニメーションを 追加することは コンテンツに命を吹き込むための 優れた方法です アイドリング状態のアニメーションだけが 必要な場合もあります この場合アニメーションの頂点ごとの ウェイトの数を制限し 効率的でリアルなアニメーションを 作成できます デフォーメーションまたは スキンアニメーションの ジオメトリを最適化している場合は ジオメトリのガイドラインに従うことを お忘れなく 次にコンテンツでパーティクル システムを使用します これは洗練された視覚効果を 構築するための 最も強力なツールの1つであり ロケットからの煙やリアルな 火などを制作できます パーティクルを正しく使用しないと Quick Look 3Dエクスペリエンスの ボトルネックになる可能性があります このためパーティクルエミッタの 使用を制限し 画面上のパーティクルの数を 最小限に抑えることを お勧めします 多くの場合より少ない パーティクルで同様の 視覚効果を作成できます 同様の効果を得るため シンプルで小さい形状や スタイルにするだけで システム上のオーバードローを 減らすのに役立ちます たくさんのトピックを カバーしました 推奨事項をまとめてみます Quicklook 3Dコンテンツの パフォーマンスに影響を与える要因は 数多くあります この新しいプラットフォームは 複数のアプリを 利用したり 並行して実行されるコンテンツを 駆動できるように設計されています これはコンテンツのパフォーマンスが 他のアプリや シーンの影響を受ける可能性が あることを意味します このためさまざまなシナリオで 3Dモデルをテストすることを お勧めします このセッションで共有したように 自由に利用できるツールが 多数ありますので コンテンツの視覚的な品質を 確認したい場合でも 3Dパフォーマンスへの影響を 調べるときにも利用できます ここで重要なのは優れたビジュアルとの 適切なバランスを見つけることで それが同時にスムーズな Quick Look表示体験を 保証します Quick Lookと 3Dコンテンツの作成方法については アプリやWebサイトから閲覧可能な 以下のトークも チェックしてください 「空間コンピューティングのための Quick Look」 ありがとうございました ♪
-
-
特定のトピックをお探しの場合は、上にトピックを入力すると、関連するトピックにすばやく移動できます。
クエリの送信中にエラーが発生しました。インターネット接続を確認して、もう一度お試しください。