【Unity道場 2016】Unity5.4&5.5新機能キャッチアップ講座

>100 Views

July 15, 17

スライド概要

Unity 5.4からUnity 5.5で新しく追加された機能を軽く紹介します。

profile-image

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

シェア

またはPlayer版

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

ダウンロード

関連スライド

各ページのテキスト
1.

Unity 5.4 & 5.5 新機能キャッチアップ講座(前)

2.

自己紹介 山村 達彦 ユニティ・テクノロジーズ・ジャパン - フィールドエンジニア - エヴァンジェリスト - サポート Blog:テラシュールブログ Twitter:@tsubaki_t1

3.

Unity 5.4の新機能

4.

PostEffectの強化

5.

Cinematic Image Effect ・次の標準アセットとなる予定の Image Effect ・Bitbacketにて OpenSourceで開発中 シネマティックイ メージエフェクト (プレリリース) Unity Essentials/Beta Content Unity Technologies ★★★★★ (265) 無料 Unityで開く Unity 5.3.5 以降のバージョンが必要 Unity 5.3以降でお試しいただける、現在α 版あるいはβ版のイメージエフェクト集で す。 このイメージエフェクトの概要は公式ブログ

6.

Depth Of Field

7.

Ambient Occlusion

8.

Screen Space Reflection

9.

Tone mapping Color Grading OFF ON

10.

Bloom

11.

Cinemati Image Effect • Ambient Occlusion • AntiAliasing • Bloom • DepthOfField • LensAberrations • Motion Blur • ScreenSpace Reflection • Tonemapping ColorGrading

12.

Scene ViewでImageEffectの動作を確認 Skybox Fog Flares Animated Materials Image Effects

13.

Motion Vector • スクリーン上でピクセルの要素が どの程度動いたかを計算して記録する • モーションブラーやTemporal AAのような 表現に使用する

15.

Motion Vector Field • Motion Vectorの作成は、 Mesh Renderer単位 • 設定されていた場合、 Motion Vectorを作る時に 利用する 5.4はONかOFFの設定のみ、 5.5はPreObjectMotionと CameraMotion、OFFが設定可能 Mesh Renderer Cast Shadows Receive Shadows Motion Vectors Materials Light Probes Reflection Probes Anchor Override On Per Object Motion Blend Probes Simple None (Transform)

16.

VR周りの強化

17.

