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

1.6K Views

January 27, 20

スライド概要

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

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

profile-image

リアルタイム3Dコンテンツを制作・運用するための世界的にリードするプラットフォームである「Unity」の日本国内における販売、サポート、コミュニティ活動、研究開発、教育支援を行っています。ゲーム開発者からアーティスト、建築家、自動車デザイナー、映画製作者など、さまざまなクリエイターがUnityを使い想像力を発揮しています。

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

新機能たち 大下 岳志 @ Unity 山村 達彦 @ Unity Generative Art — Made with Unity 知って得する、 テンションが上がりそうな

2.

アジェンダ ● エンジニアリング関連 ● グラフィックス関連 2

3.

エンジニアリング関連 3

4.

パフォーマンスの計測を、もっとやりやすく 4

5.

Profile Analyzer ● パフォーマンス上の ボトルネックを 見つけやすくする機能 ● ● ● 最も大きな問題は何処か? 瞬間的な問題か? ちゃんと問題は解決したか? 5

6.

使う流れ(1) ● プロファイラの結果を Profile Analyzerに出力 6

7.

使う流れ(2) ● プロファイル結果を 範囲で取得 ● 負荷の傾向を 取得する際に便利 7

8.

使う流れ(3) ● 負荷の割合を確認 重い処理を重点的にチェック 8

9.

使う流れ(4) ● 処理の傾向を確認 ● 稀に高い負荷なのか 常に高い負荷なのか ● 負荷が高いフレームは どのフレームか 9

10.

コードを修正… 10

11.

使う流れ(5) ● 変更前と変更後を比較 11

12.

使う流れ(6) ● 負荷が高い方に グラフが傾く ● 最適化の効果や サイドエフェクト等を確認 12

13.

Profilerの上限が上昇 ここ ● 保有可能な フレーム数が 300から2000へ 13

14.

パフォーマンスの計測を、もっとやりやすく ● Profiler Analyzerでボトルネックの探索から 最適化の結果を計測する所までサポート。 ● Profilerの保持フレームも増えたので、 全体的に最適化がやりやすくなった。 14

15.

もう少しイケてる入力システム 15

16.

New Input System ● 新しい入力システム ● 従来のInputManagerと 同時に利用可能 ● 多少、入力のカスタムや ローカルマルチプレイが楽 ● 慣れると使いやすい(主観) 16

17.

複数の入力タイプで同じような開発 ● 入力を抽象化し、 デバイスの入力結果を 流し込む。 ● デバイスは 複数種類を 登録することも可能 17

18.

複数の入力タイプで同じような開発 18

19.

複数の入力タイプで同じような開発 19

20.

モバイルでの入力 入力 入力 20

21.

フレームに依存しない入力の受付 フレームレート以上の間隔で 入力を受け取れる。 右)16FPSで動かした時の動作 白い線:InputSystem(新) 赤い線:InputManager(旧) 21

22.

フレームに依存しない入力の受付(1) A 22

23.

フレームに依存しない入力の受付(2) A A 23

24.

フレームに依存しない入力の受付(3) A A 24

25.

On-demand rendering 描画をスキップして発熱と電池消費を抑える 25

26.

もう少しイケてる入力システム ● New Input Systemは複数のデバイス対応が 多少やりやすくなった。 ● フレームに依存しない入力も含めて、 ローレベルな調整が可能に。 26

27.

かなり楽になったECS 27

28.

ECSの基本 ● 操作したい対象を 保持データの組み合わせで フィルタリング。 ● フィルタリングの結果に 対して一括処理。 (バッチ処理) 28

29.

ECSの速度 ● ECSは早い。 ● DOTS全部使うと 大分早い。 https://www.youtube.com/watch?v=yTGhg905SCs 29

30.

ECSのビフォアアフター(前) 処理対象の絞り込み 絞り込んだ対象に適応する処理 ジョブの登録 30

31.

ECSのビフォアアフター(後) 処理対象の絞り込み 絞り込んだ対象に適応する処理 ジョブの登録 31

