Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Beat Saber っぽいのを作ってみた / xrdnk-xrshimane5-presen...
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Denik
June 02, 2020
Technology
0
770
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
11k
Unity Localization で多言語対応実装しよう / xrdnk-yokohamaunity-lt10-20220513
xrdnk
0
8.8k
XR Interaction Toolkit 2.0.0 正式リリース記念パピコ / xrdnk-xrmtg-lt-20220316
xrdnk
0
9.3k
Unidux を用いたマルチシーン構成の画面遷移 / xrdnk-unity-otonanolt-2021
xrdnk
0
5.8k
Unity Cloud Save でプレイヤーデータのクラウド保存しよう / xrdnk-yokohamaunitylt9
xrdnk
0
1.7k
Feel でゲームのエフェクトを豪華にしよう / xrdnk-yokohamaunityLT8
xrdnk
1
1.9k
Unidux Scene Transition Hands-on / xrdnk-unidux-scene-transition-hands-on
xrdnk
1
470
新MLAPIでマルチゲームを作ってみた / xrdnk-gotandaunityLT19-presentation
xrdnk
1
4.2k
三種の神器とMVRPパターン / xrdnk-three-sacred-treasures-and-mvrp-pattern
xrdnk
1
7.3k
Other Decks in Technology
See All in Technology
us-east-1 に障害が起きた時に、 ap-northeast-1 にどんな影響があるか 説明できるようになろう!
miu_crescent
PRO
13
4.2k
[JAWSDAYS2026]Who is responsible for IAM
mizukibbb
0
430
僕、S3 シンプルって名前だけど全然シンプルじゃありません よろしくお願いします
yama3133
1
190
[JAWSDAYS2026][D8]その起票、愛が足りてますか?AWSサポートを味方につける、技術的「ラブレター」の書き方
hirosys_
3
120
マルチプレーンGPUネットワークを実現するシャッフルアーキテクチャの整理と考察
markunet
2
240
越境する組織づくり ─ 多様性を前提にしたチームビルディングとリードの実践知
kido_engineer
2
190
JAWS DAYS 2026 ExaWizards_20260307
exawizards
0
410
Abuse report だけじゃない。AWS から緊急連絡が来る状況とは?昨今の攻撃や被害の事例の紹介と備えておきたい考え方について
kazzpapa3
1
490
JAWSDAYS2026_A-6_現場SEが語る 回せるセキュリティ運用~設計で可視化、AIで加速する「楽に回る」運用設計のコツ~
shoki_hata
0
3k
類似画像検索モデルの開発ノウハウ
lycorptech_jp
PRO
5
1.1k
楽しく学ぼう!コミュニティ入門 AWSと人が つむいできたストーリー
hiroramos4
PRO
1
190
脳内メモリ、思ったより揮発性だった
koutorino
0
180
Featured
See All Featured
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.4k
SEO for Brand Visibility & Recognition
aleyda
0
4.3k
Side Projects
sachag
455
43k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
69
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
100
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.8k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
GitHub's CSS Performance
jonrohan
1032
470k
Code Reviewing Like a Champion
maltzj
528
40k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.3k
What's in a price? How to price your products and services
michaelherold
247
13k
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を近々配信予定
ありがとうございました