Search Unity

Unity 2017.3はUnity 2017の最後のリリースとなります。多数の新機能と改善が追加されました。

Unity 2017.3には様々な新機能が追加され、既存機能が改善されましたが、それらの詳細をご紹介する前に、Unity 2017のおさらいをしてみましょう。(先に新機能詳細を読みたい方は下の「Unity 2017.3の新機能」以降をご参照ください。)

Unity 2017のリリースサイクルでは、アーティストやデザイナーと開発者がUnityを使った制作においてコラボレーションできるよう、機能を充実させてきました。TimelineやChinemachineUnity FBXエクスポーターなど、ドラッグ&ドロップで映像クリップを編集できるパワフルなツールやアーティストにとって作業しやすいワークフローが実現できるツールなどです。

グラフィックスの質を向上し、ランタイムの性能を上げるためにも、サポートするプラットフォーム(デスクトップ、ゲームコンソール、モバイル、VR、AR、スマートTV)の最新の機能を活かし、最新のGPUの性能とネイティブグラフィックスAPIを活かせるようアップデートを継続しています。 映像作品のAdam デモ及びショートフィルムはその事例となります。

他にも改善された2DツールやUnity Teamsのサービス開始など、生産性の向上に役立つ機能を追加しました。最後に、データを活用する新しい方法(Unity Ads、IAPとLive-Ops Analyticsなど)を提供し、ゲームの性能をリアルタイムに最適化し、売上げを最大化することをサポートしています。

Unity 2017.1、2017.2、2017.3にてこれらの機能をリリースしていますが、以下のスライドに機能リストをまとめました:

Unity 2017.xを使用して制作された作品をいくつかご紹介します(開発中のものも含む):

 

Oats Studios / ADAM: The Mirror & Episode 3

Spiraloid / Nanite Fulcrum
KO_OP / GNOG

Baobab Studio / Asteroid!

EpicHouse Studios / Phased

Cybernetic Walrus / Antigraviator

Rebel Twin / Dragons Hill 2

Slow Bros / Harold Halibut

WITHIN / Life of Us

Seriously / Best Fiends

Monomi Park / Slime Rancher

 Videogyan / TooToo Boy

 

Unity 2017.3の詳細紹介に入る前に、Unity 2017.xで作られたゲームや作品と、新機能や改善のハイライトをまとめた動画をご覧ください。

Unity 2017.3の新機能

2017年12月、Unity 2017リリースサイクルの総仕上げとしてUnity 2017.3がリリースされました!Unity 2017.3では開発者やアーティストに向けての様々な新機能や改善が追加されました。今回は特にインタラクティブな360度動画を作るツールセットの改善がハイライトです。

主な新機能と改善は以下の通り:

パノラマ360度/180度動画

パノラマ360度/180度動画や2D/3D動画を制作するワークフローが改善されました
。  様々なスタイルの2Dや3Dの動画をUnityに取り込み、スカイボックスで再生してスタンドアロンデバイスやモバイルやXRランタイムをターゲットに360度動画体験を作り出すことが簡単にできます。

パーティクルシステムの改善

改善は主にUnlitとSurfaceパーティクルシェーダーとパーティクルのリボン状のトレイル(軌跡)です。パーティクルが発生した後の経過時間を考慮するようになり、リボン状のトレイルの各点はそれぞれパーティクルにて表現されているため、アニメーションすることが可能で、例えばNoise Moduleと共に使うことも可能です。

プロジェクト内のスクリプトのコンパイル – ユーザー定義のアセンブリにより効率化

アセンブリ定義ファイルを使うと、フォルダー内のスクリプトに基づいて定義されたマネージドアセンブリに分割することができます。プロジェクト内のスクリプトを複数のアセンブリに分割することにより、Unityエディター内のスクリプトのコンパイル時間が、大きいプロジェクトほど大幅に削減できます。

メモリープロファイラーのサポート
APIのMono/.NET 2.0 サポートにより、管理メモリーのスナップショットが取得できるようになったので、Unityエディターから直接メモリーのスナップショットを取得することができるようになりました。

Crunchライブラリーの改善

CrunchライブラリーのDXTテクスチャー圧縮が最大で2.5倍早く、圧縮率が10%向上しました。さらにETC_RGB4とETC2_RGBA8テクスチャー圧縮に対応し、iOSとAndroidでも使用できるようになりました。

グラフィックスの改善

PC、Xbox One、PlayStation 4にてHDR圧縮ライトマップ(BC6H)がサポートされました。GPUインスタンシングにも多数の改善が行われ、エンジンの機能としてDynamic ResolutionをXbox Oneプラットフォーム向けに追加しました。他のプラットフォームに向けても今後対応する予定です。

ライティングの改善

Progressive Lightmapperにライティングモード(Baked Indirect、Shadowmask、Subtractive)が追加されました。LOD(Level Of Detail)サポートとリアルタイムプローブで、より直感的なワークフローが可能になりました。また、より高品質のビジュアルを表現するためにベイクされたライトマップのHDRエンコーディングをサポートしました。

VRデバイス情報

VRデバイスのリフレッシュレート、ディメンジョン、アスペクト率、HMDとコントローラーのトラッキングをデバイス情報やデバイスのステータスイベントとして取得でき、VRコンテンツやゲームの最適化やチューニングに活用できます。

フィジックス

Cloth(布)シミュレーションにおいてセルフコリジョンやインターコリジョンの改善、頂点の制限編集が改善されました。

アニメーション

