Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
GenerativeArt—MadewithUnity
知って得する、
テンションが上がりそうな
新機能たち
大下 岳志 @ Unity
山村 達彦 @ Unity
2
アジェンダ
● エンジニアリング関連
● グラフィックス関連
エンジニアリング関連
3
パフォーマンスの計測を、もっとやりやすく
4
Profile Analyzer
5
● パフォーマンス上の
ボトルネックを
見つけやすくする機能
● 最も大きな問題は何処か?
● 瞬間的な問題か?
● ちゃんと問題は解決したか?
使う流れ(1)
6
● プロファイラの結果を
Profile Analyzerに出力
使う流れ(2)
7
● プロファイル結果を
範囲で取得
● 負荷の傾向を
取得する際に便利
使う流れ(3)
8
● 負荷の割合を確認
重い処理を重点的にチェック
使う流れ(4)
9
● 処理の傾向を確認
● 稀に高い負荷なのか
常に高い負荷なのか
● 負荷が高いフレームは
どのフレームか
10
コードを修正…
使う流れ(5)
11
● 変更前と変更後を比較
使う流れ(6)
12
● 負荷が高い方に
グラフが傾く
● 最適化の効果や
サイドエフェクト等を確認
Profilerの上限が上昇
13
● 保有可能な
フレーム数が
300から2000へ
ここ
パフォーマンスの計測を、もっとやりやすく
● Profiler Analyzerでボトルネックの探索から
最適化の結果を計測する所までサポート。
● Profilerの保持フレームも増えたので、
全体的に最適化がやりやすくなった。
14
もう少しイケてる入力システム
15
New Input System
16
● 新しい入力システム
● 従来のInputManagerと
同時に利用可能
● 多少、入力のカスタムや
ローカルマルチプレイが楽
● 慣れると使いやすい(主観)
複数の入力タイプで同じような開発
17
● 入力を抽象化し、
デバイスの入力結果を
流し込む。
● デバイスは
複数種類を
登録することも可能
複数の入力タイプで同じような開発
18
複数の入力タイプで同じような開発
19
モバイルでの入力
20
入力
入力
フレームに依存しない入力の受付
21
フレームレート以上の間隔で
入力を受け取れる。
右)16FPSで動かした時の動作
  白い線:InputSystem(新)
  赤い線:InputManager(旧)
フレームに依存しない入力の受付(1)
22
A
フレームに依存しない入力の受付(2)
23
A
A
フレームに依存しない入力の受付(3)
24
A
A
On-demand rendering
25
描画をスキップして発熱と電池消費を抑える
もう少しイケてる入力システム
● New Input Systemは複数のデバイス対応が
多少やりやすくなった。
● フレームに依存しない入力も含めて、
ローレベルな調整が可能に。
26
かなり楽になったECS
27
ECSの基本
28
● 操作したい対象を
保持データの組み合わせで
フィルタリング。
● フィルタリングの結果に
対して一括処理。
(バッチ処理)
ECSの速度
29
https://www.youtube.com/watch?v=yTGhg905SCs
● ECSは早い。
● DOTS全部使うと
大分早い。
ECSのビフォアアフター(前)
30
 処理対象の絞り込み
 ジョブの登録
 絞り込んだ対象に適応する処理
ECSのビフォアアフター(後)
31
 処理対象の絞り込み
 絞り込んだ対象に適応する処理
 ジョブの登録
ILPostProcessor(いままで)
.NETが生成したILに手を加える機能
32
C#
Assembly
IL
.NET
C++
IL2CPP
Burst
ILPostProcessor(これから)
.NETが生成したILに手を加える機能
33
C# IL
C++
Assembly
.NET
IL2CPP
Burst
ILPostProcessor
IL
ビジュアルスクリプティング
34
● ノードグラフから
C#のコードを生成
● マルチコア対応のコー
ドも生成可能
● 適当に作っても速い
● ECSベースの設計
Visual Scriptingの使い方
35
 処理対象の絞り込み
 絞り込んだ対象に適応する処理
