SlideShare a Scribd company logo
UE4・Re:ゼロから始めるVR開発
1. ゼロから始めるVR開発
2. VRテンプレートの触り方
• 手の実装
• 物をつかむ、はなす
3. おまけ
Agenda
大学生でも・・・
VR開発がしたい!!
(したくない?)
実はUE4でのVR開発・・・
超簡単!!!
ハイエンド型VR(Oculus,VIVE etc…)
PCにVRをつなげて
プレイからVRプレビュー
を押すだけ!!
超簡単!!!
スマホVR
PluginからGoogleVRもしくはSimpleHMD
をチェックを入れるだけ!!
スマホに書き出す前に
超簡単!!!
あれ、ハッカソンではMobileVRSampleなんていう
よくわからないもの使って色々めんどくさかったような…
スマホVR
• 実はあれ…
WindowsだけでIOS開発をしていたから!!
スマホVR
PluginなどのC++ファイルはWindowsでは
IOS向けにビルドされない…
解決策
1.WindowsのプロジェクトをMacでリモートビルド
→https://soramame-games.com/2018/05/ios-win-cpp
2.Mac単体で開発
要するに本格的にIOS開発したいなら…
Macを買え!!!
VR開発は簡単なのは分かった…
でもVR開発するなら
ハイエンドで物をつかんだりしたい!!
(したくない?)
VRTemplate
• UE4には標準でVRのテンプレートがある!!
超便利!!!
VRTemplate
• 今回説明するBP
VRTemplate
• 今回説明するBP
実はこいつらがちょいやっかい…
しかしこれらを理解すると…
• BPインターフェイス
• キャスト時のオーバーヘッドを減らす
• BPの関数化・マクロ化の大切さetc…
→複数人や、大規模な開発をする上で大切な機能が学べる
超大事!!!
これらは…
VRTemplate
• とりあえずこいつらのBP見たらいけるでしょ…!!
ちょっと何言ってるかわからない
VRTemplate
• UE4JP公式でやっていた生放送!おかずさんとロブさんが解説開発!
→https://www.youtube.com/watch?v=lvXkbUAzjwk&t=2207s
動画を見れば全て納得!!!
とりあえず…
ご清聴ありがとうございました
っていうのは嘘で…
手の実装
• 実はこの2つのBPは名前は似てるけど、全く違い&どちらも必要
手の実装
• MotionControllerPawn
→VRの体(手以外の部分を主に実装)
→こいつが司令塔のように動く
→移動するときもこいつを動かしてやればいい!
手の実装
• BP_MotionController
→VRの右手だけ
→標準でものを掴む放すが書いている
→VRならではのテレポートも書かれている!
あれ、これだと右手しかないし
別々のBPに書いてるからどう実装するんだ??
手の実装
• MotionControllerPawn
手の実装
• 簡単に言うと
→BP_MotionControllerを2個スポーン
させ右手と左手をEnumで設定
→それぞれを変数に格納
→MotionControllerPawnに
アタッチ(親子付)
なんでいったん変数に置くのは後程解説
手の握る・放す
• コードはすごく短い
→インプットが取れたら関数を呼び出す
→握るときは「GrabActor」関数
→放すときは「ReleaseActor」関数
手の握る・放す
• GrabActor
→近くにActorがあるかを調べる
→あれば変数に保持して,PickUpのメッセージを送る
→この関数は手の実装なので?
手の握る・放す
• ReleaseActor
→Actorを持っているかを判定
→あればDropのメッセージを送る
手の握る・放す
• BP_PickUpCube
→コードは短い!
→PickUpはメッセージを受け取れば
手にAttach(親子付け)
→Dropはメッセージを受け取れば
手にDetach(親子付解除)
君も立派なVR開発者に!!!
(なれるかもね…)
これらを応用すれば
おまけ
そういえば最初こんなこと言ってたような
• BPインターフェイス
• キャスト時のオーバーヘッドを減らす
• BPの関数化・マクロ化の大切さetc…
→複数人や、大規模な開発をする上で大切な機能が学べる
複数人開発,大規模開発役立つこと(やってほしいこと)
BPインターフェイス
• Castや継承を使わずに必要な情報をクラス間やり取りができる
• Javaのインターフェイスと似ているのは多重継承と,ロジックの追加
• クラスからメッセージを送る
• インターフェイスを実装しているクラスだけにメッセージが送られる
• まあメールとか、PCとマウスみたいな関係
BPインターフェイス
• 重要なのはカプセル化(知らない人はググって)
• Class間ですべての情報を渡していては処理速度の低下,コンパイ
ル速度の低下などなど
• 一対一ではCastでもよいが,一対複数の時に使うべき
• 例えば手と握る物などなど
BPインターフェイス
• 重要なのはカプセル化(知らない人はググって)
• Class間ですべての情報を渡していては処理速度の低下,コンパイ
ル速度の低下などなど
• 一対一ではCastでもよいが,一対複数の時に使うべき
• 例えば手と握る物などなど
メッセージ
キャスト時のオーバーヘッドを減らす
• CastはClassの全情報を持ってくるので重い
→ オーバーヘッドの増加
→Tickにつなげるとかは特にダメ
• ただしCastは便利だからどうしてもつかいたい…
• そういうときはこういうプログラムを書こう!
キャスト時のオーバーヘッドを減らす
• 一旦変数に格納、それ以降は通さないようにする
BPの関数化・マクロ化
• BPは開発が大規模・複数人になればなるほどスパゲッティ化
が進む
• 開発効率の低下、バグの増加につながる
BPの関数化・マクロ化
• 機能をひとまとめにするために関数化・マクロ化を行うべき
• 他のクラスでも参照するときは関数などいろいろ違いがあるの
で、見極めて使うべし
• それもできない人はせめてグラフの折り畳みをやって…
→http://katze.hatenablog.jp/entry/2016/12/18/000000
最後に…
Class運用などでこういった
ことはとても大切です
一人での開発でも確実に
効率がよくなります
だからみんなスタイルガイド
をしっかり読んで開発してね
UE4・Re:ゼロから始めるVR開発