Unity 2017.3では、Playableのスケジューリング対応を追加しました。これにより、実際に動作するまでの時間を事前に取得することができます。まずはAudioClipPlayablesに実装されます。今後は他のアセット、音声、動画やタイムラインにも実装を広げる予定です。アニメーターコントローラー内にて整数とenum型のアニメーションパラメーターをサポートしました。スクリプトからこれらの値を定義することができるので、アニメーションのステートマシーンのフローがより制御しやすくなります。新しく「2D」モードボタンをアニメーションプレビューウィンドウに追加しました。また、アニメーターウィンドウにてズームとフレームと自動フィットを追加しました。

Xbox One Xサポート

新しくMicrosoftのXbox One Xをサポートしました。Quality Settingsから4K HDRレンダリングを有効にすることができます。またはフレームレートを改善したりグラフィックスの再現性を上げるなどで同様の効果を得ることも可能です。Unity 2017.xのすべてのリリースにてXbox One Xをサポートします。

Xiaomi: 中国のXiaomiストアでAndroidアプリをパブリッシュするために、UnityエディターからターゲットにXiaomiを選択できます。

2016年11月に、UnityとXiaomiはパートナーシップを発表し、中国でAndroidストアとしては最大のXiaomiを利用する2億人ものユーザーに向けてゲームをリリースできるように協業を開始しました。それ以降、複数のゲームタイトルがXiaomiストアにてリリースされてきました。今年11月の終わりにはXiaomiの新しいストアへパブリッシュできるようになりました。詳しくは FAQとスタートガイド(英語)をご参照ください。

Standard Events

Standard Eventsが正式にリリースされました。Unity 2017.3からはエディターから直接操作することができます。またファネルテンプレートを提供しているので、Standard Eventsと使用することで共通ファネルを作成して数クリックでインサイトを得られるようになります。

エディター/エンジン

スクリプトのコンパイルの効率化 – アセンブリ定義ファイル

Unityでは自動的にスクリプトにてアセンブリが定義されます。インタラクションのためのスクリプトをプロジェクトに追加していくと、Unityエディター内のコンパイル時間が長くなることがよくあります。

アセンブリ定義ファイルにより、フォルダー内のスクリプトに基づく独自のアセンブリを定義することができます。プロジェクト内のスクリプトを複数のアセンブリに分割する際は、依存関係に配慮して、スクリプトに変更を加えた際には影響を受けるアセンブリのみリコンパイルされるようにしてください。これにより、特に大きなプロジェクトについてはコンパイル時間を大幅に削減することができます。

分割されたアセンブリは、Unityプロジェクト内ではそれぞれライブラリーとして考慮されます。

上の図ではプロジェクト内のスクリプトを複数のアセンブリに分割している様子を表しています。Main.dll内のスクリプトのみ変更が行われるので、他のアセンブリはリコンパイルされません。また、Main.dllには少量のスクリプトのみ含まれるため、Assembly-CSharp.dllをコンパイルするよりも早くコンパイルが終わります。

同様に、Stuff.dllにのみ変更が加えられた場合には、Main.dllとStuff.dllだけリコンパイルされます。

アセンブリ定義ファイルについては新機能プレビューブログ(英語)をご参照ください。

メモリープロファイラーのMono .NET 2.0サポート

2015年に実験的な機能としてIL2CPPをサポートするメモリープロファイラーをリリースしました。Unityハックウィークプロジェクト(社内ハッカソン)から生まれたこの機能は、BitBucketにてオープンソースプロジェクトとしてリリースされてきました。BitBucketのメモリープロファイラープロジェクトのページにて機能の詳細とデモ動画をご覧いただけます。

APIにMono / .NET 2.0サポートを追加し、メモリーのスナップショットを取得できるようにしました。これにより、Unityエディター内でメモリーのスナップショットを取得することができます。


新しい図形編集ツール

Transformツールは、複数の機能を含むツールで、標準的な3つの機能、移動、回転、縮小・拡大の機能が含まれています。これらの既存の3つの機能を置き換えるものではなく、これらの3つの機能を同時に使いたい時にツールを切り替えずに一つのツールで操作・編集できます。

ワールドgizmo

ピボット回転を「Global」モードにすると、ゲームオブジェクトをグローバル座標軸に沿って回転させたり変更することができます。

座標変更/地面変更

 

座標回転/スクリーンスペースの回転/自由回転

 

グローバルスケーリング

 

ローカルgizmo

ピボット回転を「Local」モードにすると、ローカルの座標に沿って縮小・拡大することができます。

ローカル座標のスケーリング

 

スクリーンスペースGizmo

キーボードにて「SHIFT」キーを押したままにすると、スクリーンスペースモードになります。

このモードでは、スクリーンスペース内で変更・回転ができます。

座標変更/地面変更/座標回転とグローバルスケーリング

 

スナッピング

キーボードにて「CTRL」キー(Windows)または「Command」キー(MacOS)を押したままにすると、 ユニットでの以下のスナップが可能になります:

  • 座標変更
  • 地面変更
  • 座標回転
  • 座標スケーリング
  • グローバルスケーリング

 

地面の変更/座標変更/グローバルスケーリングと座標回転

頂点スナップ

キーボードにて「V」キーを押したままにすると、頂点スナップモードになります。これは複数のゲームオブジェクトの頂点を揃えることができます。


Cinemachineカメラシステム

Ciinemachineはゲーム内のカメラで、映画のようなカメラ演出やカットシーン、映像を事前にビジュアライズしたりできる機能で、多数の新機能と改善が追加されました。

改善は以下の通り:

  • ポストプロセッシングスタックv2betaのサポート
  • カーブフィーラーに代わり新たにコライダーが実装され、ターゲットに対するカメラの高さや距離などがより高度なアルゴリズムで計算されます。
  • 新しいフレームトランスポーザーにより、カメラは回転せずに動き、構成とフレームの規則に配慮します。
  • 新しいCinemachine MixingCameraにより、最大8つの仮想カメラのブレンディングをタイムラインまたはゲームロジックにて行うことができます。これを利用してカスタムブレンドで複雑なリグを実装し仮想カメラとして使うことができます。

