Upgrade to Pro — share decks privately, control downloads, hide ads and more …

XR Interaction Toolkit 2.0.0 正式リリース記念パピコ / xrdnk-xrmtg-lt-20220316

Denik
March 16, 2022

XR Interaction Toolkit 2.0.0 正式リリース記念パピコ / xrdnk-xrmtg-lt-20220316

こちらのイベントでの発表資料です
https://osaka-driven-dev-br-tokyo.connpass.com/event/241110/

Denik

March 16, 2022
Tweet

More Decks by Denik

Other Decks in Technology

Transcript

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  4. はじめに

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  7. 既存機能

    View full-size slide

  8. Locomotion Components

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  13. Teleportation Components

    View full-size slide

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

    View full-size slide

  15. Interaction Components

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  20. XR Socket Interactor 応用例

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  29. おわりに

    View full-size slide

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

    View full-size slide