Advertisement
Advertisement

More Related Content

Slideshows for you(20)

Viewers also liked(20)

Advertisement

More from エピック・ゲームズ・ジャパン Epic Games Japan(20)

Advertisement

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

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