Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

自己紹介

Slide 3

Slide 3 text

[名前] 初鹿 デニック (Hatsushika Denik) [Twitter] @xrdnk [現職] ・TIS株式会社 XR 園児ニア [経歴等] ・上級VR技術者 ・筑波大院卒 優秀修士論文賞受賞 水中VRHMDのハード研究開発 ・「デニッキ」というブログやってます

Slide 4

Slide 4 text

作った(?) VRゲームの紹介

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

コースの詳細 言語 すべて英語(字幕あり) → 映像と字幕で理解できる コース内容 前半:Oculus Integrationを用いたQuest開発基礎 後半:Beat Saberっぽいゲームの作成 何故オススメか ・Unity 2019.3からのVR設定方法の解説がある ・Quest開発を始める人にとってのエッセンスが揃っている

Slide 11

Slide 11 text

Oculus Integration

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

テレポートの実装方法 テレポートに必要な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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

後半で学べること (一部)

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

ezy-sliceの使い方(6)| 衝突判定 剣のCollision Detectionの設定を Continuous Dynamicにしましょう. → すり抜け防止(それでも万能ではない) 引用記事:最適な衝突判定を即選択。Collision Detection 早見表【Unity 2018.3 以降】 https://virtualcast.jp/blog/2020/05/collisiondetectionchart/

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

OVR Haptics テクニック(2)|拡張クラス

Slide 27

Slide 27 text

などなど

Slide 28

Slide 28 text

終わりに

Slide 29

Slide 29 text

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

Slide 30

Slide 30 text

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

Slide 31

Slide 31 text

ありがとうございました