More Related Content

PPT
Node canvas
PDF
C# から Ruby に乗り換えた
PPTX
JS と Canvas で作るシューティングゲーム
PDF
READMEを書こう
PDF
Xcodeとstoryboardのすごさを思い知る、ソースコードを書かないプログラミング
PDF
Uno Platform 触ってみた
PDF
tmuxを使おう
PPTX
C++からC#まで Visual Studio 縛り (で死ぬ実験)
Node canvas
C# から Ruby に乗り換えた
JS と Canvas で作るシューティングゲーム
READMEを書こう
Xcodeとstoryboardのすごさを思い知る、ソースコードを書かないプログラミング
Uno Platform 触ってみた
tmuxを使おう
C++からC#まで Visual Studio 縛り (で死ぬ実験)

What's hot (16)

PPTX
活動報告7 d&dなディレクティブを作る-
PPTX
ここまで来た!2017年 Web VRでできること
PPTX
Visual Studio といえば 当然 Visual Studio for Mac だよね!
PDF
Vagrant でお手軽開発環境
PDF
MOONBlockでプログラミング体験
PPT
IEとメモ帳でかんたんゲーム開発
PDF
iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」
PDF
PHP with Visual Studio
PDF
20101127 Android Usability Seminar
PPTX
UnityとTVMLはじめました。
PDF
ハッカソンで使い勝手の良さそうな Microsoft の AI 系のサービス紹介
PPTX
プログラマのためのPC自動化
PPTX
Xamarin の救世主 Unity !
PDF
StoryboardでUIを使いまわす
PDF
ようこそ! Swift Playgroundsへ
PPTX
A-Frameコンポーネントを公開しよう
活動報告7 d&dなディレクティブを作る-
ここまで来た!2017年 Web VRでできること
Visual Studio といえば 当然 Visual Studio for Mac だよね!
Vagrant でお手軽開発環境
MOONBlockでプログラミング体験
IEとメモ帳でかんたんゲーム開発
iPhone開発者初心者向け資料「XcodeのStoryboardで画面を作ろう!」
PHP with Visual Studio
20101127 Android Usability Seminar
UnityとTVMLはじめました。
ハッカソンで使い勝手の良さそうな Microsoft の AI 系のサービス紹介
プログラマのためのPC自動化
Xamarin の救世主 Unity !
StoryboardでUIを使いまわす
ようこそ! Swift Playgroundsへ
A-Frameコンポーネントを公開しよう
Ad

Similar to UE4・Re:ゼロから始めるVR開発 (20)

PDF
プログラミング不要!!VRコンテンツ作成入門
PDF
Oculus 体験・勉強会「VRコンテンツ制作入門」 2015/05/13
PPTX
VRでCGの世界に行ってみる!2017
PDF
Unityを使ったVRアプリ作成入門 ABCD2015金沢編
PDF
VR道場 Unity × Oculus Touch ~VRで手を動かしてみよう~
PDF
VRをはじめよう!
PPTX
ゼロからHtc viveの開発を始める
PDF
第3回ue4勉強会 in 大阪
PDF
Open Campus 20170820
PDF
オープンソースで始めるAR/VR開発
PDF
Oculus rift入門
PPTX
今すぐ始められるモバイルVR〜あなたも今日からVRエンジニア〜
PDF
A-Frameで始めるOculus Quest対応WebVR
PPTX
WebVRコンテンツ制作入門
PDF
UnityでVRアプリを作ってみよう! (ハンズオン編)
PPTX
Processing で作るVRアプリ
PDF
Unity&VR初心者が
UnityでVRゲームを
つくってみたい #sa_study
PDF
【第2回】VR道場 Unity × Oculus Touch ~VRで手を動かしてみよう~
PDF
Virtual lt 20180429
PDF
Live2d in unity
プログラミング不要!!VRコンテンツ作成入門
Oculus 体験・勉強会「VRコンテンツ制作入門」 2015/05/13
VRでCGの世界に行ってみる!2017
Unityを使ったVRアプリ作成入門 ABCD2015金沢編
VR道場 Unity × Oculus Touch ~VRで手を動かしてみよう~
VRをはじめよう!
ゼロからHtc viveの開発を始める
第3回ue4勉強会 in 大阪
Open Campus 20170820
オープンソースで始めるAR/VR開発
Oculus rift入門
今すぐ始められるモバイルVR〜あなたも今日からVRエンジニア〜
A-Frameで始めるOculus Quest対応WebVR
WebVRコンテンツ制作入門
UnityでVRアプリを作ってみよう! (ハンズオン編)
Processing で作るVRアプリ
Unity&VR初心者が
UnityでVRゲームを
つくってみたい #sa_study
【第2回】VR道場 Unity × Oculus Touch ~VRで手を動かしてみよう~
Virtual lt 20180429
Live2d in unity
Ad

UE4・Re:ゼロから始めるVR開発