ユーザーと仮想世界の間の豊富なインタラクションは、VR を魅力的なものにする重要な側面ですが、このようなインタラクションの作成と調整は、開発者にとって困難で時間のかかる作業です。 UltimateXR のようなツールセットは、VR インタラクションのイテレーション プロセスを高速化し、ゲームやエクスペリエンスにより多くのインタラクティブ性と没入感をもたらします。
Enrique は、エンタープライズ VR ソリューションを世界中に提供するテクノロジー企業である VRMADA の共同設立者兼 CTO です。 コンピュータ グラフィックスとデジタル アートに強い情熱を持ち、シミュレーション、ビデオ ゲーム、ライブ インタラクティブ エクスペリエンスの分野で 20 年のキャリアを積んでいます。 最近、彼は挑戦的な VR プロジェクトに取り組み、開発するのが大好きです。 アルティメットXR、無料でオープンソースの VR フレームワーク。 彼の最新作は Twitter でフォローできます @entromp.
XNUMX 年前、VR アプリケーションにおける楽しいインタラクションの重要性について話し合う機会がありました。 この VRへの道 ゲスト記事. 企業のトレーニングとシミュレーションに VR を使用している VRMADA で開発されたいくつかの例を紹介しました。 重要なアイデアの XNUMX つは、トレーニングの対象となる手順を効率的に吸収するには、適切で自然な相互作用が不可欠であるということです。 VR ビデオゲームでは、優れたインタラクションがゲームプレイを改善し、一部のメカニズムを本当に楽しく満足のいくものにすることができます。
2016 年頃から、会社の技術基盤となっているフレームワークとツールセットの構築に人生の大部分を投資してきました。 主な目標は、開発者が今後数年間 VR アプリケーションを作成するのに役立つスケーラブルなシステムを作成することでした。 この数年間、本格的なトレーニングからエンターテイメントまで、非常に異なる要件、相互作用、および目標を持つアプリケーションを開発する必要がありました。 これらの違いは、非常に異なるシナリオで動作するように準備されたシステムにフレームワークを自然に収束させる上で重要でした。
私たちは最近、フレームワークとツールを一般に公開することを決定しました。これは、誰もが使用できる無料のオープンソースです。 結果は アルティメットXR ユニティのために。 近いうちに他のプラットフォーム (Unreal、Web など) にも移植したいと考えています。
この記事では、ターンアラウンド タイムを短縮しながら VR インタラクションを改善する上で重要な UltimateXR の機能のいくつかについて説明します。
統合ハンド ポーズ エディタ
手のポーズのオーサリングは、オブジェクトの操作や、異なるポーズ間の切り替えを必要とするその他の機構を開発する際の重要なプロセスです。
最初は、選択した 3D プログラム (3dsMax、Maya、Blender など) から手のアニメーションを直接エクスポートしましたが、すぐにそれが大きなボトルネックになることに気付きました。 Unity 内で本格的な手のポーズ エディターを開発して、ワールド エディターから直接手のポーズを調整できるようにすることにしました。
標準の編集オプションに加えて、ターンアラウンド タイムを短縮する上で重要だと思われるいくつかの機能は次のとおりです。
- 指の骨をすばやく回転させるカスタム ウィジェットのサポートだけでなく、開発者が組み込みの Unity トランスフォーム ハンドルを使用できるようにします。 どちらも同じ意味で使用できます。
- 固定ポーズとブレンド ポーズのサポート (これについては後で詳しく説明します)。
- 直接使用することも、新しいポーズの素早い開始点として使用することもできる手のポーズ プリセットのサポート。
- 異なる座標系を使用するアプリケーションからのリグ間でポーズを交換するためのサポート。
一般的なグラブ ポーズを使用したオーサリング ポーズへのブレンド ポーズ
開発中に、よく知られているセットの一般的なポーズを使用して多くのオブジェクトをつかんでいることに気付きました。 唯一の違いは、オブジェクトのサイズに応じてグリップが開いたり閉じたりしたことです。
ブレンド ポーズと呼ばれる新しいポーズ タイプを作成することにしました。ブレンド ポーズは、開始ポーズと終了ポーズによって定義され、その間の任意のポーズを採用できます。 さまざまなオブジェクト サイズをサポートするために、開始ポーズは完全に開いたポーズで、可能な限り最大のオブジェクトをつかむことができ、終了ポーズは完全に閉じたポーズで、可能な限り小さなオブジェクトをつかむことができます。 中間サイズのオブジェクトは同じポーズを使用できますが、スライダーで制御されるブレンド値が異なります。
XNUMX つの異なるオブジェクトで標準の円柱グラブを使用する
通常、固定ポーズはハンド ジェスチャやアドホック グリップに使用されますが、ブレンド ポーズは、さまざまなオブジェクトで再利用できるグリップを開発するのに非常に役立ちました。
ブレンド ポーズは、銃の引き金を引いたり、対話型デバイスのボタンを押しながら握ったりするときなど、グリップが変化する可能性があるオブジェクトにも役立つことが証明されています。
カスタマイズ可能な手
開発したソフトウェアごとに異なるハンド セットを作成するのは、非常に時間がかかる作業でした。 XNUMX つのエンターテイメント アプリケーションの特定のケースでは、カスタム リグを使用しました。 しかし、ほとんどのトレーニング アプリケーションでは、常に同じコア アセットを使い続けてきました。 これにより、手のジェスチャーや前のセクションで説明した一般的なブレンド ポーズなどのポーズを再利用できるようになりました。
私たちは、アプリケーションごとに手の見た目を変えたいと考えていました。 そのために、スキンとグローブを切り替えて、XNUMX つのいずれかをカスタマイズできるリグを作成しました。 これには、ポーズを再利用できるという利点がありますが、新しいプロジェクトでは見た目が異なる手のセットを使用できます。
視覚的な側面も、クライアントの要件やビデオゲームのデザイン ドキュメントによって左右されることがよくあります。 特定のトレーニング アプリケーションでは、素手で開始し、最初のステップの XNUMX つは手袋などの安全アイテムを着用することです。 これは、たとえば、スキン機能を表示するか、ゴースト シェーダーを使用して非表示にすることを決定したことを意味します。
VR アプリケーションでは、肌の色や手のサイズをカスタマイズすることもできます。 現実的なコラボレーション VR アプリやトレーニング アプリケーションなど、自分自身を表現するシナリオでは、手のサイズが異なると没入感が損なわれる可能性があるため、複数の手のサイズのサポートは非常に重要です。
さまざまなスキン シェーダーのバリエーション: 上に大きな手、下に小さな手
単一のサイズ (多くのアプリケーションでは大きな男性の手になる傾向があります) のみをサポートすることを避けるために、大きな手と小さな手の XNUMX つのサイズをサポートすることにしました。 大人の手は、ほとんどの場合、これら XNUMX つのいずれかに分類できます。
将来的には、プロシージャルに手のサイズを変更する可能性を追加する可能性がありますが、現時点では、包括性、柔軟性、および必要な労力の間でこれが最良のトレードオフであると考えています.