狠狠撸

狠狠撸Share a Scribd company logo
猫でも分かる
Oculus警察撃退法
おかず@pafuhana1213
Oculus Rift勉強会 関西#02
#OcuBen
1
自己紹介
Twitter
–おかず@pafuhana1213
Oculus歴:約2年
– いろいろつくりました
–UE4メイン
最近の出来事
– 冬コミ受かりましたー。遺影ー
2
本講演(資料)のターゲット
VRコンテンツを作ろうとしているけど
どうしたらいいのか分からない人
3
VRコンテンツを作ってみたけど
何か酔いやすいし、
何かイマイチな作品になってしまった人
お品書き
? Oculus警察とは
? Oculus警察撃退する
たったひとつの冴えたやり方
4
Oculus警察とは?
VRコンテンツのデモをしていると
突然現れる謎の人種
5
Oculus警察の生態
? フレームレートが不足している
VRコンテンツを体験すると、発狂する
? 酔い対策が全く入っていない
VRコンテンツを体験すると、発狂する
? その場では何も言わず、Twitter上で
愚痴ることが多い
– 性格の悪いコミュ症
6
Oculus警察撃退する
たったひとつの冴えたやり方
VRコンテンツを作りましょう
7
ね、簡単でしょ?
VRHMDが要求するフレームレートを
常に維持しつつ、
酔い対策を十分に入れた
少し真面目に
? VRは生牡蠣
– 一度酔った人は、二度とVRを体験しようとしない
– あなたの作ったVRコンテンツが
はじめてのVR体験になる可能性
? 独学で達成するのは困難
– 先人たちの成功?失敗?経験などを
全力で盗s…取り入れてきましょう
8
真のアジェンダ
? VRコンテンツを作る前に
– コンテンツを遊ぼう
– 色々と記事を漁ってみよう
? 酔わないVRコンテンツへの道
– フレームレート編
– 酔い対策編
? 素晴らしいVRコンテンツへの道
9
VRコンテンツを作る前に…
良いVRコンテンツと
酔いやすいVRコンテンツを遊ぼう
– VRコンテンツで酔い対策をする上での指針を
自分の中に構築
自分は天才だ、という過信は捨てること
– 「他作品からの影響を受けたくない」的な
10
良いVRコンテンツ
? Oculusが展示しているコンテンツ
? 「杜のVR部」で紹介されているコンテンツ
– http://www.forest.impress.co.jp/docs/serial/oculusclub/
? OculusShareのTop Rated
– https://share.oculus.com/
– 一部酔いやすいものがあるので注意
11
酔いやすいVRコンテンツ
? フレームレート不足
– 自作するのが手っ取り早い
? 超重いモデルをシーンに大量配置
? 酔い対策なし
– OculusSDKのSamplesフォルダにある
「OculusWorldDemo.exe」
? 自由に動き回れる一人称視点VR
12
13
ここで少し注意
酔いや違和感を得なかったあなたは
VR酔いに強い人です
14
VRコンテンツの酔い対策する上で
自分の感覚を一切信用しないで下さい
? 他人にチェックプレイしてもらいましょう
真のアジェンダ
? VRコンテンツを作る前に
– コンテンツを遊ぼう
– VRに関する資料や記事を漁ってみよう
? 酔わないVRコンテンツへの道
– フレームレート編
– 酔い対策編
? 素晴らしいVRコンテンツへの道
? まとめ
15
VR開発者のバイブル
Oculusのベストプラクティスガイド 日本語版
– https://forums.oculus.com/viewtopic.php?f=74&t=25819&p=291801
VRコンテンツに関する知識?ノウハウの宝庫
– VR酔いの原因?対策
– VRコンテンツ製作時の注意点
– 没入感を向上させる方法
16
おすすめのVR系記事
? CEDEC2014 SCEの講演
– VR ~Project Morpheusで体感する未来~
? CEDEC2015 Oculusの講演
– すべては快適な体験のために:Oculusによる実践的VR開発技法
? CEDEC2015 バンナムのサマーレッスン講演
– プロデュース編、 テクニカル編、 開発者ディスカッション編
17
その他 参考資料
? VR関係の書籍
– バーチャルリアリティ学
– 売れるゲームのUI/UX
制作現場の舞台裏
? VRに関するページは12pのみ
? 狠狠撸Shareにて「VR」「Oculus」で検索
– http://www.slideshare.net
18
真のアジェンダ
? VRコンテンツを作る前に
– コンテンツを遊ぼう
– VRに関する資料や記事を漁ってみよう
? 酔わないVRコンテンツへの道
– フレームレート編
– VR酔い対策編
? 素晴らしいVRコンテンツへの道
? まとめ
19
そもそもフレームレートって?
一秒間に表示されるフレーム(画面)の数
– 一般的なゲーム?動画 : 約30fps
– ヌルヌルなゲーム?動画 : 約60fps
20
VRHMDが要求するフレームレート
? Oculus Rift DK2 : 75fps
? Oculus Rift 製品版 : 90fps
? Gear VR : 60fps
? PlayStation VR : 60fps
? HTC Vive : 90fps
21
フレームレートを下回るとどうなるの?
死あるのみ
22
少しだけ!少しだけだから!
23
死あるのみ
100%酔います
全てが台無しです
高フレームレートを維持するには
超ハイスペックPCを買う!
–VRは金!筋肉!
24
間違いではないけど
そうではない
高フレームレートを維持するには
想定している実行環境に応じた
高速化?最適化?仕様調整を行うこと
– デモ当日に「PCの性能が低くて…はははwww」と
言っている人は、この意識が足りてない
25
デスクトップPC
DK2+GTX970
だから???
VRコンテンツにおける高速化の指針
ボトルネックになるのは、描画処理(GPU)
–画面2枚分表示するため
モバイル3Dゲームでのノウハウが有効
–モデルのポリゴン数
–ライティング?シャドウ
–半透明
–ポストプロセス
26
ここで少し注意
以降のスライドでは、専門用語が多数登場します
知らない用語に関しては
「あとで調べてみよー」という感じで
気楽に聞いて下さい。スライド公開しますし!
27
モデルのポリゴン数
個人開発の範囲では、対応は後回しでOK
– 他の処理の方が断然重い
– ただし、Gear VRは除く
28
モデルのポリゴン数への対応
超ハイポリゴンモデルは避ける
– 最近のMMDモデルなど
LODは有効
– アセットを購入する際はチェック
モデルの結合は微妙
– オクルージョンカリングの関係
– ただし、Gear VRは除く
29
ライティング?シャドウ
基本的に、動的なライティングは避ける
– ライトマップへのベイク
– ライティング情報を事前に計算
30
ライトマップへのベイク方法
UE4
1. ライトの設定を「Static」に
2. Buildボタンを押す
Unity5
1. ライトの設定を「Baked」に
2. LightingウィンドウのBuildボタンを押す
31
Unity5でライトを焼く ~テラシュールブログ~
ライトマップと動的オブジェクト
ライトマップは、静的なライトとオブジェクトによるもの
– 動的オブジェクトは考慮していない
動的オブジェクト
– 少しでも動くオブジェクト
– 静的設定をし忘れてるオブジェクト
32
ライトマップと動的オブジェクトの問題
? ライトが反映されないので、真っ黒に
? 影が描画されない
33
動的オブジェクトへのライティング
? 動的なライティングを併用
– 当然、重くなる
? ライティングの影響を受けない
マテリアルを使用
– UE4 :Emissive
– Unity5 :Emission
? GI(グローバルイルミネーション)による
間接光を利用
– オススメ! 34
GIによる間接光を利用
静的オブジェクトからの反射光を事前計算
– 動的オブジェクトにも
ライティングが反映される!
– 処理が断然軽い!
– ただし、大雑把なライティング…
実装方法
–UE4 :Lightmass
–Unity5:Light Probe
35
動的オブジェクトのシャドウ
丸影などのフェイク表現を使用
– 調整すれば、違和感はそこまでない
– EpicのShowdownデモが採用
36
半透明
重い
–エフェクト?GUIなど
37
半透明への対策
? 半透明を使わない表現に変更
– Showdownデモ
? 半透明”っぽい”表現
– チェッカーパターンによる抜き
? UE4:DitherTemporalAA
? 他の処理負荷との相談
– エフェクトの量?表示時間など
38
ポストプロセス
描画した画面に対して行う「後化粧」
– 処理重め
1. アンチエイリアスは可能な限り有効に
2. Bloomもできれば有効に
3. 他は使わない (特にレンズ再現系)
39
その他の高速化
? 描画解像度の変更
– UE4 :hmd spコマンド
– Unity5 :VRSettings.renderScale
? 負荷が大きめの処理?設定を切る
– プロファイラでボトルネック調査
– 反射、フォグなどなど
40
奥の手
41
? 超ハイスペックPCを買う!
–VRは金!
? 仕様?表現の大幅変更
個人的な考え
金で解決できるのなら、金で解決するのが手っ取り早い
– ただし、デモ展示用のコンテンツに限る
– 配布コンテンツの場合は
可能な限り高速化 or 描画オプションを用意
表現したい内容に応じた
各処理負荷のバランス調整が重要
– 例:ホラー系なのでライティングは拘りたい
→ ローポリモデル?エフェクト少なめに
42
おまけ
? アンリアルな人
– Epicの中の人 シモダさん(@junyash)の高速化Tips
? Oculus向けのコンテンツをUE4で制作するための
ノウハウ共有?(Oculus向けの最適化とか品質向上とか)
? Showdownで使われていたノウハウの紹介も
– 実際に高速化してみた記事
? 自分用も兼ねて、UE4+Oculusについて色々纏めてみる -高速化編-
(2015/02/01)
? ユニティな人
– Unite 2015: Optimizing for Consumer VR 43
真のアジェンダ
? VRコンテンツを作る前に
– コンテンツを遊ぼう
– VRに関する資料や記事を漁ってみよう
? 酔わないVRコンテンツへの道
– フレームレート編
– VR酔い対策編
? 素晴らしいVRコンテンツへの道
? まとめ
44
VR酔いの原因 その1
頭の移動?回転と、表示内容とのズレ
– 体感と視覚のズレ
– ポジション?ヘッドトラッキング
対策
– 高フレームレートの維持
– 常にトラッキング情報をカメラに反映
? どんな理由があろうが、例外はない
45
VR酔いの原因 その2
視覚誘導性自己運動感覚(ベクション)
46
視覚 体感
≠
VR酔い発生!
ベクションが発生しやすい条件
? カメラの移動?回転
– トラッキングの反映とは別で
ゲーム内での制御によるもの
? カメラ以外のオブジェクトの
移動?回転
– カメラ移動?回転と同じ見え方を
引き起こす場合
47
キャラクタ固定
ベクションを軽減させる為に
? カメラを動かさない
? 酔いにくいカメラ挙動
– 個人差によるものが大きい
? ベクションを感じさせない工夫を導入
– 全世界的に研究?検証段階
48
CEDEC2015 Oculusの講演より
基準物によるベクション軽減
画面上での変化がない?少ない物体
– 自分が動いていないという感覚を強調
基準物の例
– コクピットなどのフレーム表示
– 移動目標地点
– 遠くにある巨大な背景物
49
三人称視点VR
カメラ制御の自由度向上
– 酔い対策を入れやすい
? キャラクタへの追従移動
? カメラを高い位置に配置 などなど
詳しくは、前回の資料で
– 「猫でも分かる3人称視点VRコンテンツ」
50
その他
? カメラ移動時に特殊処理を使用
– グリッド表示
– フィルタを使ったぼかし処理
? テレポートによるカメラ移動
– 瞬間的な移動なら
ベクションは発生しない
51
ノウハウはどんどん共有?検証しましょう
酔い対策のアイデアはまだまだ眠っている
– あなたのアイデアが
今後のデファクト?スタンダードになる可能性も
思いついた?実装したアイデアは
ネットに公開して色んな人に検証してもらいましょう!
52
おまけ
? 某O社の中の人
– @GOROman
– @needle
? Oculusデベロッパー助け合い所(Facebookグループ)
? VR専門のニュースサイト
– MoguraVR
– PANORA VIRTUAL REALITY JAPAN
– 白ペンギン
– Road to VR - Virtual Reality News - Road to VR
53
真のアジェンダ
? VRコンテンツを作る前に
– コンテンツを遊ぼう
– VRに関する資料や記事を漁ってみよう
? 酔わないVRコンテンツへの道
– フレームレート編
– VR酔い対策編
? 素晴らしいVRコンテンツへの道
? まとめ
54
素晴らしいVRコンテンツとは?
? 酔わない
? ハイクオリティな内容
? 没入感?プレゼンス(実在感)を
ユーザに強く与えるコンテンツ
– 今後のVRコンテンツで
より重要となる要素
55
没入感?プレゼンスを向上させるには
プレイヤとキャラクタ?VR空間との
双方向的なインタラクション
56
キャラクタ → プレイヤ
プレイヤに向けたアクション
– プレイヤを見つめる
– プレイヤの側に寄ってくる
– 頭を近づけると避ける?嫌がる
57
プレイヤに触れる系の
アクションは避けた方が無難…
– 触感がないため
VR空間 → プレイヤ
オブジェクトベースオーディオの使用
– 前後?左右?上下の定位感
– 頭の位置?向きによって聞こえ方が変化
OculusAudioSDKが最も手軽
– UE4, Unity共に対応済み
58
プレイヤ → VR空間
VR専用コントローラを使った
オブジェクト操作
– つかむ
– ふる
– おく
– なげる
– うつ などなど
59
没入感?プレゼンスを失うのは一瞬
没入感?プレゼンスを失う原因の例
– 酔いを感じた
– キャラクタモデルの中が見えた
– オブジェクトに触れたけど何も反応がなかった
VRHMDの製品版リリース後の課題
– 破綻を発生させず
双方向インタラクションを実現し続けられるか
60
真のアジェンダ
? VRコンテンツを作る前に
– コンテンツを遊ぼう
– VRに関する資料や記事を漁ってみよう
? 酔わないVRコンテンツへの道
– フレームレート編
– VR酔い対策編
? 素晴らしいVRコンテンツへの道
? まとめ
61
まとめ
? Oculus警察の撃退法を伝授しました
– 高フレームレートの維持
– VR酔い対策
? より良いVRコンテンツにする方法について
– ユーザとキャラクタ?VR空間との
双方向的なインタラクション
62
おわり
ご清聴ありがとうございました
時間があれば…質疑応答
たぶんない
63

More Related Content

猫でも分かるOculus警察撃退法 slideshare