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.

【Unity道場スペシャル 2018京都】最新機能オーバービュー ~2018から2019~

6,154 views

Published on

2018/11/24に開催されたUnity道場 京都スペシャル3の講演スライドです。
講師: 山村 達彦(ユニティ・テクノロジーズ・ジャパン合同会社)

Unityのイベント資料はこちらから:
https://www.slideshare.net/UnityTechnologiesJapan/clipboards

Published in: Technology
  • Be the first to comment

【Unity道場スペシャル 2018京都】最新機能オーバービュー ~2018から2019~

  1. 1. 最新機能
 オーバービュー
 ~2018から2019~ Tatsuhiko Yamamura @ Unity
  2. 2. 安定版の提供(LTS) 2017.1 2017.2 2017.3 2017.4 (LTS) 2018.1 2018.2 2018.3 2018.4 (LTS) 2019.1 2019.2 2019.3 2019.4 (LTS) 2017 2018 2019 2020 2020.1 2020.2 2020.• LTSは24ヶ月のサポート • LTSは、ほぼバグフィックスのみ
 (新機能の追加・反映は無し)
  3. 3. エディター ワークフロー
  4. 4. 日本語対応 UIを日本語化
 Inspectorやメニュー等が対象 2018.1 • 日本語エディター対応 2018.3 • 英語でコンポーネントが検索可能に
  5. 5. Package Manager Unityのバージョンとほぼ独立した
 機能の提供するシステム
 プロジェクト単位で利用する機能を
 取捨選択 2018.1 • 提供開始 2018.3 • ローカル / 独自パッケージに対応 • パッケージの検索機能を追加
  6. 6. Package Manager 2019.1 • パッケージの依存関係を改善 • 依存関係の可視化 • パッケージをGitから直接インポート 2019.x • AssetStoreと統合 • パブリッシュするフローとの統合 • Local、Cloudでテスト
  7. 7. パラレルインポーター Hold On Importing … so many things. インポート完了まで席の前で待機しなくても良くなる 並列インポート
 必要に応じてインポート
 依存関係グラフの作成 
 2019.ぐらいの予定
  8. 8. Addressable Asset ローカル・リモートの区分無く、
 簡単にアクセスできるようにする Inspectorからの参照でも
 必要に応じてアセットのロード 2018.3 • プレビュー 2019.1 • リリース
  9. 9. Addressable Asset [AssetReferenceTypeRestriction(typeof(GameObject))] public AssetReference player;
  10. 10. Addressable Asset
  11. 11. Addressable Asset GameObject playerInstance; player.Instantiate<GameObject>().Completed += (op) => {playerInstance = op.Result;} オブジェクトのロード&生成 Addressables.ReleaseInstance(playerInstance); 破棄&開放
  12. 12. Addressable Asset アプリに含めるアセット郡 データをサーバーからダウンロードするアセット群 「グループ単位」 or 「1アドレス 1アセットバンドル」で分割
  13. 13. Scriptable Build Pipeline Addressable Assetの構築/アクセスを
 担当するシステム。
 ビルドパイプラインをカスタマイズ
 参照用のハッシュの生成等もここ 2018.3 • プレビュー(予定) 2019.2 • コンテンツのロード方式を
 カスタマイズ
  14. 14. 新しいPrefab機能 Prefabをより柔軟に管理する為 のワークフロー構築
 Prefabの階層化やバリアント、
 Prefab用エディターの導入など • 2018.3導入
  15. 15. X = 1 Prefab1 Prefab化 Prefab機能(旧) X = 1 Prefab1 Object X = 1 Prefab1 オブジェクトへの配置 Prefabの情報は失われた
  16. 16. Prefab機能(旧) X = 2 Prefab1 Object X = 2 Prefab1 X = 1 Prefab1 オリジナルPrefabの変更が 反映される 変更は反映されない
  17. 17. 新しいPrefab機能(階層化) X = 1 Prefab1 Y = 1 Prefab2
  18. 18. 新しいPrefab機能(階層化) X = 1 Prefab1 X = 1Y = 1 Y = 1 Prefab2
  19. 19. X = 2 Prefab1 X = 2Y = 1 Y = 1 Prefab2 新しいPrefab機能(階層化) オリジナルPrefabを変更すれば、使用してるPrefabにも反映される
  20. 20. 新しいPrefab機能(バリアント) X = 1 Prefab1 y = 2
  21. 21. 新しいPrefab機能(バリアント) X = 1 Prefab1 y = 2 X = 1 Prefab2 y = 2 X = 1 Prefab3 y = 2
  22. 22. 新しいPrefab機能(バリアント) X = 1 Prefab1 y = 2 X = 1 Prefab2 y = 2 X = 1 Prefab3 y = 2 x=12 x=4 個別に値や構造を上書きできる
  23. 23. 新しいPrefab機能(バリアント) X = 1 Prefab1 y = 1000 X = 1 Prefab2 y = 1000 X = 1 Prefab3 y = 1000 x=12 x=4 オリジナルの値は反映される
  24. 24. UIデザインの一新 理解しやすいデザインに変更 2019.2 • 新しいアイコンに変更 • ホバースタイル対応 • ユニフォームスタイルの
 アイコン(HDPI対応) 2019.3 • フォントサイズの変更
  25. 25. Unified settings すべてのプロジェクト設定が
 一つのウィンドウに集約 フィルターで指定の機能を
 見つけやすく • 2018.2導入
  26. 26. ショートカットマネージャー ショートカットキーのカスタマイズ
 アクションにショートカットの割当 アセットストア開発者用のAPI ショートカットを保存して共有 2019.1 • 提供
  27. 27. Console Log改善 2019.2 • スタックトレースのクリック • 検索の追加
  28. 28. UI Element エディター拡張用の新しいUIシステム
 スタイルシート、テンプレート、動的イベント処理等に対応 
 2019.1 • 導入 2019.2 • ランタイム対応 • もっと良いCSS対応 • UIエディター用意
  29. 29. Visual Scripting ビジュアルスクリプトツール • グラフを元にC#生成 • カスタムパッケージのサポート 
 2019.2 • プレビュー版リリース
  30. 30. Visual Scripting Core system Game System Game System visual scripts visual scripts visual scripts visual scripts visual scripts visual scripts Assembly Definition File ADF ADF
  31. 31. パフォーマンス
  32. 32. “Performance By Default” C# Job System Entity Component System Burst Compiler
  33. 33. C# Job System 処理をワーカースレッドに乗せて
 並列(非同期)処理を実現 安全・効率的にマルチコアを活用 NativeContainerによる、
 ローレベルなメモリ管理の提供 2017.3 • 公開
  34. 34. Entity Component System データレイアウトを意識して
 かなり効率的なプログラムを実現 2018.1 • プレビュー公開 2019.1~3 • リリースに向けての基盤作り • APIをシンプルかつ使いやすく • シーンエディター • シーンのストリーミング
  35. 35. GameObject/Componentの場合 Do Do Do Do Do Do Do Do Do Do Do Do Do Do
  36. 36. Entity Component Systemの場合 なんとかシステム
 (世界で一つだけのマネージャー) 一括処理
  37. 37. Entity Component Systemの場合 一回のメモリアクセスで取得する なんとか描画システム なんとか当たり判定システム なんとか物理演算システム
  38. 38. Entity Component Systemの場合 なんとか描画システム コア1 コア2 コア3 コア4 処理を各コアに割り振り
  39. 39. Burst Compiler データレイアウトが決まっている事を利用して、
 シニアプログラマが頑張って実現するような
 ネイティブコードを生成する。
 データレイアウトはECSがやってくれる。 計算の精度を下げてパフォーマンスを上げる事も。 2019.2 • リリース(予定) • 全プラットフォーム対応(予定)
  40. 40. Burst Compiler float4 += float4 output1 += input1 output2 += input2 output3 += input3 output4 += input4 float4 [0] [1] [2] [3] output1 output2 output3 output4 float4 += float4 float4 += float4 float4 += float4 float4 += float4 float4 += float4 float4 += float4 float4 += float4 float4 += float4 float4 += float4 float4 += float4 float4 += float4 float4 += float4 float4 += float4 float4 += float4 float4 += float4 float4 += float4 float4 += float4 float4 += float4 float4 += float4 float4 += float4 Core1 Core2 Core3 Core4
  41. 41. Mathライブラリ Shaderライクな算術計算ライブラリ Burstでコンパイル時に顕著に高速化 オープンソースで提供 2018.1 • プレビュー
  42. 42. さよなら.NET 3.5サン…
  43. 43. Script Backend 2018.3 • IL2CPPサイズの改良 • .NET 4.x、C#7.2系に移行
 (3.x系が非推奨化) • Roslyn 
 2019.1 • インクリメンタルGC • IL2CPP構築速度の改善
  44. 44. IL2CPP debugger IL2CPPバックエンドでC#ので バッグが可能に • 2018.2
 導入 • 2019.1
 .NET Backend終了
  45. 45. Memory Profiler改良 メモリがどのように使用されているのかを
 もっと直感的に把握する より詳細な情報の確認も可能に 
 2018.3 • プレビュー
  46. 46. Physics Update 2018.3 • Upgrade PhysX 3.4
 (より安定かつ高速で動作) • 複数のWorldsに対応 • C# Job queriesサポート
  47. 47. Video Player 2018.3 • テクスチャ更新の処理時間を
 メインスレッドから排除 • 動画の再生速度変化に音声が対応 2019.1 • H.265 playback サポート H.265
  48. 48. 新しいインプットシステム ゲームのフレームレートに因らない新しい入力システム
 メモリに対するダイレクトマップ
 実行時に設定を変更可能 2019.1 • テンプレートによる管理 • アクションマップ & セット • アクションバインディング • コンビネーション • プロセッサー
  49. 49. Async Upload Pipeline強化 Async Upload Pipelineに
 メッシュが追加 初期設定を変更して
 ロードを高速化 
 2018.3 • メッシュ対応 • 設定を更新
  50. 50. Texture Mipmap Streaming 必要なミップマップのみを
 ロードする機能 初期ロードのコストを削減 
 メモリとロードコスト予算内での
 メモリ管理 2018.2 • 導入
  51. 51. 表現
  52. 52. Scriptable Render Pipeline レンダリングのステージを
 独自にカスタマイズ 2018.2 • バッチング最適化 
 2019.1 • リリース
  53. 53. ライト ウェイト レンダー パイプライン (LWRP)モバイルGPUやVR向け
 軽量なレンダラー 2018.3 • カスタムレンダラー • カスタムレンダーパスの
 差し込み 
 2019.1 • プレビューが外れる(予定) • ドキュメントがんばる(予定)
  54. 54. HDレンダーパイプライン
  55. 55. HDレンダーパイプライン 2018.3 Increase volumetric quality and performance Screen Space Reflections Improve shadow atlas / budget / control Improve quality of Contact Shadow TerrainLit shader & Fabric shader AxF shader (requires automotive package) Preliminary support of LightLayers More debug modes Planar reflection Preliminary Visual Effects Graph support Decal improvement with per channel selection mask 2019.1 Stacklit shader Hair shader Improved VFX graph support Reflection system Improved Shadows Specular anti-aliasing / Normal filtering HD Post-processing VR Support MSAA (forward only)
  56. 56. Visual Effect Graph • 2018.3 • プレビューリリース • 2019.1 • リボントレイル対応 次世代ビジュアルエフェクト GPUベースで動作
  57. 57. Particle System と Visual Effect Graph 適正パーティクル数 シミュレーション 接触の表現 接触判定のゲーム反映 Particle Visual Effect Graph 1000 particles 10,000,000 particles simple complex 物理演算ベース 擬似的な表現 あり なし 動きの計算 CPU GPU
  58. 58. Shader Graph SRP向けのノードベースのシェーダーエディター
 シェーダーでできる表現を身近に。 2018.1 • プレビュー 2018.2 • 頂点アニメーション対応 
 2019.2 • プレビューが外れる(予定)
  59. 59. Progressive Lightmapping ライトベイクの結果をすばやく確認できるライトマッパー 
 2018.2 • ライト減衰設定 2018.3 • CPU 最適化 • Spatially coherent packing
  60. 60. Progressive Lightmapping GPU対応したことでライトのベイクが爆速に 
 2018.3 • GPUアクセラレーション対応
 (Windowsのみ) 2019.1 • ライトマップの最大数を指定 • GPUアクセラレーション対応
 (Mac & Linux)
  61. 61. Recorder AnimationClipや連番画像、動画を録画 
 2018.2 • ツール体験の改善 • 設定のプリセット保存が可能に • スクリプトからの録画が可能に • 複数のレコーディングが同時可能に
  62. 62. Text Mesh Pro ズームしてもキレイな
 SDFベースのフォントシステム 2018.3 • ハイブリット ダイナミック
 SDFフォント 
 2019.3 • 合字に対応
 合字:複数の文字を合成して一文字にしたもの
  63. 63. Animation改善 もっと高品質なモデルを使えるように 2018.3 • Animatorのパフォーマンスが
 10~20%良くなる • GPUスキニングが最適化
 動作しなかったプラットフォームにも対応 
 2019.1 • ランタイムリギング • 標準32ボーンに対応(最大255)
  64. 64. Animation もっと色々な表現ができるように 2018.3 • アニメーションオーサリング • C# Animation System
 (ECSにも対応) 
 2019.x • Kinematica
 ポーズベースのアニメーション
  65. 65. Terrain改善 Terrain大改善 2018.3 • 複数のタイルで構成するタイプに変更 • タイル間のペイントをシームレスに • カスタムブラシ 2019.1 • Terrainの穴表現
  66. 66. Terrain改善 Terrain大改善 2018.3 • スクリプトでカスタマイズ • GPU Resources
 (Hightmap, splat maps) • APIの追加 • 独自GPU操作 • スタンプツール
  67. 67. Terrain改善 heightmap quadtree render painting splatmap blend / upload textures meshes heightmap quadtree render painting splatmap blend / upload textures meshes CPU GPU CPU GPU heightmap quadtree render painting splatmap blend textures static meshesinstances
  68. 68. Terrain改善 CPU GPU heightmap quadtree render painting splatmap blend textures static meshesinstances CPU GPU Terrain大改善 2018.3 • heightmapをGPUベースに • DrawCallの大幅な削減(1/100なレベル) • 地形のカリング効率化 • CPUパフォーマンス2倍 • GCが1/30 • GPU Instancingを駆使して描画
  69. 69. ProBuilder / PolyBrush Unity上でモデリングするツール群 2018.1 • ProBuilder、PackageManagerに統合
 (旧版はAssetStoreから入手) 2018.3 • PolyBrush、PackageManagerに統合予定
  70. 70. Tile map タイルマップ 2018.2 • ヘクサタイル 2018.3 • 斜めタイル
  71. 71. Sprite Shape Sprite Shape
 曲線で変形できるマップ 2018.1 • 導入 2019.1 • 当たり判定生成周りの改善
  72. 72. 2D Animation 2D向けボーンベースのアニメーション
 (旧名 Anima2D) スプライトの変形やIK処理などが可能 2018.1 • 導入 2018.3 • マルチスプライト対応
  73. 73. SVG importer SVG対応
 ズームしてもクッキリした絵が、メモリ的 に低コストで出せる 2018.2 • プレビュー
  74. 74. SVG importer 動的に生成することもできる
  75. 75. ピクセルパーフェクトカメラ 解像度が異なるディスプレイで
 ピクセルパーフェクトな
 スプライト表現 2018.2 • 導入
  76. 76. 2D Light & Shadow 2D向けライティング処理 2019.1 • Shape Based Light • Point Light • Spot Light
  77. 77. プラットフォーム
  78. 78. Mobile ARM 64-bit 2017.4 LTS • Android 64bit対応 2018.3 • Android App Bundles 対応 • Dynamic Resolution for Mobile • Android Runtime Permissions • OpenJDK インストール
  79. 79. Mobile 2019.1 対応するAndroid SDK & NDKの自動インストール Android Logcatのインテグレーション セーフエリア/ノッチ対応 for Android Vulkanの最適化 Local Shader Keywords Android Wide Color support OpenGL ES 3.2
  80. 80. XR 2018.3 • XR Performance Testing Toolkit • Core Haptics API • Daydreamコントローラーのネイティブ対応 2019.1 • HDRP対応 2019.2 • マルチプラットフォームXR Input System • Stereo Compositor Layer • Single Pass Rendering for DX12
  81. 81. AR Foundation ARKit もしくはAR Coreを使用する
 マルチプラットフォームAR環境 2019.1+ • ARテンプレートの追加 • LWRP対応 • エディターリモート対応 • AR Kit 2.0とAR Core 1.5で表現できる
 機能と同等の機能を提供(予定)
  82. 82. WebGL 2018.2 • WebAssembly標準対応 2019.1 • マルチスレッド対応(予定)
  83. 83. Project Tiny 100KB~5MBくらいのコンパクトなゲームをビルドする
 モバイルゲーム広告や小さなデバイス等 幅広いモバイルブラウザ環境でちゃんと動く
 ロード時間とアプリサイズに特に優れる
 2D HTML5、そのうち3DやAR等に対応 ECSベース 2018年12月 • パッケージ提供開始(予定)
  84. 84. まとめ •より高度な事が実現できるようになる •より柔軟に開発を行えるようになる •より高速で動作するようになる Q : Unity 2018-2019で何がどうなった? A:
  85. 85. 最新情報をUnityブログで公開
  86. 86. おわり

×