Unity を検索

まったく新しくなった Unity 2019.2、リリース

2019年7月30日 カテゴリ: テクノロジー | 9 分 で読めます
取り上げているトピック
シェア

Unity の拡張と改良には実に 1,000 名以上にのぼる開発者が関わります。今回のリリースには、アーティストからデザイナー、プログラマーに至るまで、幅広い方々に役立つ新機能や改良点が 170 以上盛り込まれています。また、ProBuilder、シェーダーグラフ、2D Animation、Burst コンパイラー、UIElements なども更新しました。この記事では、その主な内容を紹介します。

機能の追加、ツールの更新、ワークフローの改善

新たに追加した機能や改善点を紹介する前に、Unity のリリース発表のあり方も新しくなったという点をお知らせしておきたいと思います。今後は、皆さんやそのチームに関係が深い内容を探すために長文の記事をスクロールしたり、検索したりする必要はありません。ブログ記事ではあくまで重要な点と、内容別の専用ウェブページにアクセスするためのリンクのみを紹介します。専用ページは概要アーティストおよびデザイナー向けツールプログラマー向けツールグラフィックス関連対応プラットフォームの 5 つに分け、それぞれに対応する更新情報を掲載していますので、ぜひご利用ください。

詳細をお読みになる前に、Unity 2019.2 をダウンロードすることをお勧めします。

このコンテンツはサードパーティのプロバイダーによってホストされており、Targeting Cookiesを使用することに同意しない限り動画の視聴が許可されません。これらのプロバイダーの動画の視聴を希望する場合は、Targeting Cookiesのクッキーの設定をオンにしてください。

こちらの動画で Unity 2019.2 のハイライトをご覧ください。

ProBuilder 4.0 は、3D モデリングツールとレベルデザインツールをユニークな形で組み合わせたハイブリッドツールで、Unity 2019.2 では検証済みとして提供します。シンプルなジオメトリの作成に最適化されているツールですが、必要に応じて細かな編集や UV 展開を行うこともできます。

Polybrush が、パッケージマネージャーを介してプレビューパッケージとして利用できるようになりました。これは多機能なツールで、任意の 3D モデルから複雑な形状をスカルプトしたり、ディテールのためのメッシュを配置したり、カスタムのライティングやカラーリングでペイントしたり、メッシュ全体にわたってエディター内で直接テクスチャーをブレンドしたり、さまざまなことができます。

DSPGraph は、Unity の C# Job System をベースに開発された新しいオーディオレンダリング/ミキシングシステムです。このたび、プレビューパッケージとしての提供を開始しました。

UIElements(Unity の新しい UI フレームワーク)については、シェーダーグラフ、Visual Effect Graph、ビジュアルスクリプティングなどのグラフベースツールの UI のレンダリングを改良しました。今回の変更により、エディター内で複雑なグラフを作成する際の使用感とレスポンスが大幅に改善しています。

Visual Effect Graph に、複雑なグラフの整理に役立つサブグラフを追加しました。ブロックやオペレーターでサブグラフを共有、結合、再利用可能なほか、VFX 内に完全な VFX を埋め込むこともできます。このほか、Visual Effect Graph と HD レンダーパイプライン(HDRP)の統合にも改良を加えました。デフォルトで Visual Effect Graph をプルするようになったので、利用できるレンダリング機能が増えています。

シェーダーグラフでは、カラーモードによりグラフ上のノードを機能に応じて色分け表示できるようになりました。色は、自分が見やすいものを自由に選べます。この機能は、グラフが大きな場合に特に便利です。

2D Animation ツールには、スプライトのスワップ機能を追加しました。この新機能を使うと、スケルトンリグとアニメーションクリップを流用しつつ、ゲームオブジェクトのレンダリング済みスプライトを変更できます。そのため、使用する Sprite Library が異なるキャラクターを多数作成する作業や、Sprite Resolver を使ってその一部をカスタマイズする作業がすばやく完了します。見た目がまったく違うものの使用するアニメーションリグが同じキャラクターであれば、スプライトをスワップするだけで作成できるようになりました。

プログラマー向けツール

Unity 2019.1 では、Burst コンパイラーが正式版となりました。このリリースでは、Burst コンパイラー 1.1 の JIT コンパイル時間と C# に関わるいくつかの機能が改善されています。

TypeCache を使用すると、特定の属性でマークされている型やメソッドのほか、特定のクラスまたはインターフェイスから派生する型にすばやくアクセスできます。TypeCache では、エディターに読み込まれたすべてのアセンブリのために構築された内部ネイティブキャッシュを利用します。

