2.5K Views
October 17, 18
スライド概要
講演動画:https://www.youtube.com/watch?v=o5F_Ek3Y4w4
2018年10月14日に行われた「UNREAL FEST EAST 2018」における株式会社よむネコ様の講演で使用されたスライドです。
●公式サイト
https://unrealengine.jp/unrealfest/
===
この冬に発売予定のVR専用アクションRPG「ソード・オブ・ガルガンチュア」は、既存のコンシューマ機などでは体験できない「VRらしい剣戟とは何か」にこだわって開発をしています。これはVR専用コントローラーを使って襲いかかってくる敵の剣を受け流し、斬り返すという一連の流れをどう体験として構成するのかという模索の連続でもありました。この講演では「VRらしさ」が何により生み出されるのかという秘密をお話しします。
Unreal Engineを開発・提供しているエピック ゲームズ ジャパンによる公式アカウントです。 勉強会や配信などで行った講演資料を公開しています。 公式サイトはこちら https://www.unrealengine.com/ja/
• • • • • •
• • •
VRファースト • • • • • • • •
• • • • • • •
• • • • • • ところが北米コアユーザーを中心にワープ移動は不人気 • •
• • • 1秒間に 前方4m、横3m、後方1m • • • • •
• • トンネル効果 • • • • • 集中線パーティクル効果 • • • •
半数のユーザーが 初めてVRをプレイするユーザー 頻繁によったユーザーの多くは VR未プレイのユーザー VR酔いをゼロにはできないが かなり抑えることはできる
日本でもほぼ同じような結果
デモについての私の好きな部分の1つは、他のプ レイヤーとのインタラクションでした。ゲームの 恐ろしい敵を倒そうとしている間、みんながVR の中で、騒がしくなるのを見てみると陽気で面白 いです。 ある時点で、私は剣を壊してしまったので、いく つかの敵をパンチで倒さなければならなくなりま した。そして、私がその途中で殺されたとしても、 それはまだ楽しいものでした。 https://www.gizorama.com/2018/news/38922 このデモは、VR酔いを予防する素晴らしい仕事 をしていました。コントローラ上で左右に回転す るなどの動きは、動きの感覚を少し簡単にするた めに30度ごとに変化するような形を撮っていまし た。
VR酔いは克服できる! • •
• • • • • コリジョン判定を的確に実現し、それを 4人プレイで実現するのが重要なポイント
• •
• • • • •
• • • •
•
• • •
・非 ・力 ・っ ! • • • • ・非圧 ・力倒 ・っ的 !
• https://www.youtube.com/watch?v=JvMQUz0g_Tk • • • •
•
• • • •
• • • • • • • •
• • • •
• • • •
• • • • • • •
左シリンダー ちゃんが 危ない!
• • •
• • • • • • •
ObjectTypeの数に制約されるため、 XXXには当たるけどYYYは貫通するみたいな組み合わせ設定には制限がある。 と、三日前まで思ってました。
• • • •
• • • • • http://pafuhana1213.hatenablog.com/entry/2017/12/13/003018
•
• • •
入力 アニメーション + IK スケルタル メッシュ &ソケット
手の角度と武器の角度が一致しない 手の位置がIKで決まってから その手の位置をルートにシミュレーションする ことになるので手と武器の向きが一致しない
入力 アニメーション + IK スケルタル メッシュ
• • • 勝手に 壁
Pawn コリジョン 壁 めりこみ
• • •
• • • • • •
• • •
• • • • •
•
•
他のクライアント 赤シャツクライアント 特にVRだとこの遅延が 非常に気になる 100 ms
•
他のクライアント 赤シャツクライアント サーバーの応答を待たずにローカル で処理を開始 100 ms
• • • • • • • • • •
• • •
HIT
•
Replicate 弾かれたアクション に遷移 ServerRPC 剣を弾いた! HIT すまないが 自分では 動けないのだ
Replicate 弾かれたアクション 済 に遷移 ServerRPC 剣を弾いた! HIT You やっちゃいなよ ぬ、体が動くぞ
• • •
• • • • •
• • •
• •
BeginPlay より前に RepNotify が呼ばれてしまっている
• SpawnParameterは PostInitializeComponentや BeginPlayで参照できます • • • •
• • • • • • CallRepNotify • パケットを受け取ったら この関数で処理されます 新規のアクターの場合 ここで新しいアクターが インスタンス化されます PostInitializeComponent時点では CreateDefaultObjectの 素のコピーでしか無い ここで初めてSpawnParameterや Server上のTickでの変更が アクターに適用される 複製されたプロパティに 通知が必要なものがあればRepNotify • • BeginPlay
• • • • • • • • •
• • • • •
• • • • • • • • •
• •
• • • •
• • •
•
• •
• • • •
• @GargantuaVR
GARGANTUAのデモ版をItch.ioにて公開中 コンバットデモを公開中 リリース前に、もう一度デモ版の配信を企画中 https://www.gargantuavr.com/