Unity 2021.2 TECH ストリームリリースが公開されました。今回のリリースでは、アーティストやデザイナーの制作ワークフローを最適化し、強力な没入感を生み出せるようにするための新機能や改善点が数多く盛り込まれています。
Unity 2021.2 の UI Toolkit は、Unity エディター拡張のための UI を開発する機能をベースに、実行時の UI オーサリングのサポートを提供しています。これにより、クリエイターは UI Toolkit を使って、ゲームやアプリケーションのインターフェイスを Unity 内で直接オーサリングすることができます。
今回のリリースでは、UI Toolkit に TextMesh Pro のフォントレンダリング技術が統合され、追加のプラグインやパッケージをインストールしなくても、高度なスタイリング機能を利用して、あらゆるポイントサイズや解像度で美しいテキストをレンダリングすることができるようになりました。
また、専用の UI アニメーションシステムにより、様々なプロジェクトや要素に適用できる再利用可能なトランジションを素早くオーサリングすることができ、プロジェクト全体の手直しを減らすことで、デザインに使う貴重な時間を節約することができます。
また、UI Toolkit 内で直接テクスチャレス UI を効率的に作成することができます。Photoshop で画像を作成して取り込む必要がないため、ツール間を行き来するためにかかる無駄な時間を大幅に削減し、より迅速に調整を繰り返すことが可能になります。これは、全体のメモリフットプリントとビルドサイズを下げて、より効率的にスケールできるということです。
UI Toolkit の詳細、導入方法、Unity UI 上で使用する場合についてはこちらをご覧ください。
Unity 2021.2 では、Terrain Tools パッケージが実験的機能からリリース済み機能へ移行しています。これは、パッケージがドキュメント、変更履歴、ライセンスファイルの作成を含む、広範なテストおよび検証手順に合格し、皆さんに次のプロジェクトで安心してパッケージをご利用いただける状態になったことを意味します。
今回のリリースの一環として、地形の接続、クローン、ノイズ付与、テラス作成、およびツイスト作成に新しい地形スカルプトブラシが追加され、環境をより生き生きと表現できるようになりました。Erosion ハイトマップベースのツール(浸食、風、熱による地形変化を再現)を利用できるようになりました。また、マテリアルのペインティングの制御や全体的な品質が向上し、オーサリング体験を効率化しています。
SpeedTree 8 で作った植物を、HD レンダーパイプライン(HDRP)に直接インポートできるようになりました。
ユニバーサルレンダーパイプライン(URP)と HDRP の両方に新しいシェーダーグラフベースのシェーダーが提供され、法線、接線、従接線を補間する新しいカスタムインターポレーターや、マテリアルごとの新しいカリングオーバーライドを使用することで、パフォーマンスとビジュアル品質が向上しました。注:新しいシェーダーは HDRP でのみデフォルトで使用され、URP では互換性の観点から既存の手書きのシェーダーがデフォルトで使用されます。
URP にデカールが追加されました。スクリーン空間を使うモードと DBuffer を使用するモードの 2 つのモードがあります。最新のものは、モバイル GPU アーキテクチャへの適応性は低いものの、より高度なブレンドのためのサーフェスプロパティへのアクセスが可能です。
デカールプロジェクターの配置についても、ピボットポイントやスケール変換ツール、プレハブのサポート、複数選択機能など、UX が改善されています。
HDRP に法線ブレンドオプションが追加され、フラットでないシェイプ上でのブレンドが改善されました。また、Visual Effect Graph から完全な HDRP デカールシェーダーにアクセスできるようになりました。
この機能により、Unity クリエイターは、ライトやマテリアルのプロパティのリアルタイムな変化に対応した間接照明をプロジェクトに取り入れ、より豊かな表現を行うことができます。インタラクティブなビジュアルフィードバックにより、ライティング設計の反復修正にかかる時間を大幅に短縮することが可能になりました。
Unity 2021.2 のリリースでは、Enlighten によるリアルタイムのグローバルイルミネーションのサポートを HDRP とビルトインレンダーパイプラインで再び有効にし、さらに URP サポートも追加しました。また、Enlighten によるリアルタイムのグローバルイルミネーションのサポートを Apple Silicon、PlayStation 5、Xbox Series X などの次世代機や新しく発売されたばかりのデバイスにも拡大しました。
この新機能により、プログレッシブ GPU ライトマッパーを活用して、より大きな解像度のライトマップも高速にベイクできるようになりました。
タイリングは、ライトマップを GPU のメモリ量に合わせたサイズのタイルに分割することで、GPU へのメモリ要求量を削減するテクニックです。この機能により、GPU ライトマッパーがメモリ不足に陥り、CPU にフォールバックしてしまうリスクを軽減することができます。
シネマティックスのライティングをより簡単に、より効率的なものにするため、Light Anchor コンポーネントを開発しました。これはワールド空間ではなくピボットポイントを中心にライトを操作する専用ツールです。ライティングアーティストは、さまざまなプリセットを使って、キャラクターや興味を引くものにすばやく照明を当てることができます。
また、URP のライトレイヤーのサポートも追加され、シーン内のライトをマスクして、同じレイヤー内の特定のメッシュに影響を与えることができるようになりました。この機能は、URP と HDRP の両方でサポートされています。
Christophe Seux 氏の Blender デモファイル「Classroom」を使用した動画
新しくスクリーン空間グローバルイルミネーション(Screen Space Global Illumination; SSGI)に施された改良により、ポストエフェクトとして近似した動的なリアルタイム GI を得ることができます。もしスクリーン空間バッファのレイマーチングを行っている間にサンプルが見つからない場合、プローブやスカイにフォールバックします。
ヒーロープロップやキャラクター向けには、アンビエントオクルージョンやベント法線マップを使用した際のスペキュラーオクルージョンが改善されています。
最後に、エリアライトがファブリックに対応し、ヘアの描画にも対応しました。この機能のフォールバック先は GGX ライティングです。
URP と HDRP の両方でレンダリングデバッガーが利用できるようになり、マテリアル、パス、レンダリングエフェクト、ボリュームのデバッグが可能になりました。
新しくなったレンズフレアツールは、カメラのレンズ内、あるいは人間や動物の眼球内で光が屈折したときの効果をシミュレートします。フレア、ハロー、ポリゴンパターン(アパーチャブレードによるアーティファクト)をカスタマイズしてシーン内の選択した光源に適用し、アーティスティックな効果を得ることができます。レンズフレアはオクルージョンをサポートしており、多くのプロシージャルな配置ツールにより、同じパターンの複数のレイヤーを追加したり、手動で設定したりする手間を省くことができます。
HDRP および URP パッケージの追加サンプルとして提供されている構築済みエフェクトのコレクション(太陽、車のライト、アナモフィック、スタイライズドなど)から選択することで、映画のような品質のフレアを一瞬で追加できます。
私たちは先日、アーティストが映画やアニメーションのパイプラインで強力なモバイル AR データを活用できるようにする 2 つのコンパニオンアプリを App Store でリリースしました。コンパニオンアプリは、新しい Live Capture Unity パッケージを介して Unity エディターに接続します。
Live Capture パッケージやコンパニオンアプリの使用を開始する方法は、こちらのフォーラムで詳しく説明されています。
Unity Face Capture を使うと、Unity エディターでリアルタイムにフェイシャルパフォーマンスをプレビュー、記録することができます。これにより、リアルな顔のアニメーションをキャラクターに追加するプロセスが簡素化され、アニメーターが大きな時間と労力をかけて行っていた作業が不要になります。顔の表情や頭の動きをキャプチャして、リアルタイムにキャラクターを制御することができます。
主な機能としては、以下のものがあります。
Unity Virtual Camera は、シンプルで直感的なバーチャルシネマグラフィーのためのツールです。これにより、Unity エディターの力を活用して、手持ちのカメラの自然な動きやレンズの操作をアプリ上でプレビューし、記録することが可能になります。
Unity Virtual Camera は以下の用途に使うことができます。
主な機能としては、以下のものがあります。
Live Capture パッケージやコンパニオンアプリに関するご質問、ご意見、機能のご要望などがございましたら、フォーラムでお知らせください。
URP 向けの Visual Effect Graph は、開発チームによる問題の修正と Lit パーティクルのサポートの追加により、PC とコンソールに正式に対応しました。モバイルのサポートを改善しましたが、モバイルデバイスのコンピュートサポートは、ブランド、モバイル GPU アーキテクチャ、OS によって大きく異なります。Visual Effect Graph が正式にサポートできるのはハイエンドのモバイルデバイスの一部に限られており、その他のデバイスでは問題が発生する可能性があります。Unity ビルトインのパーティクルシステムは、幅広いモバイルアプリケーションで推奨される選択肢です。
URP の 2D Renderer サポートが追加され、ソーティングレイヤーを使用して 3D の Visual Effect Graph エフェクトと 2D ワールドオブジェクトを混在させることができるようになりました。
Visual Effect Graph をターゲットにしたシェーダーグラフのカスタムシェーダーを使用することができます(URP スプライト、URP/HDRP デカールを除く)。これらのシェーダーでは HDRP のヘアやファブリックなどの新しいライティングモデルを使用したり、パーティクルを頂点レベルで修正して、羽ばたく鳥やシャボン玉のように揺れるパーティクルなどのエフェクトを実現したりすることができます。
符号付き距離フィールドを使用する際に、サードパーティのソフトウェアを使用したり、ソースアセットを変更するためにウィンドウ間を行ったり来たりする必要はありません。
新しい Signed Distance Field Baker ツールを使うと、エディターで(または API を使って実行時に)テクスチャ 3D のジオメトリを直接、かつ素早くベイクすることができます。これは Visual Effect Graph 内で使用可能な符号付き距離フィールドとしてベイクされます。また、プレビューウィンドウやデバッグウィンドウ、セッションデータの保存機能も使うことができます。
さらに知識のあるユーザー向けには、C# を使って大規模データを受け取ったり、テクスチャをベイクする代わりにグラフィックスバッファ経由でシェーダーを計算して、ボイド、大規模データレンダリング、流体、ヘアシミュレーション、群衆などの独自の複雑なシミュレーションを行うことができるようになりました。
UX 面では、アタッチのワークフローの改善、ツールバーの再構築、検索フィルタリングの改善などを行いました。最も要望の多かった機能の 1 つが、様々なシェイプのブロックやオペレーターに Transform を追加することで、たとえば、円のシェイプの Position ブロックを回転させて円のシェイプを違う方向に向けたり、球体の Collision ブロックの形状をある軸に沿って引き延ばして楕円と衝突させたりすることができます。
詳細については、Visual Effect Graph の新機能についてのドキュメンテーションをご確認ください。
Unity 2021.2 のリリースでは、URP でのサーフェスオプションのサポート、カスタムインターポレーター、ビルトインレンダーパイプラインをターゲットにする機能、Blackboard のカテゴリなど、シェーダーグラフにエキサイティングな新機能が導入されました。これらの機能追加により、アーティストのワークフローとシェーダーのパフォーマンスが大きく改善されました。
URP のサーフェスオプションを使うと、Material のインスペクターでシェーダーグラフで作られたシェーダーの公開されたオプションの幅を広げることができます。これにより、よりパワフルで柔軟性のあるシェーダーを作ることができるようになり、シェーダーのライブラリの管理も簡単になります。
カスタムインターポレーターを使うと、頂点データでも頂点ステージで行われた操作の結果でも、頂点ステージからフラグメントステージに情報を渡すことができるようになります。
ブラックボードのカテゴリを使うと、ブラックボードのプロパティをグループ化し、Material のインスペクターで展開可能なセクションとして公開することができます。
これは、私たちの公開ロードマップで最も投票が多かった機能の 1 つでした。これが実装されたことで、シェーダーグラフから HDRP のテッセレーションを使用するシェーダーをオーサリングできるようになりました。またこれにより、カスタムのグラフを作成して、メッシュへのディテールの追加、水の波、雪や砂につく足跡、ジオメトリの平滑化、オブジェクトのシルエットの改善などを動的に行うことができます。また、シェーダーグラフの追加ベロシティを使って、プロシージャルなジオメトリ(例:自動生成された髪の毛)でカスタムのモーションベクトル値を計算することもできます。
ビルトインレンダーパイプラインがシェーダーグラフに対応しました。チームがまだ URP や HDRP にアップグレードする準備を整えられていなくても、プロジェクトでシェーダーグラフのパワーを利用することができます。一部の機能(XR など)はまだビルトインレンダーパイプラインをターゲットにして利用することはできませんが、3 つのレンダリングバックエンドに対応したグラフを作成できることは、多くのクリエイターにとって非常に有益なことです。
Unity 2021.2 では、リフレクションプローブのサポートを改善しました。リフレクションプローブのブレンドが追加され、光を反射するオブジェクトがシーン内のあるゾーンから別のゾーンに移動する際に、一方のリフレクションプローブが徐々にフェードアウトし、替わって他のリフレクションプローブがフェードインするようになりました。このようなトランジションを使えるようにしたことで、ポッピングのアーティファクトを回避し、より高品質な反射表現を実現しています。
また、リフレクションプローブに Box Projection のサポートが追加されました。Box Projection オプションを使用すると、プローブから有限の距離にあるリフレクションキューブマップを作成することができるため、屋内や閉じた環境での反射をよりよく表現することができます。
ローカルおよびベイクされたグローバルイルミネーションライトについて、ライトクッキーをサポートしました。ライトクッキーは、キャストライトの外観、形状、強度を変更してアーティスティックな効果を得たり、実行時のパフォーマンスへの影響を最小限に抑えながら複雑なライティングシナリオのシミュレーションを行ったりするために使用されます。
今回のリリースでは、カメラスタッキングなど URP の機能や、遮蔽されたジオメトリとスクリーン空間アンビエントオクルージョン(Screen Space Ambient Occlusion; SSAO)などのレンダラー機能のユースケースを理解するためのサンプルを用意しました。新しいシーンテンプレートは、エディターのシーンテンプレートシステムの中で使用することが想定されています。URP での使用に適した設定やアセットが用意されており、新しいシーンを作成する際にあらかじめ設定されたデフォルトの設定を使用することができます。
詳細については、URP の新機能についてのドキュメンテーションをご確認ください。
雲を追加する時、プロシージャルな雲のレイヤー(背景としての使用を想定)と、ボリューメトリックな雲(背景としての使用の他、空中を流れる雲の表現のための使用も想定)から選択できるようになりました。どちらも設定は簡単ですし、デフォルトのパラメーターを素早く調整して、さまざまな種類のリアルな雲を実現することができます。さらに知識のあるユーザーなら、より詳細な設定を調節したり、独自のマップをインポートして、より細かく表現を制御したりすることも可能です。アンビエントライトプローブの調光、散乱による色、パウダー効果の強度、多重散乱、シャドウなど、さまざまな大気の状態や雲の雰囲気に合わせてライティングのパラメーターを調整することができます。また、風向きや風速を制御したり、雲の形状や浸食効果を制御することもできます。
また、色付きのボリュームマスク、RenderTexture のオプション入力、より高解像度のボリュームマスク、改良された 3D テクスチャアトラス、HDRP パッケージからダウンロードできる様々なサンプルなど、局所的なボリューメトリックフォグのフォーマットとブレンディングにアップデートが加えられました。
従来の「近似」ライティングモデル(左)と新しい「物理」オプション(右)
リアルな髪や毛並みを表現するために、HDRP ヘアシェーダーに、従来の「近似」ライティングモデルとなる Kajiya/Kay モデルに加えて、Marshner/Disney ベースのライティングモデルを使用する「物理」モードが新たに追加されました。この新しいパラメーターは設定もこれまでより簡単で、かつ物理パラメーターを公開しているのでフォトリアルな髪や毛の房ベースのレンダリングにおいてより適切な表現を可能にします。一方、Kajiya/Kay モデルは、表現上の制御の自由度は高く、高速なパフォーマンスを実現できますが、設定が難しく、品質も若干低下します。
この新しいモデルはパストレーサーにも追加され、リアルタイムシェーダーの真の正解を与えるリファレンスとして使用されました。
前述したように、カスタムのモーションベクトルのベロシティに新たに対応したことで、シェーダーグラフを使った髪の毛の房のレンダリングが可能になりました。
アーティストとデザイナーのハイライト
また、話のついでとはなりますが、Daniel Zeller 氏がアセットストアで公開しているプラグイン「Fluffy Grooming」もお勧めです。このツールで、Unity 2021.2 で導入された改善の一部を利用して、動的なヘア、ファー、カード(羽毛など)を Unity エディター内で直接作ることができます。
画像提供:Daniel Zeller 氏
HDRP の改善をはじめ、クリエイターの皆様のご意見に直接お応えする形で、多くの機能強化を行いました。
エフェクトやシェーダー、レイトレーシングは、4K はもちろん、2K でも重すぎて動作しない場合がありますし、VR での 2 つのカメラの高解像度レンダリングは、ハイエンドグラフィックスを使う場合、制約が多すぎます。ダイナミックな解像度の向上と、NVIDIA Deep Learning Super Sampling(DLSS)、AMD FidelityFX Super Resolution(FSR)、そして当社独自の Temporal Upscaler という 3 つの新しい最先端アップスケーラーのサポートにより、PC、コンソール、およびデスクトップ VR でのパフォーマンスを向上させることができます。
NVIDIA DLSS は、一部の NVIDIA GPU 上で動作する高度な深層学習ベースの時間的アップサンプリングにより、素晴らしい映像品質を提供します。この技術は『LEGO Builder's Journey』や『Naraka: Bladepoint』などの人気タイトルで活用されています。
AMD FSR と Unity の Temporal Upscaler は、Mac やコンソール(XBox One および Series X|S、PlayStation 4 および 5)を含む、HDRP がサポートするすべてのハードウェアで動作します。これらのアップスケーラーは、最終出力の解像度の 4 分の 3 の解像度で美しい出力を実現しつつ、パフォーマンスのフットプリントは小さくなっています。
デカールは Burst を使用して高度に最適化されており(HDRP テンプレートで 15 倍高速化)、Renderer Lists と呼ばれる新しい内部システムにより、フレームで使用されないパスを自動的に無効化することができ、DirectX12 はすべての解像度で DirectX11 に近いパフォーマンスを実現しています。
最後に、カメラを追加すると実行時のコストが高くなるというご意見にお応えして、すべての UI 関連作業のための軽量カメラを使うための専用カスタムパスをご用意しました。
カメラのアニメーションを簡単にするために、焦点距離が物理カメラのパラメーターに追加され(他のほとんどの物理カメラのプロパティと同様に)、アニメーション可能になりました。
Unity Recorder がフレーム補間に対応したことで、放送品質のモーションブラーやパストレースされたフレームの記録が可能になり、トレーラー、カットシーン、映画などのレンダリングを行って出来上がるオフラインビデオの品質が向上します。
HDRP パストレーサーは、ほとんどの HDRP シェーダー(ファブリック、stacklit、AxF、新しいヘアのライティングモデル)とボリューメトリックスキャッタリングをサポートするようになり、また最大サンプル数が増加しました。
詳細については、HDRP の新機能についてのドキュメンテーションをご確認ください。
Unity 2021.2 TECH ストリームを使って他の機能にも触れ、最新バージョンで追加されたアーティストやデザイナーのための改善点を取り入れましょう。
以下の Unity Hub のプロジェクトテンプレートを利用すれば、皆さんのニーズに合わせた設定がすでになされた環境で作業を開始することができます。
はじめに見ておくと役立つ動画を以下にまとめました。