Slide 1

Slide 1 text

XR Interaction Toolkit 2.0.0 正式リリース記念パピコ 2022/03/16 XRMTG Denik (@xrdnk) Unity / VR Engineer

Slide 2

Slide 2 text

自己紹介 Denik (@xrdnk) ◼ Unity / VR エンジニア ◼ MyDearest, Inc. ◼ 技術ブログ書いてたりしてる

Slide 3

Slide 3 text

アジェンダ ◼ はじめに ◼ 既存機能 ◼ 新機能 ◼ 変更点 ◼ 終わりに

Slide 4

Slide 4 text

はじめに

Slide 5

Slide 5 text

XR Interaction Toolkit 2.0.0 (XRTK2) Unity 提供の VR/AR 開発用のツールキット XR に必要なシステムの抽象化がコンセプト 2022年2月に正式リリース(ver 2.0.0)されました 本発表では VR の分野のみを取り上げます

Slide 6

Slide 6 text

XRTK2 の Pros / Cons ◼ Pros ◼ マルチプラットフォーム対応が簡単 ◼ Unity 公式提供 ◼ Cons ◼ 各ヘッドセット固有機能が利用できない (Quest のハントラなど) ◼ Input System の事前知識が必要 ヘッドセット固有機能をアプリに導入しない場合は基本は XR Interaction Toolkit + OpenXR Plugin を利用でよさそう

Slide 7

Slide 7 text

既存機能

Slide 8

Slide 8 text

Locomotion Components

Slide 9

Slide 9 text

Continuous Move Provider スムーズ移動(連続的な移動)

Slide 10

Slide 10 text

Continuous Turn Provider スムーズターン(連続的に視点を左右に回転させる)

Slide 11

Slide 11 text

Snap Turn Provider スナップターン(指定角度分,視点を左右に瞬時に回転させる)

Slide 12

Slide 12 text

Character Controller Driver Character Controller の Height を動的に変更させる 適用前 適用後

Slide 13

Slide 13 text

Teleportation Components

Slide 14

Slide 14 text

Teleportation Provider 以下のコンポーネントがアタッチされているところにワープできる Teleportation Area (平面) / Teleportation Anchor (点)

Slide 15

Slide 15 text

Interaction Components

Slide 16

Slide 16 text

Interactor と Interactable の関係性 Interactor インタラクションの主体 (コントローラ etc.) Interactable インタラクションの客体 (物体/UIパネル etc.) Interaction Manager インタラクションシステム の管理クラス OnHover OnSelect OnHover OnSelect

Slide 17

Slide 17 text

XR Ray Interactor 遠隔インタラクション実行コンポーネント

Slide 18

Slide 18 text

XR Direct Interactor 近接インタラクション実行コンポーネント

Slide 19

Slide 19 text

XR Socket Interactor 吸着インタラクション実行コンポーネント

Slide 20

Slide 20 text

XR Socket Interactor 応用例

Slide 21

Slide 21 text

XR Grab Interactable / XR Simple Interactable XR Grab Interactable をアタッチすると掴めるようになる XR Simple Interactable で Interactor とインタラクション可能に

Slide 22

Slide 22 text

Misc

Slide 23

Slide 23 text

XR Device Simulator キーボ・マウスで VR シミュレーション操作 Input System 前提であることに注意 操作方法の例 ◼ Shift キー 左コントローラ操作 ◼ Space キー 右コントローラ操作 ◼ Shift + WASD 左コントローラのスティック操作 ◼ Space キー + WASD 右コントローラのスティック操作

Slide 24

Slide 24 text

Events ◼ Audio Events インタラクション時の効果音再生 ◼ Haptic Events インタラクション時の振動再生 ◼ Interact Events インタラクション時の特有イベント発火 上記は Inspector 上で Unity Events のように設定できる スクリプト上でも同様に設定できる

Slide 25

Slide 25 text

新機能

Slide 26

Slide 26 text

XRTK Interaction Layers Project Settings に XRTK 専用の Interaction Layers が追加 Interaction 用の Layer Mask が Unity Physics Layer から XRTK 専用 Interaction Layers に変更 Layer のスロットが足らない問題が緩和

Slide 27

Slide 27 text

Select Mode Interactables に同時に Select できる Interactor の数を 制御できる Select Mode のプロパティが追加 これを利用することでMultiple 設定にすることで 複数の手で同時に操作可能になります (Grab はデフォルトでは Single 固定設定)

Slide 28

Slide 28 text

Allow Hovered Activate XRTK の Interaction には Hover,Select,Activate の 3つの状態があり,Activate は Select 状態の時でしか 発火できなかった (トリガーイベントが発火できなかった) Allow Hovered Activate を有効にすることで Hover 状態で Activate (トリガーイベント) が発火可能に

Slide 29

Slide 29 text

Misc ◼ firstInteractableSelected / firstInteractorSelecting スタックされている Interactables の中で 最初のオブジェクトを取得できるプロパティ追加 ◼ Grab Interactable の MovementType MovementType が Select 中に動的に変更可能に ◼ ゲームパッド・ジョイスティック入力サポート

Slide 30

Slide 30 text

変更点

Slide 31

Slide 31 text

XR Rig → XR Origin XRRig が廃止され,新依存パッケージの XR Core Utilities の XROrigin に置換されました. 破壊的変更ではなく互換性はあるので実は大きな問題ではない

Slide 32

Slide 32 text

おわりに

Slide 33

Slide 33 text

総括 ◼ XRTK 2.0 正式版リリース ◼ これまでの XRTK の機能を紹介 ◼ XRTK 2.0 の新機能・変更点などを一部紹介 ◼ 痒い所に手が届くような設定が増えた印象(助かる) ◼ 一部しか紹介しきれてないので興味があれば以下を参照 https://docs.unity3d.com/Packages/[email protected]/changelog/CHANGELOG.html