banner
YZ

周周的Wiki

种一棵树最好的时间是十年前,其次是现在。
zhihu
github
csdn

VRTKを使用して基本的な漫遊とコントローラーのレーザー機能を実現するVR開発

VRTK を使用して Unity でコントローラーによるレイ発射と移動機能を実現する#

@TOC

VRTK に付属する新しいサンプル【002-Pointers StraightPointer】、【003-Pointers BezierPointers】、【004-Locomotio Teleporting】を学ぶことで、前期に必要な機能を実現しました。

【002-Pointers StraightPointer】サンプル説明#

このシーンでは、タッチパッドに触れると直線が表示され、タッチパッドを押して放すと、レイが触れたオブジェクトを選択できます。オブジェクトの境界線の色が変わり、Unity のコンソールには選択したオブジェクトの名前、コントローラーとオブジェクトの距離、レイの先端がオブジェクト上にある位置が表示されます。

【003-Pointers BezierPointers】サンプル説明#

このシーンでは、タッチパッドに触れると、コントローラーが曲線を発射し、タッチパッドを押して放すことで選択します。シーンには 3 つのオプションタイルがあり、左側のタイルを選択するとレイが線形に変わり、右側のタイルを選択するとレイのスタイルがカスタムスタイルに変わります。このシーンでのカスタムスタイルは、レイの先端がオブジェクトに接触した後のスタイルが光環になるものです。中央のタイルを選択すると、スタイルをベジェ曲線のデフォルトスタイルに設定できます。

【004-Locomotio Teleporting】サンプル説明#

このシーンでは、タッチパッドを押してレイを発射し、放すことでポインターカーソルの位置にテレポートできます。グリッドコライダーに囲まれた石の上にボックスをテレポートでき、高さに制限はありません。また、スクリプトを使用して灰色のボックスを制限し、テレポート地点にならないようにしています。

自分で体験して学ぶことができます。

後のインタラクションを便利にするために、個人的な開発習慣として、左コントローラーで曲線テレポートを発射し、右コントローラーで直線インタラクションを発射します。以前に VR 開発の基本環境を構築しており、わからないことがあれば以前の記事を参照してください。以下はレイ発射とテレポートの実装です。
1、【VRTK_Scripts】の下に空のオブジェクトを追加し、名前を【PlayArea】とし、VRTK コンポーネント【VRTK_DashTeleport】を追加します(個人的にこれが好きで、テレポートのスクリプトが多く、自分で学んで使用してください):
ここに画像の説明を挿入
2、コントローラーにコンポーネント【VRTK_ControllerEvents】(コントローラーイベントをリッスンするスクリプト)【VRTK_StraightPointerRenderer】(直線を発射するスクリプト、レイのスタイルと色を変更できます)【VRTK_Pointer】(レイポインターをレンダリングする)を追加し、このオブジェクトをドラッグします。以下の図のように:
ここに画像の説明を挿入
3、同様に、左コントローラーに【VRTK_ControllerEvents】【VRTK_BezierPointerRenderer】(これは曲線を発射するスクリプトです)【VRTK_Pointer】を追加します。
ここに画像の説明を挿入
ここでは、ポインターカーソルがより美しく見えるように以下の図のように設定できます:
ここに画像の説明を挿入
また、自分の好きなスタイルを作成することも学べます。これで基本的な設定が完了しました。

機能テスト#

コントローラーでレイを発射して移動します。ここではエミュレーターを使用し、キーボードの【Q】を押してレイを発射し、放すとテレポートします:
ここに画像の説明を挿入
左コントローラーでレイを発射して移動します:
ここに画像の説明を挿入
基本機能はすでに実現されており、今後さらに改善していきます。

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。