Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

UE4の新機能のご紹介、ライブコーディングもやるよ!C++だけど何か?

12,415 views

Published on

アンリアルフェス2015大阪で「UE4の新機能のご紹介、ライブコーディングもやるよ!C++だけど何か?」と題してGDC 2015で発表された新機能のご紹介とC++でのライブコーディングをしてみた際のスライドです。

Published in: Engineering
  • Be the first to comment

UE4の新機能のご紹介、ライブコーディングもやるよ!C++だけど何か?

  1. 1. April 18, 2015 Unreal Fes 2015 Osaka UE4の新機能のご紹介 ライブコーディングもやるよ! C++だけど何か? シモダジュンヤ Jun Shimoda Developer Support Manager, Epic Games Japan
  2. 2. April 18, 2015 Unreal Fes 2015 Osaka 自己紹介 シモダジュンヤ(@junyash) • アンリアル・エンジンの利用経 験をきっかけとして2010年2月 からエピック・ゲームズ・ジャ パンでサポート・マネージャー としてアンリアル・エンジンの 普及・サポート活動を行ってい ます。 • PC-1251とMZ-2000でBASICを 覚えて、Z80, 8086, 6502, 65c816くらいまではアセンブラ、 MIPS, ARM, PowerPC世代は主 にC++。 • DirectXとOpenGLは素で書いて いたけど、最近UEがあるから書 いてない。 • C#はにわか… Terrariumの頃から嗜む程度
  3. 3. April 18, 2015 Unreal Fes 2015 Osaka 本日のメニュー! • UE4の最新ニュースと機能のご紹介 – GDC 2015より • IF YOU LOVE SOMETHING, SET IT FREE • 「Open World Demo Collection」等解説 • ライブコーディング – C++のコードコーディング
  4. 4. April 18, 2015 Unreal Fes 2015 Osaka
  5. 5. April 18, 2015 Unreal Fes 2015 Osaka IF YOU LOVE SOMETHING, •SET IT FREE – UE4は無料で利用できるようになりました! – 4半期で3,000ドルを越える売上に対して5%のロイヤリティ で開発を支援を。ぜひビッグヒットを!! • 映像作品やアーケードゲーム等はロイヤリティはかかりません
  6. 6. April 18, 2015 Unreal Fes 2015 Osaka Tim Sweeney Epic Games, Founder 創業者 & CEO 振り返ってみると 僕らがプログラミングを始めた頃は 雑誌に沢山のサンプルプログラムが載っていて それを打ち込んで動作を理解できたんだよ ここ20年ほどゲーム業界の暗黒時代というか 沢山のゲームがリリースはされてきたけども ソースの公開は限定的で、そこから勉強すると いうことができなくなっていたんだよね この現状を打開するためには UE4のソースコードを公開して勉強できるよう にするしかないと思ったんだ GitHub OctoTales / Epic Games https://www.youtube.com/watch?v=L8d0G7Duz9A
  7. 7. April 18, 2015 Unreal Fes 2015 Osaka KITEデモで使われている新機能
  8. 8. April 18, 2015 Unreal Fes 2015 Osaka Kiteデモ:目標 • Kiteデモの目標 –広大な自然表現 –キャラクター表現
  9. 9. April 18, 2015 Unreal Fes 2015 Osaka Kiteデモ:広大な自然表現 • こんな感じの生物群系(Biome) スコットランド スカイ島、岩と植生のコントラスト
  10. 10. April 18, 2015 Unreal Fes 2015 Osaka Kiteデモ:広大な自然表現 • フォトリアリスティックを目指しリアルキャプチャを選択 – 実地で実物から – 取り込む!
  11. 11. April 18, 2015 Unreal Fes 2015 Osaka Kiteデモ:広大な自然表現 • ロケ地探し – Google Earth – Panoramio – 500 Pixels – Flickr
  12. 12. April 18, 2015 Unreal Fes 2015 Osaka Kiteデモ:広大な自然表現 • アセットを細分化
  13. 13. April 18, 2015 Unreal Fes 2015 Osaka Kiteデモ:広大な自然表現 • 要素を分類 地面 地面のカバー 大きな岩 地形から剥きだした岩 小さな岩 植生 小道 崖面 中くらいの岩
  14. 14. April 18, 2015 Unreal Fes 2015 Osaka Kiteデモ:広大な自然表現 • 撮影地決定 – ニュージーランド2名 • 日中の12時間 • 開花した植物系 • 晴れ – イギリス2名 • 天候は良くなかった • でも実際のUK素材を取り込めた
  15. 15. April 18, 2015 Unreal Fes 2015 Osaka Kiteデモ:広大な自然表現 • 取り込むカテゴリ 参照画像 Plants, Bushes, Flowers, Water, Distant Objects, Landscapes 実物取り込み 3D mesh 2D ground tile Tree bark
  16. 16. April 18, 2015 Unreal Fes 2015 Osaka Kiteデモ:広大な自然表現 • 参照画像 – クロマキー用背景 – カラーチェッカー – 円偏光フィルター – 三脚 – 深い被写界深度 – ブラケット撮影!
  17. 17. April 18, 2015 Unreal Fes 2015 Osaka Kiteデモ:広大な自然表現
  18. 18. April 18, 2015 Unreal Fes 2015 Osaka Kiteデモ:広大な自然表現 • 実物取り込み
  19. 19. April 18, 2015 Unreal Fes 2015 Osaka Kiteデモ:広大な自然表現 • 機材 – キャノン 5D MKIII x 3 – シグマ 8mm f/3.5 – キャノン 24-70mm f/2.8L – カラーチェッカー – Roundshot VR Drive – 一脚 – 伸縮ポール – リモートライブビュー – グレーと金属球リグ
  20. 20. April 18, 2015 Unreal Fes 2015 Osaka Kiteデモ:広大な自然表現 • 撮影プロセス
  21. 21. April 18, 2015 Unreal Fes 2015 Osaka Kiteデモ:広大な自然表現 • 撮影プロセス
  22. 22. April 18, 2015 Unreal Fes 2015 Osaka Kiteデモ:広大な自然表現 • 撮影プロセス
  23. 23. April 18, 2015 Unreal Fes 2015 Osaka Kiteデモ:広大な自然表現 • 撮影プロセス
  24. 24. April 18, 2015 Unreal Fes 2015 Osaka
  25. 25. April 18, 2015 Unreal Fes 2015 Osaka Final Results
  26. 26. April 18, 2015 Unreal Fes 2015 Osaka Kiteデモ:ライティング • 完全に動的なライティング – 広大なアウトドア – 日中の時間変化 – 即座に変更可能(ビルド時間なし) – 広い視野範囲
  27. 27. April 18, 2015 Unreal Fes 2015 Osaka Kiteデモ:ライティング • 3つのライティング要素 太陽からの間接光 (グローバルイルミネーション) 太陽からの直接光 スカイライト
  28. 28. April 18, 2015 Unreal Fes 2015 Osaka Kiteデモ:ライティング • 太陽からの直接光 – カメラ付近のカスケーデッドシャドウマップ(CSM) • フォーリッジのアニメーションに対応 • トライアングルからの大きなコスト CSM
  29. 29. April 18, 2015 Unreal Fes 2015 Osaka Kiteデモ:ライティング • 太陽からの直接光 – レイトレースディスタンスフィールドシャドウ(RTDF) • 広い視野範囲には3倍効果的 • 全ての距離でディテイルを保てる RTDF Shadows CSM
  30. 30. April 18, 2015 Unreal Fes 2015 Osaka Kiteデモ:ライティング • 太陽からの間接光 スカイライトのみ ハイトフィールドGI
  31. 31. April 18, 2015 Unreal Fes 2015 Osaka Kiteデモ:ライティング • スカイライト – HDR Cubemapから事前計算で異なるラフネスレベルに対応 (GIやイメージベースドライティングができる) ラフネス 0.0 1.0
  32. 32. April 18, 2015 Unreal Fes 2015 Osaka Kiteデモ:ライティング • スカイライト – シャドウイング • Screen Space Ambient Occlusion (SSAO) を凸凹や近距離に • Distance Field Ambient Occlusion (DFAO) を中距離に SSAOのみ SSAO+DFAO
  33. 33. April 18, 2015 Unreal Fes 2015 Osaka Kiteデモ:ライティング • スカイライト – Distance Field Ambient Occlusion • メッシュディスタンスフィールドからコーントレースして空の 可視判定を行う • ワールドスペースの遮蔽計算(スクリーンスペース問題なし)
  34. 34. April 18, 2015 Unreal Fes 2015 Osaka Kiteデモ:シェーディングとポスト • 両面シェーディングモデル – 薄い面の透過光モデル – 葉っぱと凧の素材で利用
  35. 35. April 18, 2015 Unreal Fes 2015 Osaka Kiteデモ:シェーディングとポスト • サブサーフェーススキャッタリング – スクリーンスペース – ディフュージョンプロファイルで制御(肌専用のものではない) SSSなし SSS
  36. 36. April 18, 2015 Unreal Fes 2015 Osaka Kiteデモ:シェーディングとポスト • モーションブラー – スキャッターアズギャザー技法 – フル解像度 – モーション幅の制限なし – スムースなエッジ – 未だ実装中で公開はまだ先の予定
  37. 37. April 18, 2015 Unreal Fes 2015 Osaka被写界深度(DOF) • スキャッターアズギャザー技法 – 近景と遠景の統合 – 円形のボケ • フォーカスのインアウトのスムーズな変化 – フルと半解像度のサンプリング – ソフトフォーカスのアーチファクトなし • 現実のカメラパラメータで制御 – レンズ口径(Aperture) – 焦点距離(Focal length) – 集束距離(Focal distance)
  38. 38. April 18, 2015 Unreal Fes 2015 Osaka ランドスケープとフォーリッジ
  39. 39. April 18, 2015 Unreal Fes 2015 Osaka Kiteデモ: ランドスケープ 1m解像度で10x10マイル(16x16キロメートル)
  40. 40. April 18, 2015 Unreal Fes 2015 Osaka Kiteデモ: ランドスケープ ストリーミングで連続的なLODシステム
  41. 41. April 18, 2015 Unreal Fes 2015 Osaka Kiteデモ: ランドスケープ ウェイトマップによるテクスチャ参照
  42. 42. April 18, 2015 Unreal Fes 2015 Osaka Kiteデモ: ランドスケープ 結果:ライティングされたテクスチャ付きマテリアル
  43. 43. April 18, 2015 Unreal Fes 2015 Osaka Kiteデモ: フォーリッジ • 樹木 • 樹木、岩・・・ • コリジョンあり • 手動 / プロシージャル配置 • 草 • 草、花、小石・・・ • コリジョンなし • マテリアルに応じた配置
  44. 44. April 18, 2015 Unreal Fes 2015 Osaka Kiteデモ: フォーリッジ • 階層的にインスタンシングされたスタティックメッシュ – 100万超インスタンスの描画 – メッシュをBSPライクなツリーで管理 (Binary Space Partitioning) – ピクセル単位でLOD変化
  45. 45. April 18, 2015 Unreal Fes 2015 Osaka Kiteデモ: フォーリッジ LOD polys: 115,000 13,000 2,500 32
  46. 46. April 18, 2015 Unreal Fes 2015 Osaka Kiteデモ: フォーリッジ • LODでピクセル深度オフセットを利用し、シャドウ品質向上
  47. 47. April 18, 2015 Unreal Fes 2015 Osaka Kiteデモ: フォーリッジ樹木
  48. 48. April 18, 2015 Unreal Fes 2015 Osaka 地形とマテリアルによる草配置
  49. 49. April 18, 2015 Unreal Fes 2015 Osaka 動物
  50. 50. April 18, 2015 Unreal Fes 2015 Osaka Kiteデモ: 動物 • とても素晴らしい表現ができた、でも動きに乏しい・・・
  51. 51. April 18, 2015 Unreal Fes 2015 Osaka Kiteデモ: 動物群 • 我々のダイナミックシステムが広大な世界にどのくらい適 合できるかテストしてみた
  52. 52. April 18, 2015 Unreal Fes 2015 Osaka Kiteデモ: AI • 群れの中心がドローンから離れるためのパスを探索
  53. 53. April 18, 2015 Unreal Fes 2015 Osaka Kiteデモ: AI • 群衆シミュレーションで樹木と別の鹿を避ける • 4足歩行での挑戦 – 点上での転回 – 加速までの時間
  54. 54. April 18, 2015 Unreal Fes 2015 Osaka Kiteデモ: AI • ナビゲーションメッシュ – 樹木と崖を避ける – 新たな効果的な移動
  55. 55. April 18, 2015 Unreal Fes 2015 Osaka Kiteデモ: AI • ナビゲーションメッシュ – 事前計算するには大きな世界 • 5GBもメモリを使う! – タイルを動的に必要に応じて生成 • 複数のコアに作業を分配
  56. 56. April 18, 2015 Unreal Fes 2015 Osaka Kiteデモ: AI • ナビゲーションメッシュ
  57. 57. April 18, 2015 Unreal Fes 2015 Osaka Kiteデモ: AI • アニメーション – 合成されたルートモーション • AIがゴールを設定 • ステートマシンが ベストなアニメーションを探す
  58. 58. April 18, 2015 Unreal Fes 2015 Osaka Kiteデモ: AI • アニメーション
  59. 59. April 18, 2015 Unreal Fes 2015 Osaka Kiteデモ: AI • アニメーション
  60. 60. April 18, 2015 Unreal Fes 2015 Osaka Kiteデモ: AI • スポーン – ワールドをセルに分割 – ベストな場所をルールにしたがって策定
  61. 61. April 18, 2015 Unreal Fes 2015 Osaka シネマチックなキャラクター
  62. 62. April 18, 2015 Unreal Fes 2015 Osaka Kiteデモ: キャラクター • 序章 – ストーリーの中で技術を紹介 – キャラクターの旅
  63. 63. April 18, 2015 Unreal Fes 2015 Osaka Kiteデモ: キャラクター • イメージボード
  64. 64. April 18, 2015 Unreal Fes 2015 Osaka Kiteデモ: キャラクター
  65. 65. April 18, 2015 Unreal Fes 2015 Osaka Kiteデモ: キャラクター
  66. 66. April 18, 2015 Unreal Fes 2015 Osaka
  67. 67. April 18, 2015 Unreal Fes 2015 Osaka Kiteデモ: キャラクター • キャラクター向け技術 – 映画指向のフェイシャルリグ • フェイスリグと 500以上のブレンドシェイプ – 制御可能なボディシェイプ • ポーズに適したメッシュの見栄えを アーティスティックに制御できる – スキンシェーダーの向上 • カスタムSSSディフューズプロファイル
  68. 68. April 18, 2015 Unreal Fes 2015 Osaka Kiteデモ: ストーリーテーリング Unreal Engine 4を使った あなたのストーリーをぜひ見せてください (映像利用はロイヤリティーがかかりません)
  69. 69. April 18, 2015 Unreal Fes 2015 Osaka GDC報告は以上
  70. 70. April 18, 2015 Unreal Fes 2015 Osaka C++ライブコーディング • はじめましょう! – C++版Flyingゲームテンプレート
  71. 71. April 18, 2015 Unreal Fes 2015 Osaka C++ライブコーディング • UFOの挙動を変えてみよう! – ワールドアウトライナから「TP_FlyingPawn」を見つけて「開く ゲーム名 Pawn.h」をクリックでVisualStudioが起動します – ゲーム名Pawn.cppに UFOの挙動が実装されています – FlyingのUFOの場合は Aゲーム名Pawn::Tick(float DeltaSeconds) があるので主にそこを変えればOK
  72. 72. April 18, 2015 Unreal Fes 2015 Osaka C++ライブコーディング • UFOの挙動を変えてみよう! – 例えば前進速度を10倍にしてみる void Aゲーム名Pawn::Tick(float DeltaSeconds) { const FVector LocalMove = FVector(CurrentForwardSpeed * 10.f * DeltaSeconds, 0.f, 0.f); : – 変更して保存したらエディタから 「コンパイル」してみよう (VisualStudio側でビルドでもOK) – コンパイルができたら「プレイ」
  73. 73. April 18, 2015 Unreal Fes 2015 Osaka C++ライブコーディング • 独自のブループリントのノードを作ってみよう! – ゲーム名Pawn.h UFUNCTION(BlueprintCallable, Category = Flying) void Drunk(float HowMuch); – ゲーム名Pawn.cpp void Aゲーム名Pawn::Drunk(float HowMuch) { CurrentYawSpeed = HowMuch; } – コンパイル!
  74. 74. April 18, 2015 Unreal Fes 2015 Osaka C++ライブコーディング • 独自のブループリントのノードを使ってみよう! – コンパイルが終わればすぐにエディタ上で使えるようになります – レベルブループリントから使ってみよう! • Get Player Pawn • ゲーム名Pawnへキャスト • Drunk呼び出し • あとはイベントBegin PlayやTick等を繋げるだけ!
  75. 75. April 18, 2015 Unreal Fes 2015 Osaka C++ライブコーディング • 敵を作ってみよう! – 「ファイル」メニューから「プロジェクトにコードを追加」 – 親クラスを「Pawn」にして「MyEnemy」等の名前でクラス を作成
  76. 76. April 18, 2015 Unreal Fes 2015 Osaka C++ライブコーディング • ソリューションに自動的に登録されコンパイルされます
  77. 77. April 18, 2015 Unreal Fes 2015 Osaka C++ライブコーディング • コンパイルが終わればコンテンツブラウザのC++クラス内 のゲーム名フォルダにMyEnemyが現れるのでレベル上にド ラッグ&ドロップできます – でもメッシュがないので 詳細タブの コンポーネントを追加 から球を
  78. 78. April 18, 2015 Unreal Fes 2015 Osaka C++ライブコーディング • 敵もTickがあるので – MyEnemun.cpp void AMyEnemy::Tick( float DeltaTime ) { const FVector LocalMove = FVector(500.f * DeltaTime, 0.f, 0.f); AddActorLocalOffset(LocalMove, true); Super::Tick(DeltaTime); } – あとはファイルを保存して「コンパイル」して「プレイ」! – ゲームをプレイしながら「Shift+F1」や「F8」で抜け、コードを書き換え て「コンパイル」でリアルタイムの反映も可能! (500.fを2000.fとか変更して試してみよう!)
  79. 79. April 18, 2015 Unreal Fes 2015 Osaka 他にもいろいろ • 50分に詰め込むには・・・ちょっと時間不足ですみません – もっと内容とライブコーディング凝りたかったんですが… • ホワイエにドスパラさん(サードウェーブデジノスさん)の 最新マシン上で「Showdown」デモをOculusで体験できます – それと、VR関係のお話もしたかったんですが… • 4/24(金) OGCに出展します、夜はとげとげさんの「UE4の歩き 方」出版パーティーもあります • 4/25(土),26(日) 東京オッキューランド@ニコニコ超会議! • 4/27(月) おきゅっていいとも!(桜花一門さんのニコ生配信) でVR関連のネタをお見せできると思います。
  80. 80. April 18, 2015 Unreal Fes 2015 Osaka Q&A ありがとうございました ご質問がある方? ぜひアンケートにもご協力ください、次回の励みになります

×