かなり楽になったECS
● シンプルな実装で利用可能になった。(当社比)
● ビジュアルスクリプティングが登場。
● ステータスはPreview
(ただAPIの劇的変更は大分なくなった)
36
トライアンドエラーをやりやすくする
37
動作のチェックには時間がかかる
38
Playボタンを押す
(5秒〜n分)
ビルドする
(2分〜n時間)
39
Enter Play Mode Settings
● シーンとドメインの
リロードを止める
オプション。
● エディターでゲームを
再生するまでの時間を
劇的に短縮。
(20秒を1秒未満に)
40
LiveLink
● エディターの
変更をゲームに
直接プッシュ
● ゲームの再ビルド
無しにゲームを更新
(※開発用のみ)
● ECS向け
https://www.youtube.com/watch?v=P_-FoJuaYOIhttps://github.com/Unity-Technologies/DOTSSampl
e
DOTSSample(Github)
41
Introdu...
Addressableを用いたアセットの更新
● Addressableで配信する
アセットを更新する
● よくある設計を
サクッと使えるように
42
Local Server
Upload Download &Build & Test Play
トライアンドエラーをやりやすく
● 規模が増えたときのビルドの手間を大分軽減する。
● 現状、利用条件がそこそこ厳しいので
何を使うか、利用できるかは要確認。
43
グラフィックス関連
44
High Definition RP
45
High Definition RP
46
Physical Based Rendering
実際の世界に存在する数値や
測定値を設定に使用できる
Materialだけではなく、
Light、Cameraの物理的な
整合性に大きく踏み込んだ
Material
High Definition RP
47
HDRP/Lit Shader
High Definition RP
48
Lighting Physical Light Unit (PLU)
High Definition RP
49
Camera &
Post Process
Physical Camera Settings
Camera &
Post Process
High Definition RP
50
Aperture
(絞り)
Shutter Speed
(シャッター速度)
値を小さく値を大きく
ボケが大きくなるボケが小さくなる
ブレが大きくなるブレが小さ...
High Definition RP
51
Light + Camera + Post Process
High Definition RP
52
・結果だけでなく考え方からフォトリアル
 誰もが高品質でリアルなグラフィックを作れる
・徹底した物理ベースで曖昧な要素は減ったが、
 それだけ実写の知識が従来よりも重要に
・とても先鋭的なRender ...
Universal RP
53
・軽量、シンプルなPBR
・Post Processing Stack V3
・Single Pass Forward Renderingのライト数増
・Custom Renderer
 
 
・Camera S...
2D Graphics
54
Lighting
2D Graphics
55
Light 2D & Shadow
Lighting
2D Graphics
56
Normal Map
2D Graphics
57
Lighting Shader Graph
2D Graphics
58
Workflow Sprite Editor
2D Graphics
59
Workflow 2D Sprite Shape
Lost Crypt - 2D Sample Project
60
Unity Asset Store
・Unity2019.3~
・2D Templateから
https://assetstore.unity.com/packages/e
s...
おしまい
61
Prochain SlideShare
Chargement dans…5
×

【Unity道場 京都スペシャル4】 知って得する、 テンションが上がりそうな 新機能たち

8 456 vues

Publié le

このスライドは2020年01月25日に行われた「Unity道場 京都スペシャル4」の「知って得する、 テンションが上がりそうな 新機能たち」のスライドです。

ここ1年くらいの単位で追加された、もしくは追加される予定のテンションが上がるような新機能を、プログラマーとアーティストの視点で数点紹介します。

Publié dans : Ingénierie
  • Soyez le premier à commenter