32.

ILPostProcessor(いままで) .NETが生成したILに手を加える機能 IL2CPP .NET C++ C# IL Assembly Burst 32

33.

ILPostProcessor(これから) .NETが生成したILに手を加える機能 IL2CPP .NET C++ C# IL IL Assembly ILPostProcessor Burst 33

34.

ビジュアルスクリプティング ● ノードグラフから C#のコードを生成 ● マルチコア対応のコー ドも生成可能 ● 適当に作っても速い ● ECSベースの設計 34

35.

Visual Scriptingの使い方 処理対象の絞り込み 絞り込んだ対象に適応する処理 35

36.

かなり楽になったECS ● シンプルな実装で利用可能になった。(当社比) ● ビジュアルスクリプティングが登場。 ● ステータスはPreview (ただAPIの劇的変更は大分なくなった) 36

37.

トライアンドエラーをやりやすくする 37

38.

動作のチェックには時間がかかる Playボタンを押す (5秒〜n分) ビルドする (2分〜n時間) 38

39.

Enter Play Mode Settings ● シーンとドメインの リロードを止める オプション。 ● エディターでゲームを 再生するまでの時間を 劇的に短縮。 (20秒を1秒未満に) 39

40.

LiveLink ● エディターの 変更をゲームに 直接プッシュ ● ゲームの再ビルド 無しにゲームを更新 (※開発用のみ) ● ECS向け 40

41.

Introduction to the DOTS Sample and the NetCode that drives it DOTSSample(Github) https://github.com/Unity-Technologies/DOTSSampl e https://www.youtube.com/watch?v=P_-FoJuaYOI 41

42.

Addressableを用いたアセットの更新 ● Addressableで配信する アセットを更新する Local Server Build & ● よくある設計を サクッと使えるように 42 Upload Download & Test Play

43.

トライアンドエラーをやりやすく ● 規模が増えたときのビルドの手間を大分軽減する。 ● 現状、利用条件がそこそこ厳しいので 何を使うか、利用できるかは要確認。 43

44.

グラフィックス関連 44

45.

High Definition RP 45

46.

High Definition RP Physical Based Rendering Materialだけではなく、 Light、Cameraの物理的な 整合性に大きく踏み込んだ 実際の世界に存在する数値や 測定値を設定に使用できる 46

47.

High Definition RP Material HDRP/Lit Shader 47

48.

High Definition RP Lighting Physical Light Unit (PLU) 48

49.

High Definition RP Camera & Post Process Physical Camera Settings 49

50.

High Definition RP Camera & Post Process Physical Camera Settings ボケが小さくなる 値を大きく 暗 Aperture (絞り) ボケが大きくなる 値を小さく 明 適正 値を小さく ブレが小さくなる 値を大きく Shutter Speed (シャッター速度) 50 ブレが大きくなる

51.

High Definition RP Light + Camera + Post Process 51

52.

High Definition RP ・結果だけでなく考え方からフォトリアル 誰もが高品質でリアルなグラフィックを作れる ・徹底した物理ベースで曖昧な要素は減ったが、 それだけ実写の知識が従来よりも重要に ・とても先鋭的なRender Pipeline Universal RPとの二本立てだから実現できた…⁉ 52

53.

Universal RP ・軽量、シンプルなPBR ・Post Processing Stack V3 ・Single Pass Forward Renderingのライト数増 ・Custom Renderer ・Camera Stacking (Package 7.2.0 予定) ・Deferred Rendering (2020.1 予定) ・SSAO (???) Light Weightの枠を越えてより汎用的なパイプラインに 53

54.

2D Graphics 54

55.

2D Graphics Lighting Light 2D & Shadow 55

56.

2D Graphics Lighting Normal Map 56

57.

2D Graphics Lighting Shader Graph 57

58.

2D Graphics Workflow Sprite Editor 58

59.

2D Graphics Workflow 2D Sprite Shape 59

60.

Lost Crypt - 2D Sample Project 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/ 60

61.

おしまい 61