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】を押してレーザーを発射し、放すとテレポートします:
ここに画像の説明を挿入
左コントローラーでレーザーを発射して移動します:
ここに画像の説明を挿入
基本機能はすでに実現されており、今後さらに改善していきます。

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