【Unity道場 京都スペシャル4】 知って得する、 テンションが上がりそうな 新機能たち

  1. 1. GenerativeArt—MadewithUnity 知って得する、 テンションが上がりそうな 新機能たち 大下 岳志 @ Unity 山村 達彦 @ Unity
  2. 2. 2 アジェンダ ● エンジニアリング関連 ● グラフィックス関連
  3. 3. エンジニアリング関連 3
  4. 4. パフォーマンスの計測を、もっとやりやすく 4
  5. 5. Profile Analyzer 5 ● パフォーマンス上の ボトルネックを 見つけやすくする機能 ● 最も大きな問題は何処か? ● 瞬間的な問題か? ● ちゃんと問題は解決したか?
  6. 6. 使う流れ(1) 6 ● プロファイラの結果を Profile Analyzerに出力
  7. 7. 使う流れ(2) 7 ● プロファイル結果を 範囲で取得 ● 負荷の傾向を 取得する際に便利
  8. 8. 使う流れ(3) 8 ● 負荷の割合を確認 重い処理を重点的にチェック
  9. 9. 使う流れ(4) 9 ● 処理の傾向を確認 ● 稀に高い負荷なのか 常に高い負荷なのか ● 負荷が高いフレームは どのフレームか
  10. 10. 10 コードを修正…
  11. 11. 使う流れ(5) 11 ● 変更前と変更後を比較
  12. 12. 使う流れ(6) 12 ● 負荷が高い方に グラフが傾く ● 最適化の効果や サイドエフェクト等を確認
  13. 13. Profilerの上限が上昇 13 ● 保有可能な フレーム数が 300から2000へ ここ
  14. 14. パフォーマンスの計測を、もっとやりやすく ● Profiler Analyzerでボトルネックの探索から 最適化の結果を計測する所までサポート。 ● Profilerの保持フレームも増えたので、 全体的に最適化がやりやすくなった。 14
  15. 15. もう少しイケてる入力システム 15
  16. 16. New Input System 16 ● 新しい入力システム ● 従来のInputManagerと 同時に利用可能 ● 多少、入力のカスタムや ローカルマルチプレイが楽 ● 慣れると使いやすい(主観)
  17. 17. 複数の入力タイプで同じような開発 17 ● 入力を抽象化し、 デバイスの入力結果を 流し込む。 ● デバイスは 複数種類を 登録することも可能
  18. 18. 複数の入力タイプで同じような開発 18
  19. 19. 複数の入力タイプで同じような開発 19
  20. 20. モバイルでの入力 20 入力 入力
  21. 21. フレームに依存しない入力の受付 21 フレームレート以上の間隔で 入力を受け取れる。 右)16FPSで動かした時の動作   白い線:InputSystem(新)   赤い線:InputManager(旧)
  22. 22. フレームに依存しない入力の受付(1) 22 A
  23. 23. フレームに依存しない入力の受付(2) 23 A A
  24. 24. フレームに依存しない入力の受付(3) 24 A A
  25. 25. On-demand rendering 25 描画をスキップして発熱と電池消費を抑える
  26. 26. もう少しイケてる入力システム ● New Input Systemは複数のデバイス対応が 多少やりやすくなった。 ● フレームに依存しない入力も含めて、 ローレベルな調整が可能に。 26
  27. 27. かなり楽になったECS 27
  28. 28. ECSの基本 28 ● 操作したい対象を 保持データの組み合わせで フィルタリング。 ● フィルタリングの結果に 対して一括処理。 (バッチ処理)
  29. 29. ECSの速度 29 https://www.youtube.com/watch?v=yTGhg905SCs ● ECSは早い。 ● DOTS全部使うと 大分早い。
  30. 30. ECSのビフォアアフター(前) 30  処理対象の絞り込み  ジョブの登録  絞り込んだ対象に適応する処理
  31. 31. ECSのビフォアアフター(後) 31  処理対象の絞り込み  絞り込んだ対象に適応する処理  ジョブの登録
  32. 32. ILPostProcessor(いままで) .NETが生成したILに手を加える機能 32 C# Assembly IL .NET C++ IL2CPP Burst
  33. 33. ILPostProcessor(これから) .NETが生成したILに手を加える機能 33 C# IL C++ Assembly .NET IL2CPP Burst ILPostProcessor IL
  34. 34. ビジュアルスクリプティング 34 ● ノードグラフから C#のコードを生成 ● マルチコア対応のコー ドも生成可能 ● 適当に作っても速い ● ECSベースの設計
  35. 35. Visual Scriptingの使い方 35  処理対象の絞り込み  絞り込んだ対象に適応する処理
  36. 36. かなり楽になったECS ● シンプルな実装で利用可能になった。(当社比) ● ビジュアルスクリプティングが登場。 ● ステータスはPreview (ただAPIの劇的変更は大分なくなった) 36
  37. 37. トライアンドエラーをやりやすくする 37
  38. 38. 動作のチェックには時間がかかる 38 Playボタンを押す (5秒〜n分) ビルドする (2分〜n時間)
  39. 39. 39 Enter Play Mode Settings ● シーンとドメインの リロードを止める オプション。 ● エディターでゲームを 再生するまでの時間を 劇的に短縮。 (20秒を1秒未満に)
  40. 40. 40 LiveLink ● エディターの 変更をゲームに 直接プッシュ ● ゲームの再ビルド 無しにゲームを更新 (※開発用のみ) ● ECS向け
  41. 41. https://www.youtube.com/watch?v=P_-FoJuaYOIhttps://github.com/Unity-Technologies/DOTSSampl e DOTSSample(Github) 41 Introduction to the DOTS Sample and the NetCode that drives it
  42. 42. Addressableを用いたアセットの更新 ● Addressableで配信する アセットを更新する ● よくある設計を サクッと使えるように 42 Local Server Upload Download &Build & Test Play
  43. 43. トライアンドエラーをやりやすく ● 規模が増えたときのビルドの手間を大分軽減する。 ● 現状、利用条件がそこそこ厳しいので 何を使うか、利用できるかは要確認。 43
  44. 44. グラフィックス関連 44
  45. 45. High Definition RP 45
  46. 46. High Definition RP 46 Physical Based Rendering 実際の世界に存在する数値や 測定値を設定に使用できる Materialだけではなく、 Light、Cameraの物理的な 整合性に大きく踏み込んだ
  47. 47. Material High Definition RP 47 HDRP/Lit Shader
  48. 48. High Definition RP 48 Lighting Physical Light Unit (PLU)
  49. 49. High Definition RP 49 Camera & Post Process Physical Camera Settings
  50. 50. Camera & Post Process High Definition RP 50 Aperture (絞り) Shutter Speed (シャッター速度) 値を小さく値を大きく ボケが大きくなるボケが小さくなる ブレが大きくなるブレが小さくなる 値を大きく値を小さく 暗 明適正 Physical Camera Settings
  51. 51. High Definition RP 51 Light + Camera + Post Process
  52. 52. High Definition RP 52 ・結果だけでなく考え方からフォトリアル  誰もが高品質でリアルなグラフィックを作れる ・徹底した物理ベースで曖昧な要素は減ったが、  それだけ実写の知識が従来よりも重要に ・とても先鋭的なRender Pipeline  Universal RPとの二本立てだから実現できた…⁉    
  53. 53. Universal RP 53 ・軽量、シンプルなPBR ・Post Processing Stack V3 ・Single Pass Forward Renderingのライト数増 ・Custom Renderer     ・Camera Stacking (Package 7.2.0 予定) ・Deferred Rendering (2020.1 予定) ・SSAO (???)    Light Weightの枠を越えてより汎用的なパイプラインに  
  54. 54. 2D Graphics 54
  55. 55. Lighting 2D Graphics 55 Light 2D & Shadow
  56. 56. Lighting 2D Graphics 56 Normal Map
  57. 57. 2D Graphics 57 Lighting Shader Graph
  58. 58. 2D Graphics 58 Workflow Sprite Editor
  59. 59. 2D Graphics 59 Workflow 2D Sprite Shape
  60. 60. Lost Crypt - 2D Sample Project 60 Unity Asset Store ・Unity2019.3~ ・2D Templateから https://assetstore.unity.com/packages/e ssentials/tutorial-projects/lost-crypt-2d-sa mple-project-158673 Unity Blog https://blogs.unity3d.com/2019/12/18/d ownload-our-new-2d-sample-project-lost-c rypt/
  61. 61. おしまい 61

×