Job Simulator I Apple Vision Pro Trailer

1.

2.

3.

4.

5.

69%

WHAT THE GOLF? - Apple Vision Pro Launch Trailer

1.


視線追跡データにアクセスできないため、カスタムソリューションは考えられませんでした。Apple Vision Pro 内蔵の強調表示システムと円滑に連携させるために、UI 全体を 3D で再構築しました。

Kluge Interactive の『Synth Riders』

「標準のキャンバスベースの UI を使うこともできましたが、異なる透明レイヤーを重ねる際に課題が発生しました」と、Kluge Interactive の開発者である Miguel Mosquera 氏は説明します。「主な問題は、キャンバス、画像、2D 要素を強調する四角い形状でした。見た目も美しくない上、強調表示がオブジェクトに合っていませんでした。」

UI を 3D で再構築することで視線の強調表示がボタンの形状と一致するようになりましたが、それだけではプラットフォーム上で自然な UI を実現するには不十分でした。強調表示効果は、常にオブジェクトのシルエットの境界線にソフトな白い光を放つもので、メニューデザイナーはこのことを考慮する必要がありました。例えば、明るい色や角張った境界線は避け、暗い色のソフトなグラデーションを使用しました。

Kluge Interactive チームがエディター内で パーティモード UI の作業に取り組んでいる

『LEGO Builder's Journey』は最小限の UI で成り立っており、セーブしたゲームのロードやレベルの再スタートなどのアクション用のボタンは多くても 20 個しかありません。そのため、UI の再構築は多くの他のゲームよりも負担の少ない作業でした。

ゲームにブロックをインポートした際、内部のジオメトリをすべて取り除いたので、見ることがない内部のディテールもすべて取り除きました。私たちは、社内で使っていた自動化ツールを調整して、完全なシミュレーション体験で機能させることができました」

Light Brick Studio チームが PolySpatial VolumeCamera コンポーネントの UI とイベントを設定している様子を示したエディター内のスクリーンショット

WHAT THE GOLF? by Triband

『Job Simulator』制作:Owlchemy Labs

2.

Kluge Interactive の『Synth Riders』

Kluge Interactive の『Synth Riders』

In-Editor shot of Start Island, a small tutorial shown when the player starts WHAT THE GOLF?

“Working on a new platform with a new paradigm requires learning, rethinking, and collaboration. The team at Unity had already done a lot of the heavy lifting and were extremely helpful when we faced difficulties on our way to release.”

Lukas Wendt
Lukas Wendt - Triband
Technical Lead

WHAT THE GOLF? by Triband

指でつまむジェスチャーが終了すると、情報も終了します。その意味では、プレイヤーが画面をタッチしている時だけ情報が伝わるタッチスクリーンに似ています。

「私たちはプレイヤーが何を見ているか分からなかったため、これは大きな変化でした。当社のゲームプレイではブロックを選択するのにブロックを見る必要があるため尚更です」と Fredborg 氏は言います。「こういった制約をすべて解決した後は、非常に上手く動作し、システムにも適合しました。この方法での操作は、全体的に一貫したユーザー体験につながるため、最終的にとても良い結果を生み出しました」

Sandcastle Apple Vision Pro Gameplay

3.

『Job Simulator』制作:Owlchemy Labs

『Job Simulator』制作:Owlchemy Labs

ハンドトラッキングの試み

ゲームの再構築に取り組む中で、チームは初めてハンドトラッキングに本格的に着手しました。当初はハプティクスがないことにためらいを感じたものの、結果には非常に満足しています。「通常、コントローラーを握るときに認識されるのは手首までですが、ハンドトラッキングでは指が重要になり、ジェスチャーを使ってさまざまな方法で音楽と相互作用できるようになります。

チームは、コントローラーのない新しい入力方法に適応しました。Bartholomaeus 氏は、次のように説明しています。「音楽との繋がりを深めるために、私たちはオーディオ反応型のエフェクトやライティング、そしてアクションに基づくさまざまなパーティクルに取り組みました。

Kluge Interactive の『Synth Riders』

このやり方は是非おすすめしたいです。

Kluge Interactive の『Synth Riders』

“With Unity, we get rapid access to so much technology from nascent hardware into a space where our developers can come to grips with unfamiliar hardware in a familiar way. This gives us the best leverage.”

