ue4のvehiclegameをdk2...
DESCRIPTION
2014/10/25(土)OcuFes開発者会で「UE4のVehicleGameをDK2 75fps対応したが酔うとのことなのでその軽減にチャレンジ」というライトニングトークでUE4上のバギーゲームの酔いの低減についてのチャレンジを皆さんとシェアさせていただきました。 ※デモの部分は画像にしました。TRANSCRIPT
UE4のVehicleGameを
DK2 75fps対応したが
酔う!
とのことなので
その軽減にチャレンジ
エピック・ゲームズ・ジャパン
デベロッパー・サポート・マネージャー
シモダジュンヤ
これまでのあらすじ
UE4のVehicleGameをDK2 75fps対応したが酔う!とのことなのでその軽減にチャレンジ@OcuFes開発者会
これまでのあらすじ
2014/3 GDC@サンフランシスコ
UE4の全てプロ向けと同じモノを
月額19ドルで一般公開!
エンジンのソースもコミュニティと
シェアして進化していくぜ
• GitHubで共有
さらにアップデート
• ゲームのロイヤリティは5%だけど
四半期3,000ドルの売上は免除
• 学校と学生は無料!
• マーケットプレイスでアセットの
販売やダウンロードも可能に!
3
UE4のVehicleGameをDK2 75fps対応したが酔う!とのことなのでその軽減にチャレンジ@OcuFes開発者会
これまでのあらすじ
2014/7 CONTES@東京
CouchKnights
• 綺麗なんだけど、当時日本オフィスには初期型しかなく・・・
• いまいち面白みに欠ける
VehicleGameをOculusで体験!
• デフォルトの後方ビューは臨場感がないよね
• 弊社TAのロブ・グレイがドライバー視点を実装
• かなり臨場感出た!
• でもやっぱりポジトラできないため、もうひとつ
4
UE4のVehicleGameをDK2 75fps対応したが酔う!とのことなのでその軽減にチャレンジ@OcuFes開発者会
これまでのあらすじ
2014/8 日本オフィス
DK2 キタ━━ヽ(゜∀゜)ノ━━!! • CEDECまで1ヶ月しかないけど
Oculus向けのコンテンツも出展するゾ!!
5
UE4のVehicleGameをDK2 75fps対応したが酔う!とのことなのでその軽減にチャレンジ@OcuFes開発者会
これまでのあらすじ
2014/9 CEDEC@横浜
VehicleGameをさらに改造
• 屋根を外して色変え対応等
• ブループリントのオブジェクト指向な機能でドライバー視点を実装
DK2の75fpsに対応
• 最適化の情報は→ https://www.unrealengine.com/resources
対戦プレイで展示
• UE4なら対戦プレイもできて当然だよね
CEDEC講演スライドはこちら
• アンリアル・エンジン4を技術者が活用するための最新ノウハウ
http://www.slideshare.net/EpicGamesJapan/ue4-38802897
6
UE4のVehicleGameをDK2 75fps対応したが酔う!とのことなのでその軽減にチャレンジ@OcuFes開発者会
これまでのあらすじ
2014/9 CEDEC@横浜
CEDEDCでの評判は?
•スゲー!臨場感あるね!!
•酔う
7
酔う…
デスよね~(^_^;)
UE4のVehicleGameをDK2 75fps対応したが酔う!とのことなのでその軽減にチャレンジ@OcuFes開発者会
そもそも
なんで酔うの?
UE4のVehicleGameをDK2 75fps対応したが酔う!とのことなのでその軽減にチャレンジ@OcuFes開発者会
なぜ酔うのか?
wikipediaで調べてみた
「3D酔い」の項にはこうあります
http://ja.wikipedia.org/wiki/3D%E9%85%94%E3%81%84
• 3D酔いが起こる原因については現在もはっきりしてはいない。
• 視覚によって得られる動きとそれ以外の身体感覚によって得られる動きの感覚の相違によって乗り物酔いと似た症状に至ると考えられている。
• 発生しやすいプレイ環境下
• 動きが激しい
• カメラの動きが激しい
「乗り物酔い」
http://ja.wikipedia.org/wiki/%E4%B9%97%E3%82%8A%E7%8
9%A9%E9%85%94%E3%81%84
• バスの場合、車両前方は後方より揺れが少ないため酔いにくい
11
車両前方は 後方より揺れが少ないため 酔いにくい。
UE4のVehicleGameをDK2 75fps対応したが酔う!とのことなのでその軽減にチャレンジ@OcuFes開発者会
カメラを前方に置きます
DriversCamera
• 位置のXが60の所を200にして前に出します
プレイしてみるとまだ酔う…
そうだ! 横方向も中心から離れていると揺れが大きいよね!
• 横方向は真ん中にてカメラは前輪の真上にします
プレイしてみると、どう?
13
やっぱりまだまだ酔いますね…。
UE4のVehicleGameをDK2 75fps対応したが酔う!とのことなのでその軽減にチャレンジ@OcuFes開発者会
もうすこし
エンジニアらしく検証したら?
ですよね~。(^_^;)
このチャレンジをするにあたって
たぶんこれでうまく行くんじゃね?ってアイディアも
実はちゃんと考えていたのですよ。
m9っ( ̄ー ̄)ニヤリッ.
15
フィギュアスケート 回転する時は なるべく一点を見続けることで目眩を軽減している
UE4のVehicleGameをDK2 75fps対応したが酔う!とのことなのでその軽減にチャレンジ@OcuFes開発者会
やっぱりエンジニアらしくね!
カメラの動きをビジュアライズ
カメラの動きをDraw Debug Lineでビジュアライズ
やります
• カメラの軌跡
• 注視点の軌跡
• カメラから注視点へのライン
17
UE4のVehicleGameをDK2 75fps対応したが酔う!とのことなのでその軽減にチャレンジ@OcuFes開発者会
やっぱりエンジニアらしくね!
カメラの動きをビジュアライズ
Pause/Breakキーを押して
プレイ動作中にF8キーでエディタ操作に戻れます
18
UE4のVehicleGameをDK2 75fps対応したが酔う!とのことなのでその軽減にチャレンジ@OcuFes開発者会
カメラの動きをビジュアライズ
してみたところわかったこと
カメラの位置はまぁまぁスムーズに動いている
やっぱり注視点が激しく動く部分で酔いが激しくなるよね
実はDriversSpringArmのLag項目の…
• Enable Camera Rotation Lag にチェックを入れ
• Camera Rotation Lag Speed • という項目で調整することで注視点のブレを抑えられます
• いわゆるステディカムみたいな機能です
• 例えば、北を車とカメラが向いている時に、急激に車を西に向けても、カメラは北向きから時間をかけて徐々に西を向くようになります
19
UE4のVehicleGameをDK2 75fps対応したが酔う!とのことなのでその軽減にチャレンジ@OcuFes開発者会
カメラの動きをビジュアライズ
してみたところわかったこと(補足)
ステディカム http://ja.wikipedia.org/wiki/%E3%82%B9%E3%83%86
%E3%83%87%E3%82%A3%E3%82%AB%E3%83%A0
20
※少々補足
• 実はカメラの挙動にラグを入れるだけでは 注視点を見続けられない場合があります
• 回転ではなく、平行移動が大きい場合なのですが 例えば車もカメラも北を向いている場合に 車が西に1メートル平行移動(スライド動作)した場合 近距離のオブジェクトはスクーン上を大きくスライドします なので注視点が近距離な場合、注視点がスクーン上の 元の位置に来るようにしてあげる必要があります
• 例:カメラの回転をアグレッシブに制御して注視点を向き続ける等
• さらに、プレイヤーがどこを注視しているかというのも難しい問題 アイトラッキングデバイスを使う、推測・推定する等必要になります
• なので今回は、ここまでは実装していません。
えっ? まだ酔うよ?
渾身のアイディア あえなく失敗…
UE4のVehicleGameをDK2 75fps対応したが酔う!とのことなのでその軽減にチャレンジ@OcuFes開発者会
う~ん、なぜ酔うのか?
最初に立ち戻ろう。
ウィキペディアの「3D酔い」の項にはこうありましたね
http://ja.wikipedia.org/wiki/3D%E9%85%94%E3%81%84
•視覚によって得られる動きとそれ以外の身体感覚によって得られる動きの感覚の相違によって乗り物酔いと似た症状に至ると考えられている。
23
体が傾いてもいないのにロールやピッチが回転すんのがまずいんじゃね?
UE4のVehicleGameをDK2 75fps対応したが酔う!とのことなのでその軽減にチャレンジ@OcuFes開発者会
ロールとピッチは
車と同じ回転するのを止めます
DriversSpringArm
• Camera SettingsのInherit PitchとInherit Rollのチェックを外します
• ロールとピッチが固定されカメラは水平を保つようになります。
テスト
• あ、カメラが車から飛び出しちゃいますね。
• DriversSpringArmの中心が 車の真下にあるので・・・
CEDECの構成からちょっと変えましょう
• DriversSpringArmを人間の頭の位置に置きます(60,-30,210)
• DriversCameraの位置はDriversSpringArmから(0,0,0)
25
UE4のVehicleGameをDK2 75fps対応したが酔う!とのことなのでその軽減にチャレンジ@OcuFes開発者会
ロールとピッチは
車と同じ回転するの止めました
さらにカメラを前方の車輪の中心の上に配置し直します
• カメラの移動や揺れがなるべく少ない
• カメラの姿勢と車の姿勢が異なる場合視界に車のパーツが見えると酔う
26
完成!歓声!(ダジャレ)
UE4のVehicleGameをDK2 75fps対応して
さらに酔いを 軽減できました!
UE4のVehicleGameをDK2 75fps対応したが酔う!とのことなのでその軽減にチャレンジ@OcuFes開発者会
まとめ
実際に適用したこと一覧
DriversSpringArm
• ドライバーの頭の位置ではなく前輪中心真上の頭の高さに設置
• 車の左右回転時も移動幅が少ない位置
• カメラと車の動きを変えるので車のパーツが視界に入らない方が良い
• Enable Camera Rotation Lagにチェック
• Camera Rotation Lag Speedを20に設定
• ステディカム風だが回転のみにラグらせることで注視点の揺れを抑える
• Camera SettingsのInherit PitchとInherit Rollのチェックをはずす
• ユーザーの体は傾いていないのに ロールとピッチを車の傾きに合わせると酔ってしまう
DriversCamera
• DriversSpringArmの子としてアタッチ
28
UE4のVehicleGameをDK2 75fps対応したが酔う!とのことなのでその軽減にチャレンジ@OcuFes開発者会
さらに突き詰めるのもよいですね
例えば…
今回はカメラをガッチリ水平に保つことで酔いを抑えましたが
• 臨場感も抑えられています
• 横Gに応じたある程度のロールなら 酔いを抑えつつ臨場感を出せる予感
• 今回は明確に違いを見て頂くため そこまでやりませんでしたが こういう細かな部分へのコダワリが 作品の完成度を高めます
29
蕎麦屋の出前用のカブの後ろに付いているアノ装置の動き とかとか参考になりそう
• Wired 驚くべき日本の「出前用バイク」 より http://wired.jp/2009/01/22/%E9%A9%9A%E3%81%8F%E3%81%B9%E3%81%8D%E6%97%A5%E6%9C%AC%E3%81%AE%E3%80%8C%E5%87%BA%E5%89%8D%E7%94%A8%E3%83%90%E3%82%A4%E3%82%AF%E3%80%8D/
UE4のVehicleGameをDK2 75fps対応したが酔う!とのことなのでその軽減にチャレンジ@OcuFes開発者会
最後に
実際に適用されている設定をリストにすると
• 凄く簡単なことに見えますが、なぜこのような設定に至ったのかを理解する事が大事です。
実際にここまでのステップを試すことは簡単なので
• ぜひ皆さんご自身で試してみていただけると
•問題点への理解
•それを解決するための方法への理解 が深まり
• 皆さん自身のプロジェクトへ応用をしやすくな
るものと思います。
30
UE4のVehicleGameをDK2 75fps対応したが酔う!とのことなのでその軽減にチャレンジ@OcuFes開発者会
ありがとうございました
お時間がありましたらぜひ両方体験してみてください。
• 25・26日の両日出席します!
• 参考資料
• wikipedia「3D酔い」 http://ja.wikipedia.org/wiki/3D%E9%85%94%E3%81%84
• wikipedia「乗り物酔い」 http://ja.wikipedia.org/wiki/%E4%B9%97%E3%82%8A%E7%89%A9%E9%85%94%E3%81%84
• Oculus VR Best Practices Guide http://static.oculusvr.com/sdk-downloads/documents/OculusBestPractices.pdf
• Wired 驚くべき日本の「出前用バイク」 より http://wired.jp/2009/01/22/%E9%A9%9A%E3%81%8F%E3%81%B9%E3%81%8D%E6%97%A5%E6%9C%AC%E3%81%AE%E3%80%8C%E5%87%BA%E5%89%8D%E7%94%A8%E3%83%90%E3%82%A4%E3%82%AF%E3%80%8D
• Unreal Engine All Resources https://www.unrealengine.com/resources
• エピック・ゲームズ・ジャパン、各種スライド http://www.slideshare.net/EpicGamesJapan
アンリアル・エンジンの公式サイトでも情報発信中!
www.unrealengine.com