モバイルアプリの開発者のために追加した機能としては、スクリーン輝度のコントロール機能があります。新しい Screen.brightness プロパティ(iOS と Android)と改良された ReplayKit API(iOS)を使って、スクリーンの輝度を制御できます。また、UI をこれまでよりも簡単に調整できるように、ノッチ周囲のバウンディングボックスを検出できるようにしました。

PhysX 3.4 から PhysX 4.x への移行の一環として、PhysX のクロスシミュレーションライブラリを以前の PxCloth から NvCloth に移行しました。

コードエディター統合の(および、それに伴い IDE の)コアからパッケージへの移行を開始し、C# API を公開しました。今回のリリースでは、Visual Studio CodeJetBrains Rider の統合をパッケージとして利用できます。Visual Studio は今後のリリースでパッケージとして利用できるようになる予定です。

古い .NET 3.5 Equivalent スクリプティングランタイムを廃止しました。.NET 3.5 Equivalent スクリプティングランタイムを使用するプロジェクトはすべて、.NET 4.x Equivalent スクリプティングランタイムを使用するよう更新されます。

Unity 2019.1 で一部のプラットフォームを対象に実験的にリリースしていたインクリメンタルガベージコレクション機能が、WebGL 以外のあらゆるプラットフォームに対応しました。

今回のリリースではほかにも、C# コードのサンプリングプロファイリングなど、Windows スタンドアロンプレイヤー(x86、64 ビット)と Windows エディター向けの Intel® VTune™ Amplifier のサポートが含まれています。

グラフィックス

今回のリリースでは、HD レンダーパイプライン(HDRP)に Arbitrary Output Variables(AOV)API を追加しました。これにより、シーンからマテリアルのプロパティのみ、ライティングのみ、デプスバッファーなど、さまざまなパスを出力できます。また、この API は現在 Unity Recorder で採用されているため、特定の出力を簡単にエクスポートして HDRP でのレンダリングに利用できます。

このほか、動的な解像度変更機能も追加しました。ワールドのレンダリングの解像度をスケーリングできるだけでなく、ハードウェアの動的な解像度変更機能にも対応しているので、ソフトウェアによる動的な解像度変更機能と比較して、高いパフォーマンスを実現しています。

MatCap デバッグビューモードは、オブジェクトのマテリアルとライティングをシンプルな環境テクスチャーに置き換えるものです。このモードは、シーンのライティングをセットアップすることなくシーンを移動したり、シーンの感じを確かめたりしたい場合に便利です。たとえば、洞窟の中などの暗いエリアを編集している場合にこのモードを使うと、ライティングが暗くても移動が容易です。

新しいアンビエントオクルージョンエフェクトは、スクリーンスペースのシェーディングおよびレンダリングのためのアルゴリズムの一種です。シーンの環境光ライティングのシミュレーションに際して、良好なパフォーマンスを維持しつつ、(特にスケールの小さなディテールに関して)その質を高めることができます。また、さまざまなオプションを使ってパフォーマンスと品質のバランスを調整できるようにもなっています。

軽量レンダーパイプライン(LWRP)に 2D 関連の新機能を追加しました。代表例が実験段階の 2D Renderer で、これに 2D Pixel Perfect と 2D Light が追加されています。新しい 2D ライトを使用すると、3D のライトやカスタムシェーダーを使用することなく、2D のプロジェクトのビジュアルを直接的かつ簡単に強化できます。

シェーダーグラフには、2D スプライトシェーダー(光学処理のないシェーダーおよびリットシェーダー)を作成するための 2D マスターノードを追加しました。さらに、精度モードを使用すると、ノードでの GPU メモリの消費量を減らすことができるため、モバイルを含めたさまざまなプラットフォームでパフォーマンス改善に役立ちます。

ライトマップのノイズ除去が、GPU のメーカーに関係なく、あらゆるエディタープラットフォームで機能するようになりました。また、ベイクの設定方法を大きく変更したので、ライトマップのベイクのスピードアップが期待できます。このほか、新しいプローブワークフローの導入も進めています。

プローブリット GI コントリビューターを使って、グローバルイルミネーションに関与するオブジェクトがライトプローブまたはライトマップから GI を受け取るかどうかを選択できます。メッシュレンダラーがライトマップ内のテクセルを占有することなく、反射光ライティングの計算に参加できるようになるので、ベイク時間を大幅に改善すると同時に、メモリ消費量を抑えられる可能性があります。

今回のリリースではほかにも、特にライティングのイテレーションについて、GPU ライトマッパーの速度が大幅に改善しています。新機能としては、環境ライティングのための多重重点的サンプリングへの対応のほか、ビューの優先順位付けや低占有率のライトマップを使用するときのサンプリングのパフォーマンスの改善などが挙げられます。

