Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
UE4でのSteamVRを使ったVRゲーム開発
Search
Fresnel
May 17, 2020
Programming
1.2k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
UE4でのSteamVRを使ったVRゲーム開発
UE4でSteamVRを使う際のノウハウあれこれです。LTで発表した資料の公開版です。
Fresnel
May 17, 2020
More Decks by Fresnel
See All by Fresnel
Clusterの入り方
fresnel
0
140
Other Decks in Programming
See All in Programming
SalesForceを内製化!? ~ HR事業を支える顧客管理基盤のインフラを大公開 ~
oku053
0
180
外から家のPCの電源入れたい!をPHPで解決する
kawashimo0
1
140
ジョジョの世界をXRで再現する
mofurune
0
170
月間100万人のサービス刷新で、 技術選定をHonoに振り切った話
yutobara
8
6.7k
[ハンズオン]AIへの指示だけで「五目並べ」を作ってみよう
satoshi256kbyte
1
380
Compiling a real-world CLI tool to native with Static Hermes
tmikov2023
0
120
残高管理から台帳サービスへの進化
artoy
1
200
C#の現在地 進化の歴史と、AI時代の.NET Everywhere
neuecc
5
5.2k
ChromeでローカルLLM
ryu1013
0
140
Web Framework Benchmark Battle 2026, Any%
a_matsuda
2
2.3k
當我們開始不讀 Code - AI Agent 時代,Code Review 與 Clean Code 還剩下什麼?
jame2408
1
250
IBM Bob でAI駆動開発『QC-Playbook』
ichirokano2
0
110
Featured
See All Featured
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1.1k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
640
Faster Mobile Websites
deanohume
310
32k
What does AI have to do with Human Rights?
axbom
PRO
1
2.5k
Navigating Team Friction
lara
192
16k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.5k
How Software Deployment tools have changed in the past 20 years
geshan
2
35k
Marketing to machines
jonoalderson
1
5.9k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
600
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.4k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.5k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.9k
Transcript
フレネルさん (@fres_nel)
Who are you? HN: フレネル で活動してます (情報系M2) 最近はほとんどNeosVRにいます VRChatのワールドとか Neosの小物・ワールド作ってます
ホントはプログラマーです 最近InDesignでDTPとかAeで動画とかの雑用ばっかだけど… ガチで職が見つからない ヤバい VR系の研究・開発で働きたい…‼ SteamVR with UE4 2 1-1 ↑最近よく使ってる有坂みとさんのメープルちゃん! かわいいからみんなも買おうね
Who are you? SteamVR with UE4 3 1-1 最近作ったヤツ
(NeosVR Essentials Only, No Blender!)
Introduction みなさん… UE4、使ってますか? SteamVR with UE4 4 1-2
Introduction UE5が発表されました! PS5でのデモ映像が公開されました 数十億ポリゴンを直接扱える「Nanite」 新しい動的ライティングの「Lumen」
UE4→UE5への前方互換性 今、Unreal Engineがアツイ‼ SteamVR with UE4 5 1-2
Introduction 最近は多くのAAAタイトルで採用されています ACE COMBAT 7, Dragon Quest XI, Fortniteなどなど…
UE4に乗り換える積極的な理由って? ノードベースのビジュアルスクリプティング プログラマ:挙動が可視化されるので激烈にデバッグがしやすくてうれしい デザイナー:プログラマに頼らなくても簡単なスクリプトを自分でテストできる C++によるプログラミングももちろん可能 UObjectを起点としたオブジェクト指向 運営(Epic)がとってもユーザフレンドリー サブスクとかはなく、一定売上額まで全機能が無料で使える!! SteamVR with UE4 6 1-2
Introduction 宣伝はいいけどじゃあVRはどうなんですか 超使いやすい!!!! ということで… 今回はUE4でSteamVRを使う際のノウハウあれこれの共有 VR周りは私も最近触り始めたばっかりなので… もし間違ってるところあったらご指摘お願いします! SteamVR with UE4
7 1-2
Introduction おことわり UE4ガチ初心者向けに作ってます はじめてUE4を触って、VR開発するぞ!って人向けです。 慣れている方にはたぶんめっちゃ冗長なスライドです。お許しを… UE4.25を想定しています 後述のインプット周りが割と最近のアプデのものです ご注意下さい SteamVR with
UE4 8 1-2
とりあえず動かす • 前準備 • カメラをHMDに追従 SteamVR with UE4 9 1
前準備 プロジェクトの作成 SteamVR with UE4 10 2-1
前準備 今回はゼロから作るのでBlankを選択 「バーチャルリアリティ」テンプレートは実装例があるので、こちらも見てみると面白いかもしれません SteamVR with UE4 11 2-1
前準備 下図のような設定にします SteamVR with UE4 12 2-1
前準備 起動! SteamVR with UE4 13 2-1
前準備 編集→プラグイン SteamVRプラグインが有効になっていることを確認 SteamVR with UE4 14 2-1
前準備 ファイル → 新規レベル SteamVR with UE4 15 2-1
前準備 Default SteamVR with UE4 16 2-1
前準備 ファイル → 現在のレベルを保存 SteamVR with UE4 17 2-1
HMDを動かしてみよう 何はともあれ、HMDに合わせてカメラを動かしたい! 秒で出来ます。 SteamVR with UE4 18 2-2
HMDを動かしてみよう まずカメラのオブジェクトを作ります コンテンツブラウザを右クリック ブループリントクラスを選択 SteamVR with UE4
19 2-2
HMDを動かしてみよう Pawn SteamVR with UE4 20 2-2
HMDを動かしてみよう 適当に命名してダブルクリックして開きます SteamVR with UE4 21 2-2
HMDを動かしてみよう ブループリントとは? UE4の一番の目玉機能 ノードベースのビジュアルスクリプティング VRChatを触っている方には超絶高機能なUdonというと分かりやすい かも
関数の定義なども可能 ノードベースでも、本格的なOOP開発もできる SteamVR with UE4 22 2-2
HMDを動かしてみよう SteamVR with UE4 23 2-2 開くとこんな画面が出てきます Unityでいうところの、Prefabのようなイメージです
HMDを動かしてみよう コンポーネントを追加 Cameraを追加 SteamVR with UE4 24 2-2
HMDを動かしてみよう イベントグラフを開く BeginPlayから線を伸ばしてSet Tracking Originを検索 OriginはFloor Level
SteamVR with UE4 25 2-2
HMDを動かしてみよう メイン画面に戻ってドラッグ&ドロップでLevel上に配置 座標は0,0,0に SteamVR with UE4 26 2-2
HMDを動かしてみよう Auto Possess PlayerをPlayer 0に (本来はGameModeをちゃんと設定したほうがいいと思います) SteamVR with UE4
27 2-2
HMDを動かしてみよう VRプレビューモードで起動 SteamVR with UE4 28 2-2
HMDを動かしてみよう Good. SteamVR with UE4 29 2-2
HMDを動かしてみよう UE4VR speedrun any% 30sec 完走した感想ですがとても簡単でした ホントにこれだけ? これだけですよ。 これがUE4のパワーだ! SteamVR
with UE4 30 2-2
コントローラ • コントローラを表示してみよう • SteamVR Inputのテスト UE4 with SteamVR 31
2
コントローラを動かす HMDを動かしたらやっぱり次はコントローラだよね 動かしてみましょう! UE4 with SteamVR 32 2-1
コントローラを動かす さっきのHMDCameraを再び開く コンポーネントの追加→MotionControllerを二つ Left/Rightと名前を変えておきます UE4 with SteamVR
33 2-1
コントローラを動かす Leftをとりあえず選択 右の詳細パネルのここらへんで設定ができます UE4 with SteamVR 34 2-1
コントローラを動かす ビジュアリゼーション コントローラのモデルの表示を設定できます Display Device Modelにチェックを入れる
Display Model SourceをSteamVRに Rightのコンポーネントも同様に設定しましょう UE4 with SteamVR 35 2-1
コントローラを動かす モーションコントローラー コントローラ自体の設定です LeftのコンポーネントはMotion SourceをLeftに RightのコンポーネントはMotion
SourceをRightに! UE4 with SteamVR 36 2-1
コントローラを動かす VRプレビューでプレイすると? UE4 with SteamVR 37 2-1
コントローラを動かす もしかしたらLIV入れてる人はこうなっちゃうかも… UE4 with SteamVR 38 2-1
コントローラを動かす 設定の「アドオン管理」からLIVをオフにすれば治ります UE4 with SteamVR 39 2-1
SteamVR Input Systemの設定 SteamVR Plugin 2.0以降にはInputに関する仕組みがある この画面なら見たことあるかも? UE4
with SteamVR 40 2-2
SteamVR Input System 簡単にまとめると? UE4 with SteamVR 41 2-2
Action Manifest Valve Index Oculus Rift S VIVE Pro … ゲームで使用される Interact, Cancelといったボタンや スティックのXY軸といった アクションの一覧リスト
SteamVR Input System 簡単にまとめると? UE4 with SteamVR 42 2-2
Action Manifest Valve Index Oculus Rift S VIVE Pro … Action Manifestのアクションに対して 対応するボタンを記録した コントローラバインディング
SteamVR Input System 中身はJSONで書かれている ProjectRoot/Config/SteamVRBidings/*.json UE4 with SteamVR
43 2-2 steamvr_manifest.json knuckles.json
SteamVR Input System でも自分でJSONなんか書きたくないよ!! UE4からどうやって触ればいい? プロジェクトのインプット設定をするだけ
勝手にSteamVR Pluginがそこから自動生成してくれる! 試しにL/Rトリガーを割り当ててみよう! UE4 with SteamVR 44 2-2
SteamVR Input System 編集→プロジェクト設定 左のリストから「インプット」を選択 UE4 with SteamVR
45 2-2
SteamVR Input System バインディングの設定 ここでの設定がSteamVRのInputに対応します UE4 with SteamVR
46 2-2
SteamVR Input System アクションマッピングの + を押して追加 名前はとりあえずTriggerとしておきます
自分のVR機器に対応するトリガーのボタンを設定してください UE4 with SteamVR 47 2-2
SteamVR Input System 左のリストのプラグインからSteamVRを選択 UE4 with SteamVR 48 2-2
SteamVR Input System 3つのボタンをクリックしてJSONを生成・リロードします アクションマニフェストを再生成 コントローラバインディングを再生成
アクションマニフェストをリロード UE4 with SteamVR 49 2-2
SteamVR Input System 「SteamVRバインディングダッシュボードを起動」を押して 公式バインドが生成されているので、表示ボタンを押すと 設定が反映されていることが確認できます UE4 with SteamVR 50
2-2
SteamVR Input System 実際にトリガーが反応するかテスト さっきのブループリントを開いて、イベントグラフを表示 UE4 with SteamVR
51 2-2
SteamVR Input System 何もない所を右クリックすると新規ノードが出せるので… Triggerと検索してアクションイベントのTriggerを追加 UE4 with SteamVR
52 2-2
SteamVR Input System UE4のインプットで設定したモノはそのままノードが出せます ボタンを押したときの処理はこれが使いやすいです UE4 with SteamVR
53 2-2
SteamVR Input System Pressedから引っ張ってPrint Stringを出します デバッグ用の画面表示です UE4 with
SteamVR 54 2-2
SteamVR Input System HMDを被らずにトリガーを押してみると… 画面の左上にデバッグ文字列が表示されます! UE4 with SteamVR
55 2-2
その他いろいろTips • SteamVR Inputの設定をツールバーに表示 • 二軸への対応 • Haptic Feedback •
Skeleton Inputの取得 • デバイスIDからのデータ取得 UE4 with SteamVR 56 3
SteamVRの設定をツールバーに表示 これ、いちいち開くのめんどくさいですよね UE4 with SteamVR 57 3-1
SteamVRの設定をツールバーに表示 チェックを入れておくと、ツールバーに表示されます UE4 with SteamVR 58 3-1
二軸への対応 少し厄介なのが、X/Yの2D値を持つスティックの扱いです SteamVR Vector1, 2, 3と3次元までの入力に対応
UE4のインプット 軸マッピングは1次元入力のみ 対応させる方法があります UE4 with SteamVR 59 3-2
二軸への対応 hoge_X, hoge_Yという名前で軸マッピングを作成 これで自動でSteamVRのVector2に変換してくれます ちょっとややこしい仕様ですが頻繁に使うので覚えておくとうれしい UE4 with
SteamVR 60 3-2
Haptic Feedback コントローラを振動させたい場合… Play Steam VR Haptic Feedback関数を呼び出す
下図の例:トリガーを押したときにコントローラを振動 UE4 with SteamVR 61 3-3
Skeleton Inputの取得 SteamVRには指の曲がり具合を取得できるSkeleton Inputが APIに用意されています https://valvesoftware.github.io/steamvr_unity_plugin/articles/Skeleton-Input.html 記事がUnity版しかないのですが、仕組みとしてはSteamVR自体のものなので同じです
指が取れないコントローラではボタンなどの押し具合からの推 測値、指が取れるIndexのようなコントローラでは実測値(?) これによりコントローラの種類に依存せず、キャラクターの指 を動かすことができます UE4 with SteamVR 62 3-4
Skeleton Inputの取得 UE4ではGet Finger Curls and Splaysで呼び出せます UE4 with
SteamVR 63 3-4
デバイスIDからのデータ取得 トラッカーなど非コントローラの座標はどうやって? デバイスのIDを取得 IDに対応するデバイスのPosition(位置), Orientation(向き)を取得 UE4 with
SteamVR 64 3-5 トラッカー所持してないのでテストできていませんが、恐らくこれで動くはず…?
まとめ UE4でのVR開発、こわくないよ SteamVRもUE4もえらい! UE5も発表されて今大盛り上がりのUE界隈 互換性アリとのことなので、今UE4で開発始めてUE5に持っていくこ ともできるよ
みんなもレッツUE4! UE4 with SteamVR 65
参考文献 SteamVR 用 スタンディング式カメラの設定方法 | Unreal Engine Documentation https://docs.unrealengine.com/ja/Platforms/VR/SteamVR/HowTo/StandingCamera/index.html モーション
コントローラー コンポーネントの設定 | Unreal Engine Documentation https://docs.unrealengine.com/ja/Platforms/VR/DevelopVR/MotionController/index.html Steam VR Input System(OpenVR Action Input)についてのメモ – Qiita https://qiita.com/gpsnmeajp/items/e423c699dde7aecb25cc SteamVR Input · ValveSoftware/openvr Wiki https://github.com/ValveSoftware/openvr/wiki/SteamVR-Input SteamVR Input System の設定方法 | Unreal Engine Documentation https://docs.unrealengine.com/ja/Platforms/VR/SteamVR/HowTo/SteamVRInput/index.html Skeleton Input | SteamVR Unity Plugin https://valvesoftware.github.io/steamvr_unity_plugin/articles/Skeleton-Input.html UE4 with SteamVR 66
Thank you for listening!