他の新機能や改善にはドリーカメラ、POV、ファーストパーソンシュータータイプ、エイムコンポーネントなどがあります。

新機能や改善のリストは公式フォーラムのスレッド(英語)をご参照ください。

Cinemachineの機能はUnityアセットストアから最新版をダウンロードしてご利用ください。

グラフィックス

Progressive Lightmapper(プレビュー版)

ライティングモードのサポート

Unityでは、ライティングの事前計算処理と構成を制御でき、達成したいレベルの効果をライトに複数のモード(Realtime、Mixed、Baked)を割り当てることで得ることができます。Mixedモードではリアルタイムシャドウディスタンスを大幅に削減でき、パフォーマンスが向上します。
また、グラフィックスの再現性を高めるより長いシャドウディスタンスもリアルタイム鏡面ハイライトと共にサポートされました。

Unity 2017.3では、Progressive Lightmapperでも同様に以下のライトモードを割り当てて同じことができます:

Baked Indirect モードでは、Mixedライトはベイクされたライトマップとライトプローブをサンプルした追加の間接ライティングと共にリアルタイムな動的ライトのように振る舞います。霧のような効果はリアルタイムシャドウディスタンスの届かない範囲でも使用できます。

Shadowmask モードでは、Mixedライトはリアルタイムで、静的オブジェクトからの影はシャドウマスクテクスチャーとライトプローブにベイクされます。これにより影を離れた距離から描写できキャストされる影の描写を大幅に減らすことができます。この機能はQuality SettingのShadowmaskモードの設定に基づきます。

Subtractiveモードでは、直接ライティングはライトマップにベイクされ、静的オブジェクトはMixedライトからの鏡面ハイライトや光沢のあるハイライトは持ちません。動的オブジェクトはリアルタイムに光を発し、ライトプローブを通じて静的オブジェクトから事前に計算された影がかかります。メインの指向性ライトにより動的オブジェクトは静的オブジェクトにサブトラクトのリアルタイムの影を落とすことができます。

Progressive Lightmapperの各ライトモードを試す際には、シーンにてがMixedライトがあるか確認し、 Lighting WindowにてLightingモードを選んでください。


リアルタイムプローブとベイクされたライトマップとライトLODs

 ベイクされたライトマップに加えて、リアルタイムライトプローブでもLOD(Level Of Detail)のためにライティングを生成できるようになりました。これによりユーザーはより直感的なワークフローでライティングを編集できます。LODではカメラが遠い場所にあると複雑でないメッシュを、近い場所にあると複雑なメッシュを持ちます。これにより遠い場所にあるオブジェクトを描写する計算コストが削減できます。UnityのLODシステムをベイクされたライティングとリアルタイムGIのシーンで使用すると、LODグループの中から最も詳細なモデルをライトし、それが通常の静的モデルであるかのように振る舞います。直接ライティングと間接ライティングのためのライトマップを使用し、リアルタイムGIでは別のライトマップを使用します。

LODグループの中でもより低レベルのLODでは、ライトプローブまたはライトプローブプロキシボリュームからのベイクされたライトマップとリアルタイムGIと組み合わせることができ 、これらはLODグループの周囲に配置する必要があります。

Unity 2017.3にてベイキングシステムがリアルタイムまたはベイクされたライトマップを生成するには、関連するゲームオブジェクトのRendererコンポーネントでLightmap Staticが有効になっていることを確認してください。

このアニメーションではリアルタイムアンビエントカラーがより低レベルのLODによって使用されたリアルタイムGIにどのように影響しているかを表しています:


ライトマップパイプラインでのHDRサポート


HDR圧縮ライトマップ(BC6H)サポートをPC、Xbox One、PlayStation 4にてサポートしました。これにより、より美しいシーンを表現できます。High Qualityライトマップを使用すると、ライトマップ値をRGBMでエンコードせず、16ビット浮動小数点値を使います。その結果、サポートされる値は0〜65504に広がります。BC6Hフォーマットはまた、DXT5とRGBMの組み合わせで使うと効果的で、RGBMエンコーディングに由来する縞模様のようなアーティファクトを生成せず、カラーのアーティファクトはDXT圧縮に由来します。HDRライトマップをサンプルする必要があるシェーダーのALU演算が2、3つ分短いのはサンプルされた値をデコードする必要がないためで、BC6HフォーマットはDXT5と同じくらいGPUメモリーが必要です。

HDRの設定は簡単で、Player SettingsからLightmap EncodingオプションをHigh Qualityに設定してください。

High Qualityを選ぶことで、HDRライトマップサポートが有効になり、Normal QualityはRGBMエンコーディングになります。


ライティングウィンドウでライトマップ圧縮が有効になると、ライトマップはBCGH圧縮フォーマットで圧縮されます。

GPUインスタンシングの改善

GPUインスタンシングはUnity 5.6で導入され、メッシュの複数のコピーを同時に描写するため、シーン当たりのドローコールを削減できます。これによりレンダリングのパフォーマンスが大幅に改善されます。

GPUインスタンシングには多数の改善が加えられました。例えばインスタンス毎のプロパティは構造データタイプに格納され、インスタンシングの定数バッファにはこの構造の1つのアレイだけ含まれます。

多くのプラットフォームでは、インスタンシングのアレイサイズは自動的に計算され、ユーザーが定義する必要はありません(前述の構造タイプの定数バッファは最大まで使用できます)。
インスタンシングのバッチサイズはバッファサイズの拡大によりOpenGLとMetalにて改善され、インスタンシングシェーダーのバリアントのコンパイルがより早くなり、CPU-GPUデータ帯域という観点で計算コストが下がっているかもしれません。

Crunch圧縮ライブラリーの改善

