Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Beat Saber っぽいのを作ってみた / xrdnk-xrshimane5-presen...
Search
Denik
June 02, 2020
Technology
0
760
Beat Saber っぽいのを作ってみた / xrdnk-xrshimane5-presentation
第5回勉強会「XR Interaction Toolkitの話、他」での発表資料です.
https://chiikiokoshi-vr.connpass.com/event/175620/
Denik
June 02, 2020
Tweet
Share
More Decks by Denik
See All by Denik
Oculus Interaction SDK 概説 / xrdnk-caunity-LT4
xrdnk
0
8.8k
Unity Localization で多言語対応実装しよう / xrdnk-yokohamaunity-lt10-20220513
xrdnk
0
6.5k
XR Interaction Toolkit 2.0.0 正式リリース記念パピコ / xrdnk-xrmtg-lt-20220316
xrdnk
0
7k
Unidux を用いたマルチシーン構成の画面遷移 / xrdnk-unity-otonanolt-2021
xrdnk
0
5.6k
Unity Cloud Save でプレイヤーデータのクラウド保存しよう / xrdnk-yokohamaunitylt9
xrdnk
0
1.6k
Feel でゲームのエフェクトを豪華にしよう / xrdnk-yokohamaunityLT8
xrdnk
1
1.8k
Unidux Scene Transition Hands-on / xrdnk-unidux-scene-transition-hands-on
xrdnk
1
460
新MLAPIでマルチゲームを作ってみた / xrdnk-gotandaunityLT19-presentation
xrdnk
1
4.2k
三種の神器とMVRPパターン / xrdnk-three-sacred-treasures-and-mvrp-pattern
xrdnk
1
7k
Other Decks in Technology
See All in Technology
Symfony AI in Action
el_stoffel
2
270
Bill One 開発エンジニア 紹介資料
sansan33
PRO
4
15k
履歴テーブル、今回はこう作りました 〜 Delegated Types編 〜 / How We Built Our History Table This Time — With Delegated Types
moznion
13
8.6k
Pandocでmd→pptx便利すぎワロタwww
meow_noisy
2
1.1k
"なるべくスケジューリングしない" を実現する "PreferNoSchedule" taint
superbrothers
0
120
MySQL AIとMySQL Studioを使ってみよう
ikomachi226
0
120
Claude Code はじめてガイド -1時間で学べるAI駆動開発の基本と実践-
oikon48
27
14k
プロダクト負債と歩む持続可能なサービスを育てるための挑戦
sansantech
PRO
1
1.2k
AI開発の定着を推進するために揃えるべき前提
suguruooki
1
450
useEffectってなんで非推奨みたいなこと言われてるの?
maguroalternative
8
5.2k
[続・営業向け 誰でも話せるOCI セールストーク] AWSよりOCIの優位性が分からない編(2025年11月21日開催)
oracle4engineer
PRO
1
170
メッセージ駆動が可能にする結合の最適化
j5ik2o
9
1.7k
Featured
See All Featured
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.8k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Docker and Python
trallard
46
3.7k
Mobile First: as difficult as doing things right
swwweet
225
10k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.3k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
31
2.7k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8k
For a Future-Friendly Web
brad_frost
180
10k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.1k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
YesSQL, Process and Tooling at Scale
rocio
174
15k
Transcript
Beat Saber っぽいの作ってみた #xrshimane 第5回勉強会 LT
自己紹介
[名前] 初鹿 デニック (Hatsushika Denik) [Twitter] @xrdnk [現職] ・TIS株式会社 XR
園児ニア [経歴等] ・上級VR技術者 ・筑波大院卒 優秀修士論文賞受賞 水中VRHMDのハード研究開発 ・「デニッキ」というブログやってます
作った(?) VRゲームの紹介
None
None
実はUdemyのコースの作品 https://www.udemy.com/course/oculus-quest-development-with-unity/ こちらのUdemyコース5時間やると出来まぁす!
終 制作・著作 ━━━━━ ⓃⒽⓀ
というのは嘘で 次頁から 具体的な内容を 説明します
コースの詳細 言語 すべて英語(字幕あり) → 映像と字幕で理解できる コース内容 前半:Oculus Integrationを用いたQuest開発基礎 後半:Beat Saberっぽいゲームの作成
何故オススメか ・Unity 2019.3からのVR設定方法の解説がある ・Quest開発を始める人にとってのエッセンスが揃っている
Oculus Integration
前半で学べること (一部)
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
テレポートの実装方法 テレポートに必要な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
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
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
後半で学べること (一部)
ボックスの切断方法 ezy-slice Unity3D 用のOSS Mesh Slicer フレームワーク https://github.com/DavidArayan/ezy-slice これを使えばVRオブジェクトの切断がすぐに出来ます!
ezy-sliceの使い方(1)| Layerを追加する 新しいLayerを追加します.自分はSliceableとしました. 切りたい物体のLayerをSliceableにします.
ezy-sliceの使い方(2)| サンプルスクリプト全体
ezy-sliceの使い方(3)| サンプルスクリプト前半
ezy-sliceの使い方(4)| サンプルスクリプト後半
ezy-sliceの使い方(5)| 注意点 MeshColliderのConvexをfalseにしない → すり抜けてしまう 成功 失敗 詳細は以下の記事に書きました. Ezy-Slice を用いて3Dオブジェクトを切断する
(1) https://xrdnk.hateblo.jp/entry/2020/04/17/233304
ezy-sliceの使い方(6)| 衝突判定 剣のCollision Detectionの設定を Continuous Dynamicにしましょう. → すり抜け防止(それでも万能ではない) 引用記事:最適な衝突判定を即選択。Collision Detection
早見表【Unity 2018.3 以降】 https://virtualcast.jp/blog/2020/05/collisiondetectionchart/
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
OVR Haptics テクニック(2)|拡張クラス
などなど
終わりに
Udemyはいいコースがいっぱいある ※自分はUdemyの回し者ではありません. Unity/C#系は日本語のコースがあまりない. (2019年に入ってからやっと沢山出てきた.) 英語のコースは中上級レベルが豊富. 英語字幕があるので,食らいつきたい人は調べてみよう. 6/4 までセール中で殆どのコースが1500円~になっている. 1か月に2,3回の頻度でこういうセールがあるため, 実質1講座1200円~1500円だったりする.
Questを使ったマルチプレイVRを近々配信予定
ありがとうございました