Skip to main content
#ue4fest
脱Unity!?
UE4でVR開発のここが変わった
株式会社コロプラ
#ue4fest
はじめまして
#ue4fest
です
#ue4fest
コロプラといえば
#ue4fest
VR
#ue4fest
2014年から様々なVRゲームを作ってきました
#ue4fest
2014年から様々なVRゲームを作ってきました。
#ue4fest
絵柄もポップなゲームが多い
#ue4fest
綺麗なグラフィックの
VRゲームを作りたい!!!!
#ue4fest
「Unreal Engine」というエンジンは
グラフィックが綺麗らしい
VRゲームで使っている会社も多いらしい
#ue4fest
使ってみよう
#ue4fest
本日話すこと
•Unityからの移植テスト
•背景制作
•アニメーション実装
•VR向けの最適化
•C++ vs Blueprint
•まとめ
#ue4fest
自己紹介
エンジニア
加田 健志(カダ タケシ)
2015年コロプラ入社
サウンドや通信周りを担当することが多い
主な開発タイトル
「TITAN SLAYER」
「Dig 4 Destruction」
「VR Tennis Online」など
#ue4fest
Unityからの移植テスト
第一章
#ue4fest
今回の移植対象
#ue4fest
ムービー
#ue4fest
TITAN SLAYERの紹介
• 2017年4月リリース
(Steam/Oculus/Vive Port)
• 一人称アクションゲーム
• Unity 5.5.0f3
• 剣・銃・弓を使って
巨大なモンスターを倒す
• 体を目いっぱい使って戦う
#ue4fest
お客様の声
かんぜんにスクワットなので、
翌日太もも筋肉痛になります。
回避は慣れないと大きく動くため、
リアルに体力を使います。
夢中で戦ってたら太もも
が筋肉痛になりました。
#ue4fest
移植開始
最初の方針
•Stage1のみ移植
•アセットの差し替えは最小限に
•いろいろなUE4の機能を使ってみる
目的
•グラフィックの向上
#ue4fest
#ue4fest
さあはじめよう
#ue4fest
開発環境
CPU Intel Core i7
GPU NVIDIA GTX1060
メモリ 32GB/64GB
ストレージ SSD
VRヘッドセット Oculus Rift CV1 + Oculus Touch
HTC Vive
+ライトマップ分散ビルド環境を構築
※複数のPCでビルドできますでしょうか?
https://answers.unrealengine.com/questions/48568/index.html
#ue4fest
まずは
サンプルプロジェクトを見てみる
#ue4fest
UE4はVRのサンプルが豊富
•MODING(MOD作成中)
• ROBO RECALL
• VR FUNHOUSE
#ue4fest
UE4はVRのサンプルが豊富
•Learn(ラーニング)
• Showdown VR Demo
#ue4fest
UE4のVRサンプルを見てみる
•New Project -> Virtual Reality
#ue4fest
レベルを開く
•Content/VirtualRealityBP/Maps/MotionControllerMap
#ue4fest
レベルを開く
•Content/VirtualRealityBP/Maps/MotionControllerMap
#ue4fest
VRモードでプレイ
•VR Previewを選択
#ue4fest
VRモードでプレイ
テレポート移動機能 ものつかみ機能
#ue4fest
ほかにもサンプルが豊富
•エフェクト
•ライティング
•マテリアル
•水表現
•シーケンサー
#ue4fest
約1か月後
#ue4fest
移植完了!
#ue4fest
あれ?
•グラフィック上がった?
#ue4fest
背景制作
第二章
#ue4fest
自己紹介
デザイナー
西村 博司(ニシムラ ヒロシ)
2015年コロプラ入社
背景アーティスト
前職でUE4に触れる機会があり今回は
サポートとして参加
主な開発タイトル
「Dig 4 Destruction」
「Fly to KUMA」など
#ue4fest
「背景」は作り直し!
クオリティ面で予想と違った!
▶近景にある背景モデルに質感がなくボケている
▶背景モデルはマージされ編集がやりづらい
#ue4fest
どうやって改善していくか
▶アンリアルは初めて
▶アンリアルの機能を使い背景作業を行いたい
▶アーティストでも簡単にクオリティを上げたい
#ue4fest
背景制作スタート
#ue4fest
編集しやすい環境作り
問題点
▶マージされた背景モデルでは編集が出来ない
Unreal機能
▶BSPツールを使いレベルデザインを作成ステージ土台を作る
▶モジュラーアセットに作り直してステージ構築
#ue4fest
BSPツール(ジオメトリブラシ)
▶レベル作成に使われる基本的なツール
#ue4fest
BSPツールでゲームプロトタイプ
▶配置後でも編集が可能
▶埋めたり削ったりして形状を作成
▶凝りすぎない程度にレベルを作成
#ue4fest
こんな感じで作成しました
#ue4fest
ステージの骨組みが出来た
▶イテレーションが早くゲームプロトタイプを検証
▶アーティスト作業が不要
#ue4fest
モジュラーアセットへ変更
▶マージされた背景モデルは編集がやりづらい
#ue4fest
モジュラーアセットとは
▶使い回しを前提にパーツ分けしたアセット
▶利便性を考えピボット位置やサイズのルールは決める
#ue4fest
モジュラーアセット作成工程
▶BSPで作成したレベルを元にパーツをリスト化
▶要素がわかる程度のダミーアセットを作成
BSP(ジオメトリブラシ) ダミーアセット 本アセット
#ue4fest
モジュラーアセット完成
#ue4fest
ステージ構築がやりやすい
▶少ないアセットの組み合わせでステージを作成
▶スナップ移動を使い効率よく配置
パーツを 合わせて 組み立てる
#ue4fest
質感のクオリティアップ
問題点
▶近景にある背景モデルの質感がなくボケている
Unreal機能
▶マテリアルエディタを使ってディテールテクスチャを使用
#ue4fest
ディテールテクスチャとは
ディテールテクスチャ使用使っていないマテリアル
#ue4fest
マテリルエディタを使う
▶ノードベースで作れるマテリアル
例:単純なマテリアル 例:複雑なマテリアル
#ue4fest
ディテールテクスチャの作成
▶パレットから「DetailTexturing」ノードを加えて作成
#ue4fest
ディテールテクスチャの比較
Before After
#ue4fest
質感のクオリティアップ
▶簡単なマテリアルならアーティストでも作れる
▶ポイントを絞り目的にあったマテリアルを作成
#ue4fest
背景完成
#ue4fest
#ue4fest
背景制作まとめ
▶BSPを使ってステージの骨組みを作成
▶モジュラーアセットで柔軟な背景構築
▶マテリアルを作成してクオリティアップ
アンリアルエンジンを使って解決!
#ue4fest
おまけ:VRエディタを使ってみた
▶実験的に実装されている「VRエディタ」が面白そう
#ue4fest
セッティング
▶エディタ設定「Enable VR Mode Auto-Entry」にチェック
▶ゴーグルを被るだけでVRエディタが起動
#ue4fest
レイアウト
▶「コンテンツブラウザ」よりアセットを配置
▶「複製」も簡単
#ue4fest
ワールドスケール
▶シーン全体のスケールを変更
#ue4fest
移動方法
▶テレポート ▶手動
#ue4fest
ゲームプレイ
▶編集後そのままゲームをチェック
#ue4fest
VRエディタまとめ
▶編集内容を絞れば直感的に作業が行える
▶レベルエディタとVRエディタを使い分ける
VR空間で作る
背景制作は楽しい体験!
#ue4fest
アニメーション実装
第三章
#ue4fest
自己紹介
エンジニア
佐々木 尚人 (ササキ ナオト)
2016年に新卒としてコロプラに入社
TITAN SLAYERの開発を担当
主な担当範囲は
「描画周りの実装」と「ボスキャラ実装」
#ue4fest
アニメーションについて話す理由
Unityと比べて最も差異が
大きかったため
#ue4fest
話の流れ
アニメーション機能の説明
アニメーションの設計の比較
Unreal Engineでの実装例
まとめ
#ue4fest
話の流れ
アニメーション機能の説明
アニメーションの設計の比較
Unreal Engineでの実装例
まとめ
#ue4fest
話の流れ
アニメーション機能の説明
アニメーションの設計の比較
Unreal Engineでの実装例
まとめ
#ue4fest
話の流れ
アニメーション機能の説明
アニメーションの設計の比較
Unreal Engineでの実装例
まとめ
#ue4fest
話の流れ
アニメーション機能の説明
アニメーションの設計の比較
Unreal Engineでの実装例
まとめ
#ue4fest
最初の話
アニメーション機能の説明
アニメーションの設計の比較
Unreal Engineでの実装例
まとめ
#ue4fest
Animator
もうちょっと遷移がごちゃついた図
ステートと遷移のルールに基づいてアニメーションを再生する
#ue4fest
Animation Blueprint
Animation BlueprintもUnityと同等の機能を備えている
#ue4fest
Animation Blueprint
アニメーションイベントの受け取りや変数の制御も
Animation Blueprint内で行うことができる
#ue4fest
AnimatorAnimation Blueprint ≠
アニメーション機能をざっくり比較すると…
#ue4fest
アニメーション機能をざっくり比較すると…
Animation Blueprint
Animator
+
Animator管理用
スクリプト
≒
#ue4fest
次に話すこと
アニメーション機能の説明
アニメーションの設計の比較
Unreal Engineでの実装例
まとめ
#ue4fest
完成イメージ図
完成した時のてつおモーションがどんな感じになるかのgif
待機→攻撃→ダメージ→待機→攻撃→待機
#ue4fest
敵キャラアニメーションで実現したいこと
思考
攻撃
ダメージ
アニメーション
終了
ダメージイベント
アニメーション
終了
攻撃イベント
#ue4fest
Unityアニメーションの設計
思考
攻撃
ダメージ
アニメーション
終了
ダメージイベント
アニメーション
終了
攻撃イベント
全てのステート
#ue4fest
Unrealアニメーションの設計
ダメージ
サブステートマシン
思考
攻撃
思考&攻撃
#ue4fest
話の流れ
アニメーション機能の説明
アニメーションの作り方の比較
Unreal Engineでの実装例
まとめ
#ue4fest
ステートマシン
ダメージ
サブステートマシン
思考
攻撃
思考&攻撃
#ue4fest
ステート編集
ダメージ
サブステートマシン
思考
攻撃
思考&攻撃
#ue4fest
ステート内部
ダメージ
サブステートマシン
思考
攻撃
思考&攻撃
#ue4fest
【Tips】ポーズ拡張
#ue4fest
【Tips】ポーズ拡張
#ue4fest
ステートマシン
ダメージ
サブステートマシン
思考
攻撃
思考&攻撃
#ue4fest
ステートマシン
ダメージ
サブステートマシン
思考
攻撃
思考&攻撃
#ue4fest
ステート
ダメージ
サブステートマシン
思考
攻撃
思考&攻撃
#ue4fest
サブステートマシン あ
ダメージ
サブステートマシン
思考
攻撃
思考&攻撃
#ue4fest
制御用変数
#ue4fest
制御用変数
#ue4fest
【Tips】Enumでのタイプ分け
#ue4fest
【Tips】Enumでのタイプ分け
#ue4fest
【Tips】Enumでのタイプ分け
#ue4fest
遷移(思考→攻撃)
ダメージ
サブステートマシン
思考
攻撃
思考&攻撃