Unity 2017.3で改善されたCrunchライブラリーでは、 DXTテクスチャーを最大で2.5倍早く圧縮でき。圧縮率は10%程度改善されます。さらに、ライブラリーはETC_RGB4とETC2_RGBA8のテクスチャー圧縮することができ、Crunch圧縮をiOSとAndroidで使えます。

Crunchはデータの劣化を伴う不可逆の圧縮方法で、DXTテクスチャー圧縮とともに使用されます。Crunch圧縮テクスチャーのサイズを小さくし、ダウンロードの時間を削減できます。オリジナルのCrunch圧縮ライブラリーはRichard Geldreich氏により開発され、GitHubにて公開されています。CrunchテクスチャーフォーマットのサポートはUnity 5.3にて初めて追加されました。Unity 2017.3ではCrunch圧縮ライブラリーの更新版を追加しました。

Crunch圧縮されたテクスチャーはまずDXTに解凍され、ランタイム時にGPUにアップロードされます。Crunchを使用したテクスチャーはサイズが小さくなるだけでなく、解凍も早く行われますので、Crunchフォーマットはテクスチャーを配布するのに適しています。しかし圧縮には時間がかかるのが短所で、Crunchを使用する際にはこれらを考慮する必要があります。(例えば大きなプロジェクトになると、Unityエディターで全てのテクスチャーをCrunchフォーマットで圧縮するのに数時間かかることもあります)

特にモバイルゲームでは、ビルドのファイルサイズを小さくできることで、アプリストアのサイズ制限をクリアでき、より多くのユーザーへリーチすることができるでしょう。

Crungh圧縮をAndroid、iOS、tvOSプラットフォームで使用する際にはインスペクターウィンドウでテクスチャーに「RGB Crunched ETC」または「RGBA Crunched ETC2」フォーマットを選択できます。「Use Crunch Compression」オプションをデフォルトタブで有効にすると、全てのAndroidプラットフォームのテクスチャーはデフォルトでETC Crunchで圧縮されます。

下の図は、デフォルトの品質設定でCrunch圧縮されたテクスチャーの例です。最終的なテクスチャーのアーティファクトはCrunch圧縮と選択されたGPUのテクスチャーフォーマット(DXTまたはETC)が使用されます。

元の画像
24 bits/pixel

DXT
4 ビット/ピクセル

Crunch圧縮されたDXT
1.24 ビット/ピクセル

元の画像
24 ビット/ピクセル

ETC
4 ビット/ピクセル

Crunch圧縮されたDXT
1.33 ビット/ピクセル

Crunchテクスチャー圧縮ライブラリーについて詳細はこのブログ記事(英語)をご参照下さい。具体例にてサイズや性能の比較がご覧いただけます。

Xbox OneプラットフォームのDynamic Resolutionサポート

その名前の示す通り、Dynamic Resolutionとは動的に描写対象を拡大・縮小し、GPUの負荷を軽減することです。Dynamic ResolutionはGPU負荷が高くなりゲームのフレームレートが落ちそうになる際に数値を検知して自動的に発動されます。この場合、解像度を徐々に落とす代わりにフレームレートを保持します。また、ゲームにおいて特にGPU負荷の高いシーンなどでフレームレートを落とさないよう設定で発動させることもできます。徐々にスケーリングできれば、Dynamic Resolutionを使っているかは視覚的には目立ちません。


360度動画プレイヤー


今年はじめに追加された新しいビデオプレイヤーにより、360度動画を使い、CGオブジェクトやA
mbisonicオーディオ、視覚効果などを追加することでよりインタラクティブな体験を作ることができます。

Unity 2017.3では、2Dまたは3D動画をUnityに取り込み、スカイボックスで再生してVRプラットフォームを対象にスタンドアロンの360度体験を制作することができます。

Unityでは180度と360度動画のビルトインサポートを追加し、Equirectangular形式(緯度と経度)、またはキューブマップ形式(6 frames)を使用できます。

Equirectangularの2D動画は、360度コンテンツでは縦横比2:1、180度コンテンツでは縦横比1:1でなければいけません。

Equirectangularの2D動画

キューブマップの2D動画は、顔のレイアウトによって縦横比が1:6、3:4、4:3または6:1です:

 

キューブマップの2D動画

Unityにてパノラマ動画機能を使うには、パノラマ動画クリップにアクセスできるか、クリップを作る方法を知っている必要があります。こちらの ドキュメント(英語)にパノラマ動画をUnityエディターで表示させる手順があります。

デスクトップのハードウェアビデオデコーダーは、4K解像度までの制限があり、モバイルのハードウェアビデオデコーダーは2Kまたはそれ以下の制限がある場合がよくあるため、リアルタイムの再生にそれらが影響することを考慮してください。

ARCore SDK プレビュー2 for Unity

開発者向けのプレビュー版では、C API for Android NDK、ARセッションの一時停止とレジューム機能(アプリがレジュームした後にユーザーが一時停止してトラッキングを継続するできる)、ランタイム効率向上、トラック可能なものとアンカーインターフェース(アンカー、地面検知、ポイントクラウド)が改善されました。 詳しくはこちら(英語)をご参照ください。

Vuforia 7サポート

Unity 2017.3ではVuforia 7をサポートし、クロスプラットフォームARアプリ開発がサポートされました。Vuforia 7 はModel Targetsが追加され、3Dモデルを使ってデジタルコンテンツを特定の物体の上に置く(表示させる)ことができます。また、Vuforia Ground Planeでは水平面、例えば床やテーブルの上にデジタルコンテンツを置く(表示させる)ことができます。Ground PlaneはiOSとAndroidデバイスをサポートし、ARKitなどを利用できるプラットフォームで利用できます。Unity 2017でのVuforiaサポートについてはこちらのサイトをご参照ください。

