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
Denik
June 02, 2020
Technology
0
690
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
7.7k
Unity Localization で多言語対応実装しよう / xrdnk-yokohamaunity-lt10-20220513
xrdnk
0
5.4k
XR Interaction Toolkit 2.0.0 正式リリース記念パピコ / xrdnk-xrmtg-lt-20220316
xrdnk
0
5.9k
Unidux を用いたマルチシーン構成の画面遷移 / xrdnk-unity-otonanolt-2021
xrdnk
0
5.2k
Unity Cloud Save でプレイヤーデータのクラウド保存しよう / xrdnk-yokohamaunitylt9
xrdnk
0
1.4k
Feel でゲームのエフェクトを豪華にしよう / xrdnk-yokohamaunityLT8
xrdnk
1
1.7k
Unidux Scene Transition Hands-on / xrdnk-unidux-scene-transition-hands-on
xrdnk
1
400
新MLAPIでマルチゲームを作ってみた / xrdnk-gotandaunityLT19-presentation
xrdnk
1
4k
三種の神器とMVRPパターン / xrdnk-three-sacred-treasures-and-mvrp-pattern
xrdnk
1
6.4k
Other Decks in Technology
See All in Technology
君も受託系GISエンジニアにならないか
sudataka
1
370
個人開発から公式機能へ: PlaywrightとRailsをつなげた3年の軌跡
yusukeiwaki
10
2.7k
SCSAから学ぶセキュリティ管理
masakamayama
0
140
リアルタイム分析データベースで実現する SQLベースのオブザーバビリティ
mikimatsumoto
0
950
[2025-02-07]生成AIで変える問い合わせの未来 〜チームグローバル化の香りを添えて〜
tosite
1
290
Bounded Context: Problem or Solution?
ewolff
1
210
家電アプリ共通PF "Linova" のAPI利用とPostman活用事例ご紹介
yukiogawa
0
130
現場で役立つAPIデザイン
nagix
29
10k
トラシューアニマルになろう ~開発者だからこそできる、安定したサービス作りの秘訣~
jacopen
2
1.5k
開発スピードは上がっている…品質はどうする? スピードと品質を両立させるためのプロダクト開発の進め方とは #DevSumi #DevSumiB / Agile And Quality
nihonbuson
1
1.3k
偶然 × 行動で人生の可能性を広げよう / Serendipity × Action: Discover Your Possibilities
ar_tama
1
740
WAF に頼りすぎない AWS WAF 運用術 meguro sec #1
izzii
0
460
Featured
See All Featured
Optimizing for Happiness
mojombo
376
70k
GraphQLとの向き合い方2022年版
quramy
44
13k
Speed Design
sergeychernyshev
25
780
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.3k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.1k
Facilitating Awesome Meetings
lara
51
6.2k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
Raft: Consensus for Rubyists
vanstee
137
6.8k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
29
4.6k
The World Runs on Bad Software
bkeepers
PRO
67
11k
Adopting Sorbet at Scale
ufuk
74
9.2k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
44
9.4k
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を近々配信予定
ありがとうございました