NVIDIA OptiX AI Denoiser にはアップグレードがありました。パフォーマンスが改善し、メモリ消費量が減ったほか、NVIDIA Turing GPU への対応が追加されています。GPU ライトマッパーは、OptiX AI Denoiser に対応しています。

ライトマッピングが、機械学習ベースのフィルター Intel Open Image Denoise ライブラリに対応するようになりました。これは、ライトマップに対するポストプロセッシングにより、ライトマッピングワークフローとライトマップの品質を改善するものです。ノイズや不要なアーティファクトが削除されるので、滑らかでノイズのないライトマップが、はるかに少ないサンプル数で生成できます。

プラットフォームやエディターのワークフロー

Google の Android Gaming and Graphics チームとの共同開発により最適化された Android 用のフレームペーシング機能によりフレーム変動の分散を抑えて、安定したフレームレートとよりスムーズなゲームプレイ体験を実現します。

OpenGL のマルチスレッディングサポート(iOS)を追加し、Metal に対応していないローエンドの iOS デバイスのパフォーマンスを改善できるようになったので、OpenGL への対応強化の恩恵がモバイル開発者にも行き渡ることになりました。また、軽量レンダーパイプライン(LWRP)を使用するプロジェクトの CPU パフォーマンスを改善するために、SRP Batcher の OpenGL のサポート(iOS と Android)も追加しました。

Android App Bundle を使用した APK サイズチェックを追加し、大規模なアプリでも各ターゲットの最終的な APK のサイズを検出できるようにしました。

VR の開発に取り組んでいる方は、新たに VR に対応した HDRP もお試しください。

このほか、Unity では現在、開発ワークフローの効率化に役立てるため、ターゲットプラットフォームに応じて改良した SDK ローディングおよび管理システムの導入を進めています。このシステムは現在プレビュー段階にあるため、Unity ではこの新しいワークフローを試してくださったユーザーからのフィードバックを受け付けています。

AR Foundation 2.2 を更新し、顔トラッキング、2D 画像トラッキング、3D オブジェクトトラッキング、環境プローブなどに対するサポートを追加しました。AR Foundation が ARKit 3 の機能に対応していることに関する詳細については、最近公開したこちらのブログ記事をご覧ください。

Vuforia のサポートが Player Settings からパッケージマネージャーに移行し、Vuforia Engine 8.3 の最新バージョンにアクセスできるようになりました。

バグ修正、改善点、API の更新

Unity では、Unity UI2D Sprite Editor2D タイルマップエディターなど、既存の機能のいくつかをパッケージに置き換えることによって、継続的にエディターをスリム化し、モジュール性を保つよう努めています。これらの機能は、パッケージマネージャーを使って簡単に統合、アップグレード、削除できます。

他のリリースと同じく Unity 2019.2 でも、多くの改良やバグ修正を実施しています。新しいツールや機能の試用やテストにご協力くださったアルファ版およびベータ版のユーザーコミュニティの皆様に、御礼を申し上げます。的確かつタイムリーなフィードバックをいただけたおかげで、多くの問題を修正し、今回のリリースを完成に導くことができました。

機能、改善点、バグ修正の一覧については、リリースノート(こちら)に掲載しています。このほか、Issue Tracker を使って特定のチケットの情報を検索することも可能です。

Unity 2019.2 ベータ版懸賞当選者について

Unity 2019.2 ベータ版の懸賞の当選者を発表しました。当選者は 5 名、賞品は Samsung Galaxy S10+ です。当選者には、個別に通知をお送りしています。今後の懸賞に関するお知らせや、ベータ版関連のニュースを見逃すことのないよう、この機会にぜひニュースレターの購読をお申し込みください。

今後の予定

Unity 2019.3 に実装が予定されている機能を試してみたいという方は、アルファ版をご利用ください。ベータ版のローンチは今夏の予定です。Unity 2019.3 の完全版のリリースは、2019 年秋の予定です。プレビューパッケージに関する詳細については、こちらの概要ページをご覧ください。

メリットは最新の機能を先行体験できることだけではありません。自分のプロジェクトが新バージョンに対応しているかどうかを確かめることもできます。また、フォーラム対面で R&D チームとフィードバックを共有することで、Unity の進化に関わることができます。さらに、Unity のイベントやラウンドテーブルなどに参加するチャンスも得られます。まずは最新のアルファ版またはベータ版をダウンロードし、こちらのガイドを参照して有力なベータテスターになる方法を確認してください

2019年7月30日 カテゴリ: テクノロジー | 9 分 で読めます
取り上げているトピック