Ground Plane (利用無料) 床やテーブルにデジタルコンテンツを配置します。 Model Targets 新しいクラスのオブジェクトを形状で認識し、ARコンテンツを産業機械や車や家電の上に配置します。

 


Otoy社のOctaneRender for Unityがリリース

先日、OTOY社のGPUベースのレンダリングエンジンがUnityから利用できるようになったことをお知らせしました。レンダリングに使用したいGPUが1つであれば無料で利用できます。また使用したいGPUの数によって、20ドルまたは60ドルのサブスクリプションのプランが用意されており、メジャーな3D編集ツールのプラグインも利用できます。プリレンダーのフォトリアリスティックなCGや視覚効果を映像作品やゲームのトレイラー制作に活用できます。OctaneRender for UnityはUnity 2017.1またはそれ以降でご利用いただけます。詳しくはこちらのサイトをご参照ください。

OctaneRender for Unityを使って作られたシーンはUnityアセットストアから無料でご利用いただけます 

 

Unity 2017.3のパーティクルシステム

Speed Modifier

「Velocity over Lifetime module」は新しくカーブを含み、これでパーティクルのスピードをパーティクルのライフタイムによって制御することできます。またこれにより、パーティクルの動く方向を変えずにスピードを変えることが可能になります。また、速度のマイナス値もサポートし、重力や渦の効果を作ることができます。


スタンダードパーティクルシェーダー

パーティクルと使える「Surface」と「Unlit」シェーダーをリリースしました。標準的なパーティクルの機能をスタンダードシェーダーに似たインターフェースから利用できます。ブレンドモード、アルファテスト閾値、ソフトパーティクルディスタンス、など多くの機能を構成するのが簡単になります。ブレンドされたフリップブックと歪みエフェクトのサポートも含まれます。SurfaceシェーダーでNormal MappingとPBRライティングも簡単に利用できます。


パーティクルのリボン状のトレイル(軌跡)

Trails ModuleにRibbon Modeという新しいオプションが追加され、パーティクルが発生した後の経過時間を考慮するようになったため、パーティクルのトレイルが後に残るのを防ぐことができます。トレイルの各点はパーティクルなので、Noise Moduleと共に利用するなどしてアニメーショントレイルも作成することができます。

 


パーティクルシステムのその他の改善点

Shape Moduleでメッシュを使う際に、プリミティブタイプがLineまたはLineStripのメッシュも使用できるようになりました。これによりメッシュの表面だけでなく、ラインに沿ってパーティクルを発生させることが簡単にできます。

Unity 2017.3から32ビットメッシュがサポートされ、メッシュの頂点数を65536以下にする制限がなくなりました。これはパーティクルシステムに組み込まれ、頂点数65536以上のメッシュ上にパーティクルを発生させることができます。しかし計算量が増え、負荷が高くなる可能性があるので、パーティクルメッシュで32bitインデックスバッファーを利用することもできます。

Unityエディターでのエフェクト作成のワークフローが改善されました:

  • デバッグチェックボックスがInspectorからScene View Overlayに移動し、よりアクセスしやすくなりました(ResimulateとShow Bounds)
  • Scene View Overlayにて「Simulate Layers」という新しいドロップダウンメニューが追加され、選択されたものだけでなく、すべてのループするエフェクトをプレビューすることができます。Layer Maskでプレビューするエフェクトを決めることができます。
  • Scene View FXドロップダウンに新しいオプションが追加され、パーティクルシステムをレンダリングするかを選べます。これにより、パーティクルシステムを表示・非表示させてシーンビューをより見やすくできます。


Clothシミュレーションの改善

Cloth物理計算に多くの改善が追加され、NVIDIA社のPhysXエンジンを生かせるようになるにつれUnityエディター内での編集ツールが改善されます。コリジョンやセルフコリジョンなどにも多くのオプションが用意されています。Clothの制限をブラシベースのツールで編集することができ、また、インターコリジョンを有効にして複数の異なるクロスオブジェクトが衝突するようにできます。
Clothの改善について詳しくはスタートガイド(英語)をご参照ください。

 

プラットフォームサポートの強化

Facebookセグメントアップロード機能

FacebookのGame Roomにて新しいセグメントアップロード機能をサポートしました。以前は最大250MBサイズのファイル1つをアップロードできましたが、今後は変更された部分のみ(10MBに小分けにされて)アップロードされます。
 
Unity5.6からFacebookのデスクトップアプリであるGame Roomをサポートしており、Windowsネイティブのクライアントでゲームプレイヤーはウェブゲームとネイティブゲームの両方をこのプラットフォームで楽しむことができます。より詳しくはFacebookのこちらのページ(英語)をご参照ください。


XR

Oculus DashのDepthサポート

最新のOculus Riftのアップデートにて追加されたOculus DashメニューとUIに対して、UnityはOculus DashのDepthをサポートし、カメラ深度情報を提供し、Oculus Dashが部分的にオーバーレイを塞ぐことができるようになりました。

VRでの地表の木

VRにおいてUnityの機能で地面に木を配置することが可能になりました。詳しくはドキュメント をご参照ください。

PSVRのステレオインスタンシング

Unity 2017.2からPCベースのVRプラットフォームにおけるステレオインスタンシングを追加しましたが、これにPSVRサポートを追加しました。ステレオインスタンシングは、ハードウェアの機能を生かしてステレオ画像を描写するためのレンダリング方法で、フレームレートを保ちつつより多くの試みを実装することができます。

サポート終了するプラットフォーム

