夜風のMixedReality

xRと出会って変わった人生と出会った技術を書き残すためのGeekなHoloRangerの居場所

JoystickExample ~MixedRealityToolkitExamplesを触ってみる~ その② Joystickを改造する

本日はMRTK調査枠です。

今回はJoysticExampleを見ていきます。

〇JoysticExampleとは?

JoysticExampleはMRTKv2.5でExperimental(実験的)として実装されたUIの機能で、その名の通りスティック型のUIです。

前回はJoystickの構成を調べていきました。

redhologerbera.hatenablog.com

今回はコンポーネントの構成を理解してオリジナルのJoystickを作成します。

〇オリジナルのJoystick

早速作成していきます。

①シーンに空の GameObjectを作成し、任意の名前を付けます。(ここでは[JoystickClassicPrefab]とつけました。)

f:id:Holomoto-Sumire:20201024200603j:plain

②[JoystickClassicPrefab]に[add Component]で[JoystickController]コンポーネントをアタッチします。

f:id:Holomoto-Sumire:20201024200859j:plain

[JoystickController]コンポーネントはJoystickの機能のコアになるコンポーネントです。

③[JoystickClassicPrefab]オブジェクトの子オブジェクトとして[Sphere]オブジェクト[Capsule]オブジェクトを作成します。

 二つのオブジェクトを画像のように並べます。 これが見た目上の持ち手になります。

f:id:Holomoto-Sumire:20201024201857j:plain

④[Sphere]オブジェクトを複製して[SphereCollider]という名前を付けます。

f:id:Holomoto-Sumire:20201024202340j:plain

⑤[SphereCollider]オブジェクトの[Inspector]ウィンドウから[MeshRenderer]コンポーネントチェックボックスを外し、無効にします。

f:id:Holomoto-Sumire:20201024202602j:plain

⑥空オブジェクトを作成しスティックの最下部(stickの回転動作の軸)に配置します。

 f:id:Holomoto-Sumire:20201024202918j:plain

⑦空オブジェクトの名前を[StickRotRoot]に変更し[Sphere]オブジェクト、[Capsule]オブジェクトを子オブジェクトとして配置します。

f:id:Holomoto-Sumire:20201024203051j:plain

⑧[SphereCollider]オブジェクトに次のコンポーネントを加えます。

 ・[NearInteractionGrabbable]コンポーネント

 ・[Constraint Manager]コンポーネント

 ・[Object Manipulator]コンポーネント

 ・[Move Axis Constraint]コンポーネント

 ・[Rotation Axis Constraint]コンポーネント

f:id:Holomoto-Sumire:20201024204103j:plain

⑨親オブジェクトである[JoystickClassicPrefab]オブジェクトの[JoystickController]コンポーネントを以下のように設定します。

 ・[Joystic Visual]に[StickRotRoot]オブジェクトをアタッチします。

 ・[Grabber Visual]に[SphereCollider]オブジェクトをアタッチします。

f:id:Holomoto-Sumire:20201024210548j:plain

この状態で実行します。

 f:id:Holomoto-Sumire:20201024210813g:plain

動きが確認できました。

〇マテリアル

次はマテリアルを設定します。 プロジェクトウィンドウにマテリアルを作成します。

[Red]、[Silver]のマテリアルを作成し、それぞれスティックにアタッチします。

 f:id:Holomoto-Sumire:20201024211203j:plain

それぞれのマテリアルの設定は以下のようになります。

f:id:Holomoto-Sumire:20201024211308j:plain

f:id:Holomoto-Sumire:20201024211336j:plain

以上でオリジナルのJoystickが完成しました。

f:id:Holomoto-Sumire:20201024212026g:plain

次回はHoloLens 2実機で触ってさらに調整していきます。