Save 37% off PRO during our Black Friday Sale! »

Beat Saber っぽいのを作ってみた / xrdnk-xrshimane5-presentation

270b0c7883545117a9a618dc7ca7cc83?s=47 Denik
June 02, 2020

Beat Saber っぽいのを作ってみた / xrdnk-xrshimane5-presentation

第5回勉強会「XR Interaction Toolkitの話、他」での発表資料です.
https://chiikiokoshi-vr.connpass.com/event/175620/

270b0c7883545117a9a618dc7ca7cc83?s=128

Denik

June 02, 2020
Tweet

Transcript

  1. Beat Saber っぽいの作ってみた #xrshimane 第5回勉強会 LT

  2. 自己紹介

  3. [名前] 初鹿 デニック (Hatsushika Denik) [Twitter] @xrdnk [現職] ・TIS株式会社 XR

    園児ニア [経歴等] ・上級VR技術者 ・筑波大院卒 優秀修士論文賞受賞 水中VRHMDのハード研究開発 ・「デニッキ」というブログやってます
  4. 作った(?) VRゲームの紹介

  5. None
  6. None
  7. 実はUdemyのコースの作品 https://www.udemy.com/course/oculus-quest-development-with-unity/ こちらのUdemyコース5時間やると出来まぁす!

  8. 終 制作・著作 ━━━━━ ⓃⒽⓀ

  9. というのは嘘で 次頁から 具体的な内容を 説明します

  10. コースの詳細 言語 すべて英語(字幕あり) → 映像と字幕で理解できる コース内容 前半:Oculus Integrationを用いたQuest開発基礎 後半:Beat Saberっぽいゲームの作成

    何故オススメか ・Unity 2019.3からのVR設定方法の解説がある ・Quest開発を始める人にとってのエッセンスが揃っている
  11. Oculus Integration

  12. 前半で学べること (一部)

  13. Unity 2019.3版 の Quest セットアップ方法 Unity 2019.3 から XR Settings

    で VR対応設定がLegacyになりました. Unity XR Plugin Framework が リリースされたことによる影響です. https://blogs.unity3d.com/2020/01/24/unity-xr-platform-updates/ これからは Project Settings → XR Plugin Management を通して 設定していくことになります. 以下の記事にまとめております. Unity 2019.3 からの Oculus Quest セットアップ方法 (XR Plugin Management) https://xrdnk.hateblo.jp/entry/2020/03/24/002006
  14. テレポートの実装方法 テレポートに必要なOVRスクリプトコンポーネント一覧 ・Simple Capsule With Stick Movement ・Character Camera Constraint

    ・Locomotion Controller ・Locomotion Teleport ・Teleport Input Handler Touch ・Teleport Aim Visual Laser ・Teleport Target Handler Physical ・Teleport Aim Handler Laser ・Teleport Orientation Handler Thumbstick ・Teleport Transition Instant/Blink 以下の記事に詳細を説明しています. Oculus Integration を用いた テレポート / ワープ の実装方法 https://xrdnk.hateblo.jp/entry/2020/03/25/002404 ロコモーションサンプルシーン https://developer.oculus.com/documentation/unity/unity-sf- locomotion/?locale=ja_JP
  15. VRオブジェクトの掴み方 OVR Grabber / Grabbable と Distance Grabber / Grabbable

    の使い方 詳細は以下の記事にまとめてます. VR物体を掴む [OVR Grabbable / Grabber 編] https://xrdnk.hateblo.jp/entry/2020/05/05/235953 Oculus Integration で照準を定めた遠隔物体を引き寄せて掴む【Distance Grabbable / Distance Grabber】 https://xrdnk.hateblo.jp/entry/2020/05/30/235914
  16. VRの実機中にコンソール表示する方法 In-game Debug Console というアセットを VRゲーム内で利用すれば出来ます. VR内であるため,IngameDebugConsole プレハブについているGraphic Raycaster を無効にしOVR

    Raycasterをアタッチ. DebugLogManager.csを一部改造します. 詳細は以下の記事にまとめてます. In-game Debug Console を用いて VR実機中にConsoleをいい感じに表示する https://xrdnk.hateblo.jp/entry/2020/03/30/232636
  17. 後半で学べること (一部)

  18. ボックスの切断方法 ezy-slice Unity3D 用のOSS Mesh Slicer フレームワーク https://github.com/DavidArayan/ezy-slice これを使えばVRオブジェクトの切断がすぐに出来ます!

  19. ezy-sliceの使い方(1)| Layerを追加する 新しいLayerを追加します.自分はSliceableとしました. 切りたい物体のLayerをSliceableにします.

  20. ezy-sliceの使い方(2)| サンプルスクリプト全体

  21. ezy-sliceの使い方(3)| サンプルスクリプト前半

  22. ezy-sliceの使い方(4)| サンプルスクリプト後半

  23. ezy-sliceの使い方(5)| 注意点 MeshColliderのConvexをfalseにしない → すり抜けてしまう 成功 失敗 詳細は以下の記事に書きました. Ezy-Slice を用いて3Dオブジェクトを切断する

    (1) https://xrdnk.hateblo.jp/entry/2020/04/17/233304
  24. ezy-sliceの使い方(6)| 衝突判定 剣のCollision Detectionの設定を Continuous Dynamicにしましょう. → すり抜け防止(それでも万能ではない) 引用記事:最適な衝突判定を即選択。Collision Detection

    早見表【Unity 2018.3 以降】 https://virtualcast.jp/blog/2020/05/collisiondetectionchart/
  25. OVR Haptics テクニック(1) OVRInput.SetControllerVibration の振動時間は2秒固定. → これを可変にする. frequency : 振動数|0~1までの値.値が大きい程振動が強くなる

    amplitude : 振幅|0~1までの値.値が大きい程振動が大きくなる controller : 振動させるコントローラ|左か右か両方か 詳細は以下の記事に書きました. Oculus Touch の振動時間を2秒間固定から可変にする https://xrdnk.hateblo.jp/entry/2020/05/18/204108
  26. OVR Haptics テクニック(2)|拡張クラス

  27. などなど

  28. 終わりに

  29. Udemyはいいコースがいっぱいある ※自分はUdemyの回し者ではありません. Unity/C#系は日本語のコースがあまりない. (2019年に入ってからやっと沢山出てきた.) 英語のコースは中上級レベルが豊富. 英語字幕があるので,食らいつきたい人は調べてみよう. 6/4 までセール中で殆どのコースが1500円~になっている. 1か月に2,3回の頻度でこういうセールがあるため, 実質1講座1200円~1500円だったりする.

  30. Questを使ったマルチプレイVRを近々配信予定

  31. ありがとうございました