CEDEC2015: ダウンロードしただけじゃ勿体ない! Unreal Engine 4の...
-
Upload
-epic-games-japan -
Category
Engineering
-
view
792 -
download
9
Transcript of CEDEC2015: ダウンロードしただけじゃ勿体ない! Unreal Engine 4の...
~凄い作例のエッセンスを紐解いて自分のプロジェクトにも取り入れてみよう~
Rob Gray, Jun Shimoda // Epic Games Japan
CEDEC 2015
ダウンロードしただけじゃ勿体ない!
Unreal Engine 4の 凄い使い方をみんなでシェアしよう!
Topics
• CEDEC!開発知識の共有!
• Epic Game Launcherもノウハウの宝庫
• Learning from EPIC (Rob’s lecture)
• 効率的なレベルデザイン
• ブループリントマスターへの道
• ブループリントの新機能
CEDECといえば、開発知識の共有!
• さらにUE4で
– エンジンソース共有
• Unreal Tournament
– ゲーム開発も共有(Unreal Tournament)
• ARK: Survival Evolved Dev Kit
– MOD開発環境を共有
Unreal Tournament
• Epic Games Launcherから
– ダウンロードしてプレイできます。(もちろん無料です)
– 実はエディタもダウンロードできます!
– ソースもね!
ココ!
様々なテストマップ
• 各機能テストマップ(Example_Map)
• キャラクタープレビューマップ(Player_Preview_Map_Vis)
• レベル制作基礎演習マップ(LevelTutorialMap)
• キービジュアルマップ(DM-Outpost23)
キービジュアルマップ
• キービジュアルマップ(DM-Outpost23)
• WhiteBox版(Outpost23_Shell)
ARK: Survival Evolved Dev Kit
• Epic Games Launcherからインストール!
ココ!
Developed by
Studio Wildcard
Play!
Steam アップロード
ラウンチャーもノウハウの宝庫
• 動作サンプル
– 無料のラーニングサンプルが沢山あります!
• 建築デザインサンプル
– 無料のサンプルもいくつかあります。
動作サンプル
少年とカイト(Kiteデモ)
• 見どころいっぱい
– HLOD (Hierarchical Level of Detail)
– RTDFS (Ray Traced Distance Field Shadow)
– DFAO (Distance Field Ambient Occlusion)
HLOD(階層構造LOD)
RTDFS(Raytraced Distance Field Shadow)
• 太陽からの直接光(日照変化に対応) – 広い視野範囲には3倍効果的
– 全ての距離でディテイルを保てる
DFAO(Distance Field Ambient Occlusion)
• 2種類のAO
– Screen Space Ambient Occlusion (SSAO) 、凸凹や近距離
– Distance Field Ambient Occlusion (DFAO) 、中距離
SSAOのみ SSAO+DFAO DFAOの埋め込み情報
マルチプレイヤーガンファイト
• ブループリントのみでネットワーク対戦
– MyGameInstance
• ネットワークプレイ対応
• ゲームの状態遷移
– Gunslinger_BP
• プレイヤーの挙動制御
建築デザイン系
• Koolaさんの「Lightroom: Interior Day Light」
• Xoioさんの「Xoio Berlin Flat」
Koolaさんの建築デザイン
• デザインもさることながら光の使い方が秀逸
マーケットプレイスに公開されてます
• Lightroom: Interior Day Light
– どんなテクニックが?
• 開いて勉強してみましょう。
ライティング
• Directional Light
– (太陽的な)平行光源(Intensityがデフォの10から2へ)
• SkyLight
– シーンからキャプチャ(Intensityを0.25と抑えめ)
• SphereReflectionCapture
– シーン内に4つ、各部屋のサイズに合わせ1つづつ
フォグ
• Exponential Height Fog
– デフォルトより控えめ
• Atmospheric Fog
– 太陽(Directional Light)と同じ方向
• この2つで真っ白な外光
特徴的なのがコレ
• 窓の外にある
– 板ポリとスポットライト
何コレ?
• エリアライト(面ライト) – 広角のスポットライトとレフ板によるバウンスライトで表現
エリアライト用SpotLight
• 特殊な用途なので結構デフォルトと違います – Intensity 6.0
– Light Color ほぼ白
– Inner Cone Angle 80.0
– Outer Cone Angle 80.0
– Attenuation Radius 500.0
– Cast Shadows OFF
– Use Inverse Squared Falloff OFF
– Light Falloff Exponent 0.0001
• 特に照射角が広い
エリアライト用レフ板
• なんの変哲もない1枚板
– Color 1.0
– Auto Hidden In Game ON
実は、ゲーム中に消えてます
ライトベイク用エリアライト
さっきからドヤ顔でエリアライト?
• 自然に見せたいのに、エリアライトを置くって人造的過ぎない?
• ドラマのセットか何かですか?
• いえ、確かにエリアライトなんですが、何をしているのかというと、ライトの空気中での散乱に近い表現を生み出しています。
ライトの空気中の散乱?
• (夕焼けや青空の)レイリー散乱とは別・・・
• 右図のような
ボリュームライトは
空気中の塵に
反射した光の表現
• これがもう少し淡くシーンに拡散された表現
違いがわかりますでしょうか?
ブループリントオフィス Koolaさん https://forums.unrealengine.com/showthread.php?28163-ArchViz-Lighting
4.8でエリアライト簡単になりました
• 作り方
– Emissiveで光るマテリアルを作成
– スタティックなスタティックメッシュアクターに貼る
– スタティックメッシュアクターの
「エミッシブをスタティックライトに」
高速レベル制作
• モジュラーパーツ
– 使いまわしやすいパーツ化して、それらを配置
• evilmrfrankさんの高速レベル制作シリーズ
– https://www.youtube.com/user/evilmrfrank
Learning from EPIC
エディターをうまく使おう
• レベルデザイン
• ブループリント
効率的なレベルデザイン
レベルデザインのワークフロー
• Gears of War、Infinity Bladeなどのシーリズや、現在製作中のFortnite、Unreal Tournamentなどで使用されているプロセス
• Epicワークフローの目的 – 短時間でプレイ可能なプロトタイプを作る
– イテレーションをしやすくする
– 無駄な作業とアセットの作り直しを抑える
– 見た目ではなく、楽しさに集中する
ステップ1:プロトタイプ
BSPのプリミティブや仮メッシュで大雑把にレベルのレイアウトを作る
(基本的なライティングのみ)
機能別サンプル: Leveldesign_Workflow.umap
ステップ2:メッシュ
最終段階に近いメッシュに置き換え、基本的なマテリアルを適用
機能別サンプル: Leveldesign_Workflow.umap
ステップ3:ライティング
ライティングとマテリアルの改善、ポストプロセスのエフェクトを追加する
機能別サンプル: Leveldesign_Workflow.umap
ステップ4:見た目の微調整
エフェクト、オーディオ、ボリュームをさらに追加し、最終アセットと詳細を微調整する
機能別サンプル: Leveldesign_Workflow.umap
レベルデザインのワークフロー
レベルデザインのワークフロー
レベルデザインのワークフロー
– ヒント:BSPをBlocking Volumeに変換
• プロトタイプ段階のコリジョンをそのまま使用
レベルデザインのワークフロー
• UE4のレベルタブ
• 作業を専門毎に分ける
– 背景、エフェクト、サウンド、など
• 同時作業が可能
レベルデザインのワークフロー
• レベルをインターアクティブにするには・・・
• ブループリント
ブループリントのマスターへの道
ブループリントのマスターへの道
3年前のロブ・・・ 現在のロブ・・・
ブループリントのマスターになる
• 基本的にイベントがアクションを起こす
ブループリントのマスターになる
• 簡単なことから始まる
– トリガーのOverlapライトをオンにしたり、色を変更したり
ブループリントのマスターになる
• 少しずつ難しいものを作ってみる
– 例えばアイテムを作ってみる
ブループリントのマスターになる
• ブループリントのインタラクション
– BP1: 的にヒットダメージを与える
BP2: ダメージを受けてヘルスを減らす
BP1(バレット) BP2(敵キャラ)
ブループリントのマスターになる
• テンプレートからスタート – First Person
– Third Person
– Flying
– Puzzle
– Rolling
– Side Scroller
– 2D Side Scroller
– Top Down
– Twin Stick Shooter
– Vehicle
ブループリントのマスターになる
• アドバイス – ロジックの流れをよく考えて
• イベント発生がアクションを起こす
– 各システムに分けて作る
– 途中でテストする
• “Test early, test often”
– 分かりやすいコメントを入れる
– C++と比べてパフォーマンスが高くない
• Tickの使いすぎにご注意
ブループリントのマスターになる
• 好きなゲームを再現してみる
– Simon
– Puzzle Bobble
– Endless Runner
– Mario
ブループリントのマスターになる
• Epicやコミュニティーのサンプル
– Blueprintsのプロジェクト
– Endless Runnerのビデオ • https://www.youtube.com/watch?v=qFZgs3e_1d4
– Alweiさんのブログとチュートリアル • http://unrealengine/hatenablog.com/
ブループリントはうまく機能しないとき
ブレイクポイント
ブレイクポイントを入れて、
イベントや関数がちゃんと
呼ばれているかどうかを
確認する
ブループリントはうまく機能しないとき
ロジックのフロー表示
ブループリントを別ウィンドウで開いて、ロジックの流れを確認する
ブループリントはうまく機能しないとき
出力ログ
参照などを確認するためにPrint Stringでログに出す
ブループリントの新機能
さらによくなっていく!
ブループリントの新機能
– ブループリントのコンポーネント
• 機能を持つコンポーネントを作って・・・
• 色々なアクターに機能を使い回せる
ブループリントでロジックを作って
アクターにドラッグ&ドロップ
ブループリントの新機能
関数に複数なReturnノード 関数の状況によって異なる結果を返す
ブループリントの新機能
アセットIDの参照 アセットをロードしないで参照できるからメモリ管理に便利
ブループリントの新機能
計算のノード 計算をを一つの処理速いノードにまとめる
ブループリントの新機能
レベル ブループリントのコミュニケーション 他のレベルを参照することが可能
ブループリントの新機能
ブループリント内でオブジェクト作成 Actorの機能が必要ない場合によりシンプルなObjectクラスが作れる
ブループリントの新機能
ブループリントのデフォルト値 のブループリントのデフォルト値をアクセスすることが可能
ブループリントのマスターになる
• ブループリントでゲームを楽しく作りましょう!
告知
UNREAL DEV GRANTS
• Unreal Dev Grants
「UE4で未来を創ろう」 – $5,000,000の開発ファンドを設立
– UE4を利用し弊社が開発を後押ししたいと認めたプロジェクトに
$5,000~$50,000の開発資金を援助
• 知的財産はもちろん開発者のみなさんのもの
– 既に20件程のプロジェクトを支援
• 第一弾からゲーム以外のプロジェクトでも獲得
Q&A
– Any questions?