AnnMarie Wirrel Bartholomaeus
AnnMarie Wirrel Bartholomaeus - Kluge Interactive
Technical Producer

Vacation Simulator I Apple Vision Pro Trailer

『Job Simulator』制作:Owlchemy Labs

4.

『LEGO® Builder's Journey』(開発元:Light Brick Studio)

LEGO Builder's Journey』の初期バージョンでは、チームは Unity の軽量レンダーパイプライン(LWRP)のカスタムバージョンを使用していましたが、その後 Xbox および PlayStation への移植にあたり、HD レンダーパイプライン(HDRP)に移行しました。

Light Brick Studio チームが夜のシーン設定に取り組んでいる様子を示したエディター内ショット

しかし、ここでチームは問題に直面しました。結果が十分に最適化されておらず、当初の想定よりも多くの作業が必要であることが判明したのです。

『LEGO® Builder's Journey』(開発元:Light Brick Studio)

シェーダーとライティングの作成には、Unity PolySpatial のツールとドキュメントを使用しました。シミュレーターにライティングがない場合に役立つ、visionOS 専用のノードがあることを新たに発見しました。また、各ノードがプラットフォームと互換性があるかどうかを示すリストも見つけました。これは、接空間の変換、リフレクションプローブと視線方向の管理、法線マップの処理に役立ちました。

チームは、PolySpatial Lighting Node を主要な出力ノードとして使用し、すべてを適切な位置に配置して接続しました。通常色、法線、メタリック、滑らかさはそのまま維持されました。

「これは 2 パスシェーダーとして機能しました。PolySpatial 側と Apple Vision Pro 側で、ヘッドセットが環境からのリフレクションや、カメラが受け取ったフィードバックに基づくライティングの一部が追加されたからです」と、3D アーティストの Esteban Meneses 氏は説明します。「PolySpatial ライティングは、エンジンのすべてのビルトイン機能を管理し、さらにベイクドライティング用のオプションもありました。ライトマップとライトプローブの使用についても検討しましたが、どちらも非常に有用でした。」

『Synth Riders』のゲームプレイ

リフレクションプローブについては、シンプルとブレンドのオプションがありました。そこから、念のため、PolySpatial Lighting Node からのすべての出力を通常色とエミッションに接続しました。

「通常色を使用するパスがあるのですが、それを黒にならないようにしたかったんです」と Meneses 氏は続けます。「そこで、値を上げて自由な表現が可能になるよう、強度モディファイアを追加しました。Apple Vision Pro のリフレクション変数を使用し、最終ノードでアンビエントオクルージョンをオフにしたので、環境の反射は見えませんでした。」この反射の制御により、チームはユーザーがいる部屋に実際に存在するオブジェクトとポータル越しに見えるオブジェクトを明確に区別することができました。

『LEGO® Builder's Journey』(開発元:Light Brick Studio)

5.

Kluge Interactive チームが、エディター内で visionOS シミュレーターと Play to Device を使用してリアルタイムフィードバックに取り組んでいる様子

『Job Simulator』制作:Owlchemy Labs

『Job Simulator』制作:Owlchemy Labs

Andrew Eiche
Andrew Eiche - Owlchemy Labs
CEOwl

69%

他のプラットフォームでは通常、Unity で直接レンダリングを行っていましたが、visionOS では RealityKit を使用した 2 番目の処理が必要でした。

チームが克服した主な課題の 1 つは、Line Renderer(3D 空間内の 2 つ以上の点を持った配列を受け取り、その間に直線を引くコンポーネント)を使用せずに開発することでした。このコンポーネントは、他のバージョンの Synth Riders のレールシステムにおいて、非常に有用なものでした。

Kluge Interactive の『Synth Riders』

「この問題に直面した際に行った Unity PolySpatial チームとのブレインストーミングは素晴らしいものでした」と、Bartholomaeus 氏は語ります。「レールについては、Apple Vision Pro でまだサポートされていない機能でしたが、標準のメッシュと頂点ディスプレイスメントを使ってテクニカルアーティストが一から再作成する方法を提案され、うまく実現することができました。」

パフォーマンスの最適化に関して、彼らが学んだ主な教訓のひとつは、他のプラットフォームでの経験に基づいて思い込みをしないことでした。チームはゲーム全体を通して、パフォーマンスを少しずつ高速化するための最適化方法をテストした結果、他のプラットフォームで URP のマテリアルインスタンスの影響を軽減するソリューションが Apple Vision Pro には適用できないことが分かりました。