最新のDirectXのサポートに注力するために、Unity 2017.3では(Unityエディターとスタンドアロンプレイヤーの両方においてDirectX 9(2002年リリース)をサポートしません。詳細は こちらのブログ記事(英語)をご参照ください。

最後に、2017年10月に発表したようにUnity 2017.3ではサムソンのTizenとSmartTVをサポートしません。しかしながらUnity 2017.2リリース(2017年10月)から12ヶ月間は修正パッチとセキュリティアップデートを提供します。UnityのTizenとSmartTVのサポートについては こちらのサイトをご参照いただくか、サムソンのサポート窓口support@samsungdevelopers.comへ直接お問い合わせください。

Unity Teams

Unity Teamsを購入してご利用いただけるようになりました。どのような規模のチームでも、Unityからプロジェクトを簡単に共有して作業することができます。 Unity Teams Basicは少数メンバーのチームで無料でご利用いただけます。メンバーの数が多く、より多くの機能をご利用されたい場合はUnity Teams Advancedにて月額9ドルで利用できます。使用できるメンバーを増やしたり、より多くのクラウドストレージを使うことができます。詳細はunity3d.com/teamsをご参照ください。

Unity Teamsの機能(Collaborate, Cloud Build)を現在無料でご利用いただいている場合は、2018年1月9日までご利用いただけます。2018年1月31日時点でアクティブなUnity ProまたはPlusサブスクリプションをお持ちの方は追加料金なしでUnity Teams Advancedを継続してご利用いただけます。詳しくはこちらをご参照ください。

Unity Analytics

Standard Events

Unity Analytics Standard Events ではゲームプレイヤーの振る舞いをトラックでき、制作されたゲームに特有の問題を解明するのに役立ちます。ユーザーエクスペリエンスに関する5つのカテゴリー、OnboardingApplication、Progression、Engagement、Monetizationでイベントが設定されています。Unity 2017.3では、Unityの標準機能としてStandard Eventsが実装されています。またファンネルテンプレートも追加されました。

Standard Eventsとともにファンネルテンプレートを使うと、共通ファネルを作成して数クリックでインサイトを得られるようになります。

詳しくはこちらをご参照ください

LiveStream

Unity ProまたはPlusサブスクリプションをお持ちの方は、LiveStreamsにて直近30分の情報を見ることができます。IAP売り上げ情報は認証された後のものが表示されるので、データはより正確なものが表示されます。フィルターするオプションとして、新しくインストールされた数、セッション数、認証されたIAP売り上げをアクティビティビューから設定できます。

LiveStreamについて詳しくはこちらをご参照ください。

リリースノート

いつものように、リリースノート(英語)に全ての新機能、改善、修正のリストが掲載されています。

以上が今年最後のリリース、Unity 2017.3のご紹介でした。Unity 2017.3はこちらからダウンロードいただけます。

 

79 コメント

コメントの配信登録

コメント受付を終了しました。

  1. Shame you STILL haven’t fixed the proxy issues!! Still cannot use on a corporate network or a school network. When will this be fixed? We will have to switch away from unity if it isn’t fixed soon as this newest version bombs out all together.

  2. Why does the unity particle system have no single display function? Every time you think about solo, you have to turn off the other particle systems

  3. 我们需要中文
    We need Chinese
    中国語は必要
    Nous avons besoin de chinois
    Wir brauchen chinesisch
    Necesitamos chino
    potrzebujemy chin
    Precisamos de chinês
    Нам нужно китайский
    เราต้องการภาษาจีน
    Χρειαζόμαστε κινέζικα

  4. 大家好,非官方翻译我已经放到博客了,望能光临一瞥,谢谢。http://blog.csdn.net/qq_38451208/article/details/78950201

  5. como lo descargooooooooooooo

  6. 我们需要中文
    We need Chinese
    中国語は必要
    Nous avons besoin de chinois
    Wir brauchen chinesisch
    Necesitamos chino
    potrzebujemy chin
    Precisamos de chinês
    Нам нужно китайский
    เราต้องการภาษาจีน
    Χρειαζόμαστε κινέζικα

  7. 我们需要中文
    We need Chinese
    中国語は必要

  8. Particle System is good.
    and Cinemachine will be more powerful I think.

  9. 我们需要中文
    We need Chinese
    中国語は必要

  10. 传奇Legend

    1月 24, 2018 4:51 am

    我们需要中文
    We need Chinese
    中国語は必要
    Nous avons besoin de chinois
    Wir brauchen chinesisch
    Necesitamos chino
    potrzebujemy chin
    Precisamos de chinês
    Нам нужно китайский
    เราต้องการภาษาจีน
    Χρειαζόμαστε κινέζικα

  11. 我需要中文

  12. Marco Matoso

    1月 21, 2018 4:47 pm

    I like Unity 2017.3, but my game running very slow on publisher but in standalone he’s run fine! I see on profiller and “EditorOverhead” is the cause of the problem.

    1. Marco Matoso

      1月 21, 2018 4:50 pm

      I’m sorry, when i say: “but my game running very slow on publisher but in standalone he’s run fine!” I wanna say: “but my game running very slow on Editor but in standalone he’s run fine!”

  13. I like the new particle features, but 2017.3 completely breaks my UI workflow. Pulling UI prefabs into a canvas now changes all the child objects positions to (seemingly) arbitrary values, and even applying the prefab changes them to different values than they were when I clicked apply! This is new to 2017.3, and it’s the most frustrating bug I’ve encountered in a long time. For now, I’ll be reverting back to a previous version.

    1. Charles Beauchemin

      1月 18, 2018 4:10 pm

      Hi Leo, we have a fix for this issue and it will be backported to 2017.3. Stay tuned for the next patch release which should address it.

  14. How can i upgrade my unity 20171.1f1 to unity 2017.3, do i need to install every thing from scratch or there is another solution, if there is post for that please suggest.

  15. Im on the newest update 2017 30f3 and trying to run the groundfloor and newest tech that has been released. Im running a xaomi redmi 3s and see under supported devices there is a update after the new 201730f3 – when will this update patch reach us – im really keen to get this going?

  16. Our app boot time on Android (before any of our function calls) went from 2-3 seconds on 2017.2 to 18 seconds initial and 12 subsequent on 2017.3. Almost 20 seconds of black screen after clicking an app icon is income suicide. We were getting close to release, but this is completely unacceptable now. Can’t release in this state.

    1. Can you please submit a bug report on that?

  17. cihan celik

    1月 9, 2018 6:52 pm

    UI performance please.

  18. Valentin Winkelmann

    1月 6, 2018 7:56 pm

    New Unity Terrain Core please…

  19. Annette Rincon

    1月 5, 2018 5:30 pm

    My students love Unity!

  20. I’m having some issues, You changed a lot and now i can’t use floats or strings or anything that i used to use… I’m lost

    1. Charles Beauchemin

      1月 5, 2018 7:32 pm

      Please take a look at our Upgrade Guides which explain the modifications needed to your scripts to be compatible with the latest version: https://docs.unity3d.com/Manual/UpgradeGuides.html

  21. Will you guys at unity make a patch for unity error 0xc000020 please.

    1. Charles Beauchemin

      1月 4, 2018 3:56 pm

      looks like you have some corrupted dlls, try re-installing Unity or check Google how to fix your Windows 10 installation problem

  22. …..andddd everything except what programmers want the most: a *STABLE* .NET 4.x upgrade. You released an “experimental” version that makes Unity a crashfest. Are you ever going to make it stable?

    1. Josh Peterson

      1月 3, 2018 3:17 pm

      We’re working through all of the known bugs with the new scripting runtime now. Our hope is to have it non-experimental in 2018.1. Since stability is our top priority, we won’t fully release it until it is ready. If you are experiencing crashes, please help us out by reporting bugs. Also, we’ve had good discussions about a number of the intermittent issues on the forums, please join in if you can: https://forum.unity.com/forums/experimental-scripting-previews.107/

    2. I really like you. I do not understand why it is still experimental… How long has it been in that state for? The most important feature is the support of .NET 4.6 imo. I have to find so many workarounds just to make .NET code work as it used to work 10 years ago. Very sad.

  23. Coooooooooooooooooooooooooooooooooooooooool~

  24. 厉害了,Unity!

  25. I Love Unity!

  26. Getting better and better.

  27. Why does not the Built-in shader include “StandardParticlesShaderGUI”, I need that part.

    1. Richard Kettlewell

      1月 3, 2018 3:42 pm

      You’re absolutely right. Luckily, someone else reported it during the Beta, and it’s already fixed in 2017.3.0p2

  28. Abhimanyu Aryan

    12月 23, 2017 6:37 am

    I’m only waiting for terrain Core Update. Unity Terrain and vegetation tools sucks. Hope they can compete with Unreal Engine, CryEngine & Lumberyard. Not even talking about proprietary & in-house engines

  29. I’m interested in backing music used in the video. I tried to find it with Shazam app but there is no result. 😊 May you tell me the name of the artist, and related to the track itself – who made it, is there any license to reuse it, and that kind of thing? ✌

  30. Why is “Dynamic Resolution debuting on Xbox One platform” not included on other Platforms like PC?

  31. Jose Javier Palacio Carreño

    12月 21, 2017 8:37 pm

    Hi, there’s a small issue with the Project window in the editor, I’m not able to drag and drop external files to it anymore? I mean, I’ve always been able to drag an image from the desktop and then drop it in a folder inside the Project window in the Unity editor, but now I’m only getting the ‘Forbidden sign’ in the cursor no matter where I place it :/ This slows a lot the development process for me :C

    1. Charles Beauchemin

      12月 22, 2017 1:24 pm

      Hi Jose, this is an issue that happens when starting Unity as administrator. Windows will prevent you from dragging anything to the application. Check that your shortcut doesn’t have the ‘Run as Administrator’ checked.

  32. Wow great work guys, looking forward to all these changes :)

  33. Not enough people just tell you guys you make a great product instead of point out their one pet thing they’re interested in.

    1. I agree, great work Unity, congratulations!

  34. I have a small problem, Android and iOS versions have been updated to 7.0.43 But vuforia version of unity2017.3.0f3 inside is still 7.0.36, hope to be able to synchronize earlier

    1. Charles Beauchemin

      12月 21, 2017 7:36 pm

      Hi Siril, we are working on this. We will update the Vuforia SDK to 7.0.43 in an upcoming patch (either 2017.3.0p1 or 2017.3.0p2). Stay tuned!

  35. I am glad to hear that the Unity Terrain trees are now VR compatible. Problem is that the SpeedTrees (you are currently selling on your Asset Store) are not, since some of them contain billboarded elements. Here is a list of v7 trees with camera-facing generators: American Elm: Hero, Hero_Fall. Cherry: Desktop, Desktop Fall, Mobile, Mobile Blossoms, Cherry Mobile Fall, Cherry Desktop Blossoms. Cypress Oak: Mobile, Mobile Fall. Dog Rose: Desktop, Desktop Cluster, Hero, Hero Cluster, Mobile, Mobile Cluster. European Beech: Desktop, Desktop Fall. Korean Stewartia: leaf map makers. London Plane: Desktop Fall. Red Delicious Apple: Desktop, Mobile. Red Maple: Leaf Map Maker Mobile Fall, Desktop Young, Young Fall, Hero Young. Red Spruce:Hero; White Oak: White Oak Desktop, Desktop Fall

    1. Charles Beauchemin

      12月 20, 2017 7:21 pm

      Hi Tilo,
      These Asset Store Packages are published by an independent company called SpeedTree®.
      Please contact the publisher for any request or comment.

  36. Anthony Rosenbaum

    12月 20, 2017 5:17 pm

    Any ETA on the Jobs system experimental build?

    1. Charles Beauchemin

      12月 20, 2017 6:23 pm

      Hi Anthony,
      You can take a look at the roadmap here: https://unity3d.com/unity/roadmap
      You will see that some components already made it into 2017.3 and more support is coming in 2018.1.

      1. Anthony Rosenbaum

        12月 20, 2017 10:55 pm

        Charles can you elaborate, I don’t see any Jobs items in the 2017.3 release of the roadmap, perhaps the changes are “under the hood”. I am excited for the next Beta and 2018, I figure the Jobs system will take some time to wrap my head around the coding process.

  37. Am I wrong or the “v” snapping was already a feature like some of the transform tools shown here

    1. You’re not wrong, the “v” snapping has been there for quite a while now

      1. Yeah all these transform tools are old features

  38. Great job! Looks like a lot of work is put into the update.

  39. Just one slightly tangential question: When will Unity update the info on the Roadmap? v2017.3 still appears as Beta and unreleased, so it would be nice to have a refresh on the Roadmap before the year ends, so we can have a good insight of what is coming in 2018.

    And thanks for your hard work for this new version!

    1. Charles Beauchemin

      12月 20, 2017 6:24 pm

      Updated! Thanks for your input.
      We will add more items in the roadmap as the development progresses, including 2018.2 items.

  40. Does the updated cloth support work on iOS or HoloLens

  41. Hopefully, UNITY will be better and better, and we will live up to our UNITY and support UNITY.Happy New Year to all UNITY members and users!!!!

  42. Holy crap! you guys achieved so much this year. Thanks everyone who worked hard to make so much progress for the editor and runtime. I’m loving the compilation improvements. Total pig to setup; but was worth every shred of it (90 second compilation down to 10 seconds – you can’t beat that).

    Looking forward 2018 – finally get GPU lightmap rendering? Terrain editor improvements (I’ve got the wonderful terrainFormer asset in the meantime – why you guys simply don’t buy that and incorporate it is utterly beyond me).

    Anyhows – great show Unity dev team!! Happy christmas and all the best for 2018!

  43. When is the terrain core update coming? Or will it take another 8 years? Unity promised it since 8 (!!!) years.

  44. It says there is a performance cost for 32-bit particles. Is it the same for 32-bit meshes? If so, is there an option to turn it off? And another thought, if there is an impact, would adding 8-bit meshes speed things up (particularly useful for us mobile developers)?

    1. Aras Pranckevičius

      12月 20, 2017 7:36 pm

      Imported meshes use 16 bit index buffers if they are smaller than 65k vertices, and use 32 bit index buffers if they are larger. There’s also an import setting that allows you to force 16 bit indices (effectively pre-2017.3 behavior) and split mesh into multiple chunks if that’s what you want.

      How much of a performance overhead that would be, depends on a lot of things. 32 bit index buffers take 2x more memory/bandwidth than 16 bit ones; whether that’s significant amount of memory or bandwidth… “depends”. In any case, you do have an option to use either approach.

      wrt 8 bit index buffers – there are no GPUs out there that support them, I think. Also, 8 bit indices would only allow having meshes up to 255 vertices in them, which is “very small” even for mobile :)

  45. Wendelin Reich

    12月 19, 2017 10:30 pm

    Hi, could you tell us where/in which way the Animator Controller now supports enums? I just checked out the new 2017.3 and there’s still the same four parameter types available, no enums…

    1. David Geoffroy

      12月 20, 2017 6:44 pm

      The Animator now supports animating integer and enum component properties, including enums on MonoBehavoiours, and some select enums on built-in components.

      No enums have been added in AnimatorController properties.
      The wording for the blog post is indeed confusing, and will be addressed.

  46. Very cool. Happy to see these editor updates and some lighting updates!

    I was hoping to get similar updates to the collider editor handles. Could I suggest a form of “area/volume select” handles for the colliders so that we deselect them less often? Similar to the sphere free rotation or axis free rotation shown above? Would be great to be able to select the collider sides and scale them and not the time center point. (If I am missing something let me know, I did not see this added at any point).

    1. *tiny center point.

  47. Sweet, you finally made the dark theme available in Personal Edition as well. Thanks! :)

    1. where did you read that? The Dark Skin is not available in Personal. #FakeNews!

  48. Did you fix the additively loaded scenes that STILL use light probe data from the first loaded scene (incorrectly marked as fixed up to 2017.2)?
    https://issuetracker.unity3d.com/issues/mse-additively-loaded-scenes-use-light-probe-data-from-first-loaded-scene

    And what about ‘Indirect bounce shadowing for spot and point lights’? Is that supported now? Will it ever be?

  49. The recap mentions a Async Compute runtime, can you elaborate more?

    1. yes, please! cant find anything anywhere else…

      1. Richard Kettlewell

        1月 3, 2018 3:33 pm

        We will be rolling Async Compute out to all relevant platforms, but yes, it’s only implemented on PS4 right now.

  50. Livestream is pretty neat. We have something similar to this on one of our backend services. But is there a way to keep the dots around vs having them fade away? We can’t really always watch it, so it would be nice to turn it on, check back in an hour and see where the dots are on the map.

  51. AlexanderTeaH

    12月 19, 2017 2:58 pm

    What about editor high DPI scaling? Nice to see more 2D tools though!

    1. Still no support for High res screens eh? How is it 2018 and this isn’t a thing yet? Time to get it together Unity.

    2. I’d love to see DPI support. I am using a 34″ 3440×1440 monitor and the fonts are tiny. so hard to read.

      1. check out “zios themes for unity”. its free you can can customize the skin colors and fonts and sizes of unity. cannot believe it is so unknown so far, because it is very impressive.

    3. I hope soon, this is a big issue.