Single Path Stereo Rendering • 左右の目に表示するオブジェクトを 一度のパスでレンダリング • =両眼にレンダリングする物を 最適化する機能 • Image Effectを使用する場合、 対応する処理が必要 (現Standard Assetsのエフェクトは対応済) GPU Skinning* Graphics Jobs (Experimenta Virtual Reality Supported Virtual Reality SDKs Oculus OpenVR Single-Pass Stereo Renderir Configuration Scripting Backend Disable HW Statistics Mono2x

18.

VRのマルチデバイスサポート Virtual Reality Supported Virtual Reality SDKs Oculus OpenVR Single-Pass Stereo Configuration Scripting Backend Disable HW Statistic Scripting Define Symbols Oculus Stereo Display (non head-mounted) Split Stereo Display (non head-mounted) OpenVR None

19.

処理のマルチスレッド化

20.

Main thread 5.3 10.6 5.4 7.4 5.4+DW 4.0 5.4+DW+R 1.9 Render thread 5.3 14.3 5.4 11.0 5.4b+DW 7.3 5.4B+DW+R 7.2 Time in MS DW: Double wide rendering RL: Render Loop Jobs (Experimental)

21.

Job System • パーティクル、スプライト表現、フレア、ライン、トレ イル等の表現と同じようにマルチスレッド化

22.

GPU Instancing

23.

GPU Instancing 同一メッシュ・同一マテリアルを GPUにお願いして一括描画する 幾つかのパラメータをユニークにする事も 出来なくもない Skinned Meshを使う場合は 工夫が必要 5.5でSpeedTreeに対応 5.5b6でモバイルにも対応

24.

...工夫

25.

ライティング

26.

Final Gatherにノイズ除去フィルターを追加 BEFORE AFTER

27.

Light probe Proxy Volume

28.

Light probe Proxy Volume • メッシュにLightprobeの影響を受けるグリッドを作り 段階的に影響を受けられるようにする仕組み (通常1メッシュにつき1つのLightprobeしか持たない) • 部分的な影響を与えられるので、動的に配置した オブジェクトでも結構綺麗に見える

29.

Light probe add direct lightの追加

30.

Shadow Custom Resolution

31.

Open GL Coreのサポート

32.

Open GL Core • Shader Model 5 • Compute Shader • テッセレーション • Macで動く(個人的に重要

33.

Mesh Mesh with Phong Tess Mesh with Phong Tess Mesh with Phong Tess

34.

Mesh Mesh with Phong Tess Mesh Mesh with Phong Tess

35.

AndroidのIL2CPP対応 Identification Bundle Identifier Version* Build iOS Developer Team ID com.Company.ProductName 1.0 0 Configuration Scripting Backend Target Device Target SDK Target minimum iOS Versio Mono2x IL2CPP iPhone + iPad Device SDK 6.0

36.

AndroidのIL2CPP対応 • MonoのコードをIL2CPPでC++ → NDK • 現状、ファイルサイズは若干monoより大きい • 5.3までExperimentalで、debug情報込 • ビルド時間は長い(ので開発はMono推奨)

37.

その他細かい変更

38.

Playable API Legend AnimationMixerPla AnimationClipPlay Edge weight 0

39.

Playable API • 単一のアニメーションクリップを 再生する • アニメーションコントローラー不要 • アニメーションコントローラー同士の ブレンドも可能 • スクリプト操作必須

40.

Transform制御の強化

41.

Transform制御の強化 • Transformの処理にSIMDを利用する • 親子関係の解決にOnTransformChildrenChangedを 使用するように

42.

小話 • SIMD=コンピュータやマイクロプロセッサで並列処理を 行なうための設計様式の一つで、一つの命令を同時に複 数のデータに適用し、並列に処理する方式。 • 他には、物理演算やスキニング、幾つかの処理に使用

43.

Prefabをインスタンス化して、オブジェクト 下に配置するケース Create Untitled* Prefab GameObject A GameObject B Root

44.

OnTransformParentChanged (5.3以前) Hierarchy Create Untitled* Root Prefab GameObject A GameObject B 親の状態変わった 親の状態変わった 親の状態変わった

45.

OnTransformChildrenChanged (5.4以降) Hierarchy Create Untitled* Root Prefab GameObject A GameObject B 子の状態変わった

46.

Unity 5.5の新機能

47.

新しいAnimation Window

48.

新しい Splash Screen

49.

新しいスプラッシュスクリーン • 新しいスプラッシュスクリーン • iOS/Androidの場合、本来の スプラッシュスクリーン後に呼ばれる • Personalでも変更が可能 但し、その場合は小さいUnityロゴ もしくはUnityロゴを順番に表示する

50.

Full Binary Shader Serialisation

51.

Full Binary Shader Serialisation Graphics APIに渡すシェーダーを バイナリとして保持、受け渡しする。 5.3と比較して、消費メモリが減少、 かつロードが高速化。

52.

Standard Shaderの品質設定 Standard Shaderの品質が GraphicsSettingsより設定出来るように。 モバイルは今まで通りLOW推奨 VR向けの場合、場合によってはLOWにする のもアリかもしれない。

53.

Standard Shader : High Standard Shader : Low

54.

新しい画像フォーマット

55.

追加で画像フォーマットに対応 • iOS • ASTC 6x6 ~ 12x12 (要A8以上のCPU) • PC • BC7, BC6H Default Override for iOS Max Size Compression Format Compressor Quality 1024 RGBA Compressed ASTC Best

56.

ASTC 4 x 4 1 MB ASTC 6x6 0.49 MB ASTC 8x8 0.25 MB ASTC 16x16 0.1MB PVRTC 0.5 MB True Color 3.2 MB

57.

PVRTC ASTC 6x6

58.

2D物理演算の改良

59.

Rigidbody2Dの強化 • Rigidbody 2Dを停止 するSimulatedを追加 • SimulatedがOFFの時 物理演算に参加しない Rigidbody 2D Body Type Material Simulated Use Auto Mass Mass Linear Drag Angular Drag Gravity Scale Collision Detection Sleeping Mode Interpolate Constraints Info Dynamic None (Physics Material 2D) 1 0 0.05 1 Discrete Start Awake None

60.

物理演算に参加しない...の意味 simulated:OFF simulated : ON

61.

新しい設定「static」 staticは動かないオブジェクトに設定 動かす時はIsKinematicもしくは Dynamicに必ず切り替える。 rigidbody2dの無いcollider2dは 暗黙的なstatic Collider Rigidbody 2D Body Type Material Simulated Info Static None (Physics Material 2D)

62.

Cancel Collider 2D 上のBoxColliderと 噛み合う事がある 多分大丈夫

63.

Scene制御

64.

Scene Set シーンを一括でロードする エディタ専用(何故…)

65.

AssetBundle構築の強化

66.

AssetBundle 構築強化 link.xmlを記述せず、スクリプトをStripしない設定を追加する。 ストリップの判定は、Manifestに記述されていた内容も考慮される。 スクリプトのBuildPipeline.BuildPlayerでビルドした場合にのみ対応 Build OptionでManifestがあるフォルダを指定必要がある。

67.

Asset Bundle uGUIを使う Built In uGUIを使わない Player uGUI 含まない 出力

68.

Asset Bundle uGUIを使う Built In uGUIを使わない Player uGUI 含まれる 出力 Manifest確認

69.

Linear Space モバイルのリニアカラー対応 Gamma Space

70.

Linear Colorの設定 使用条件 - AndroidはOpenGL 3かつAndroid 4.3以上 - iOSはMetalかつiOS 8以上で使用可能 Debugging and crash reporting Other Settings Rendering Color Space* Auto Graphics API Graphics APIs Metal Force hard shadows on Met

71.

ライン&トレイルレンダラー拡張

72.

5.4

73.

5.5

74.

色、幅・太さ、角の丸めなど、すべてスク リプトからも制御可能 Line Renderer Cast Shadows Receive Shadows Motion Vectors Materials Size Element 0 Lightmap Parameters Positions Size Element 0 Element 1 Element 2 Use World Space Width Color Corner Vertices End Cap Vertices Reflection Probes VertexColor None (Lightmap Parameters) 10 10 10 -10 20 20 20 Line Renderer Cast Shadows Receive Shadows Motion Vectors Materials Size Element 0 Lightmap Parameters Positions Size Element 0 Element 1 Element 2 Use World Space Width Color Corner Vertices End Cap Vertices Reflection Probes VertexColor None (Lightmap Parameters) 10 10 10 -10 20 20 20 20 10

75.

PBRチェックエディタ

76.

Look Devツール • アーティスト向けの モデル(Prefab)確認ツール • 色々な環境に対して どう見えるかを比較して チェックできる

78.

その他…

79.

Gizmoがアウトラインに変更 選択中のオブジェクトにアウトライン 従来のワイヤーフレームに戻す事も出来る アウトラインの色も変えられる

80.

Local Cache Server キャッシュサーバーをローカルに インストール プラットフォームを切り替えた時やインポートの際、 GUIDとフォーマット・プラットフォームが一致するならば、 キャッシュよりリソースをダウンロードする。

81.

And NEW...

82.

Monoのバージョンアップ .NET 4.6 .NET 2.0 Subset .NET 4.6

83.

Mono 4.6 + C#6 • 現状エディタのみ動作 • Seen GCは動作が安定したら搭載する予定 https://forum.unity3d.com/forums/experimental-scripting- previews.107/

85.

• Atlas Assets(フォルダやグループで纏めてAtlas化) • Axis Distance Sort(z軸でTransparentをソート) • Composit Collider(コライダーの結合) • Pyscis Shape Editor(コライダーがどう作られるかを制御) • Tilemap https://forum.unity3d.com/forums/2d- experimental-preview.104/

86.

Progressive Lightmapper

87.

Progressive Lighmapper SceneViewが見ている部分を優先して ベイクするライトマッパー 少しの変更を確認するのが容易

88.

その他

89.

その他 • Daydream対応 • Valkan対応 • 新しいinput system • Mixed想定のライティングシステム

90.

Thank you!