Kluge Interactive チームがエディター内で パーティクルパフォーマンスのプロファイリングに取り組んでいる様子

「この問題を発見した後、コードを数行変更しました。

また、Unity Profiler、Xcode Debugger、Play to Device 機能を使用してパフォーマンスのデバッグを行いました。「当初は問題をテストして発見するのに苦労しました」と Mosquera 氏は説明します。「しかし、Play to Device 機能のおかげで、問題の特定を迅速に行うことができました。この機能がなければ、プロジェクトの完了にはもっと時間がかかっていたでしょう。」

『Synth Riders』ゲームプレイ | Apple Vision Pro

「当初、PolySpatial パッケージは、Unity で行っていることをすべて RealityKit に反映していました。そのため、すべてのゲームオブジェクトやトランスフォームが渡されており、当時は特定のレイヤーを送信または反映しないように設定することができませんでした。UI レンダリング、キャンバスレンダリング、アニメーターパーティクルシステムなど、すべてが反映されていたのです」と Fredborg 氏は説明します。「現在は、特定のレイヤーを追跡しないように設定できるフィルターがありますが、当時は、RealityKit 側で表示しないものをすべて削除する方法を考える必要がありました」

『LEGO® Builder's Journey』(開発元:Light Brick Studio)

「PolySpatial チームは、Slack でもディスカッションフォーラムでも、非常に良く対応してくれました」と彼は続けます。「問題に直面した際は、迅速にソリューションを提案してくれたりと、非常に頼りがいがありました。

Mikkel Fredborg
Mikkel Fredborg - Light Brick Studio
Technical Lead

チームは、ゲームオブジェクト階層構造を最適化する必要がありました。他のプラットフォームでは、ブロックは 3 つ以上の連結されたゲームオブジェクトで構成されていますが、visionOS では、Unity と RealityKit 間のデータ転送の回数を減らすため、ブロックごとのゲームオブジェクトの数は最大 2 つとしました。これが非常にうまく機能し、チームに大きな成功をもたらしました。

ゲームにはアニメーション化された滝が登場しますが、これはブロック上のメッシュを入れ替えることで再現していました。数百もの異なるゲームオブジェクトから構成されており、かなり動きが遅くなっていました。「最終的に、すべてのゲームオブジェクトに対して毎フレーム処理を行うのではなく、時間をずらして処理する方法を採用しました」と Fredborg 氏は言います。「滝の流れの間で数フレームごとに待機して実行するようにしたのです。これでかなり動きが改善しました」

『LEGO® Builder's Journey』(開発元:Light Brick Studio)

『LEGO® Builder's Journey』ティザー | Apple Vision Pro

『Job Simulator』制作:Owlchemy Labs

まとめ:

“Nothing counts until you try it in XR! Another key principle is to try to develop physical experiences whenever possible. The joy of spatial design is interacting with objects in your space.”

Andrew Eiche
Andrew Eiche - Owlchemy Labs
CEOwl

“Consider what technical architecture needs to be moved forward and start quickly. Even if this isn't the reason you’re doing it, do it since the closer you get to current technology, the better position you’ll be in to benefit from any opportunity.”

AnnMarie Wirrel Bartholomaeus
AnnMarie Wirrel Bartholomaeus - Kluge Interactive
Technical Producer

“Invest time into systems and tools that allow you to play part of your game in the Editor with a mouse and keyboard. It’s never going to give you the full picture, but some things can be tested much faster this way.”

Lukas Wendt
Lukas Wendt - Triband
Technical Lead

「私たちはタッチと動きに集中するために、何度もビルドを行い、できるだけ多くのデバイスを使用することを推奨しています。もっと物理的な感覚にフォーカスしたプラットフォームなんです」

Mikkel Fredborg
Mikkel Fredborg - Light Brick Studio
Technical Lead

今すぐ Apple Vision Pro 向けに開発

Unity のパワフルなツールとワークフローを活用して魅力的な空間体験を構築するために、私たちがどのようにサポートできるか、Unity のチームにご相談ください。

Explore the e-book

このフォームにご記入いただくと、最新のクリエイターストーリーにアクセスできます。