Unity を検索

Unity 2021.2 ベータ版公開。フィードバック募集中です

2021年6月21日 カテゴリ: テクノロジー | 7 分 で読めます
words 'Beta' in blue on a black background
words 'Beta' in blue on a black background
取り上げているトピック
シェア

今回のリリースサイクルで Unity が皆さんにご提供するものをいち早くチェックしましょう。新機能や改善点を今すぐお試しいただけます。 最近のリリースでは安定性、パフォーマンス、ワークフローの最適化に注力してきました。これらの項目は Unity 2021.2 でも優先事項として引き続き力を入れている部分ではありますが、今回のリリースでは待ち望まれていた機能の多くが搭載され、その他多くの機能が初期のテスト段階の機能としてお試しいただけるようになっています。このブログ記事では、これらの新機能のうちいくつかについて詳しく解説します。 こちらは Unity 2021.2 でのコーディングおよびエディター全体に関する変更点を抜粋したものです。

  • エディター:シーンビューのツールのオーバーレイ、開発時体験の向上、エディターのパフォーマンス最適化、Apple Silicon エディターベータ版、AI ナビゲーションの実験的パッケージ、機能セット
  • スクリプティング:パフォーマンスの向上、アセットのインポートとスクリプタブルビルドパイプラインの最適化
  • プロファイリング:接続性の向上、プロファイラーでのプラットフォームとスクリプタブルレンダーパイプライン(SRP)のサポート、実験的なシステムメトリクス Mali パッケージ
  • プラットフォーム:Chrome OS サポート、Android ABB サポート、Android と WebGL に関する改善、Adaptive Performance のアップデート、UDP の改善

Unity 2021.2 では、他にも以下のような新機能や新しいツールを数多く提供します。アーティストの方や、チームで作業されている方からのフィードバックをお待ちしています。

  • HD レンダーパイプライン(HDRP):ボリューメトリッククラウド、地形のディテール、ストリーミングバーチャルテクスチャリング、Nvidia DLSS、パストレーシングとデカール UX の改善
  • ユニバーサルレンダーパイプライン(URP):シーンデバッグビューモード、リフレクションプローブのブレンディングとボックスプロジェクションのサポート、URP ディファードレンダラー、デカールシステム、深度プレパス、ライトレイヤー、ライトクッキー、SSAO のパフォーマンス改善、新しいテンプレート、新しいサンプルなど
  • SRP:レンズフレアシステム、ライトアンカー、GPU ライトマッパーのライトマップ空間タイリング、Enlighten リアルタイム GI、SRP 設定の改善
  • オーサリングツール:地形ツールのアップデート、SpeedTree 8 による植生、シェーダーグラフの改善、UI Toolkit ランタイム、Visual Effect Graph とシェーダーグラフの統合の改善、URP サポートの改善など
  • 2D ツール:2D Renderer の改善、Light Explorer での 2D Light のサポート、シェーダーグラフの Custom Lighting ノード、Visual Effect Graph のサポート、新しい 2D URP テンプレート、スプライトアトラス v2 の新しい API とフォルダー、2D Animation のアップデート、2D タイルマップ、2D 物理へのアップデート
  • シネマティクス:実験的パッケージ Sequences、Recorder のアップデート、Alembic、Python、Cinemachine の単純化されたインパルス、Unity バーチャルカメラおよびフェイスキャプチャのベータ版

 

最新のベータ版は Unity Hub またはダウンロードページから入手していただけます。この記事を公開した時点で、ベータ版には 3000 を超える修正と 720 を超える新機能と変更点が盛り込まれています。ベータ版は本制作段階のプロジェクトでの使用を想定していないことにご注意ください。常にお伝えしている通り、既存のプロジェクトをベータ版でご利用になる際は、必ずバックアップを取るようにしてください。

皆さんからのフィードバックはベータ版のリリースにおいて最も重要なものです。フィードバックへの感謝を込めて、未知のバグを最初にご報告いただいた方から抽選で 2 名の方に NVIDIA 社からご提供いただいた GeForce RTX™ 3090 グラフィックスカードをプレゼントいたします。 詳細はこのブログ記事の最後でご説明いたします。

 

RTX tech in foreground with with blue mirrors in the background

ベータ版期間中のフィードバック提供方法

最新のリリースを試す

まずは新機能に触れ、存分にテストしてください。問題が見つかった場合は、Bug Reporter を使ってご報告ください。Help > Report a Bug... をクリックしてご報告いただくことで、Unity チームはご報告いただいた問題を効率的に調査し、開発チームがより素早く問題を解決できるように、私たちのシステムでチケット化し、担当者に割り当てるまでの手続きが迅速に行えるようになります。問題について、フォーラムUnity Answers で議論されている場合は、ケース ID をお知らせいただけると助かります。バグレポートを送信する前に、公開されている Issue Tracker で、同じ問題が既に報告されていないかをご確認ください。

Grey menu that has 'report a bug' selected

ベータ版の期間中に積極的に問題をご報告していただくといいことがあります。まだ修正されていない不具合を直したり、すべての人により良いリリースがお届けできるようになるということももちろんですが、オリジナルかつ再現可能なバグを 1 件レポートしていただくたびに、先ほどご紹介したベータ版バグレポートの景品が当選するチャンスが広がります。この抽選には、バグレポートに「#Beta2021Win_NVIDIA」を追加していただくだけでご参加いただけます。

皆さんの声を確実にお届けいただく方法

Beta and Experimental フォーラムは、Unity コミュニティとスタッフがつながり、リリース前のテクノロジーやベータ版について議論を行う場所です。皆さんにフォーラムに参加していただくことで、Unity チームはベータ版の状況を評価しやすくなり、また製品ロードマップの立案や開発者のニーズや体験を理解する際の精度が上がり、Unity のツール群の進化を加速させることができます。ベータ版に関するフィードバックを 2021.2 ベータ版フォーラムにぜひご投稿ください。 

Unity での全体的な体験に関するフィードバックを送りたい方や、将来の Unity に対する意見がある方は、Unity Pulse にご参加ください。こちらは私たちの新しいリサーチプラットフォームおよびコミュニティで、アンケート、投票、ラウンドテーブル、インタビュー、およびグループディスカッションなど、私たちのリソースをどこに優先的に使うかをより良い形で決めるための活動を行う場所です。詳細はこちらのブログ記事でご確認ください。 

それでは、ここからはこのリリースで試していただけることを順に見ていこうと思います。

エディター

Unity 2021.2 でも引き続き開発時の体験向上に力を入れており、エディターの速度面でのパフォーマンスの大きな向上と、新しく有用なワークフローオプションの追加が実現しました。

このリリースでは、シーンビューの UX を抜本的に見直し、アーティスト向けのコンテキストベースのツールをオーバーレイさせる機能と、カスタム可能なフロート型ツールバーを追加しました。まずはシーンツール(移動、回転、拡大縮小など)、コンポーネントツール、方向ツール、検索ツールです。このシステムは拡張可能で、カスタムのツールやツールバーをオーバーレイする部品として追加することもできます。

Gif of several menus being used in the Unity editor
新しく追加されたシーンビューのツールオーバーレイ

他にもエディター全体で、皆さんがより効率よく作業できるようにするための改善が多数盛り込まれています。

  • Transform コンポーネントの Scale に方向軸間の比率を固定する機能が追加されました。
  • プロジェクトのアセットにコピー/カット/ペースト機能が追加されました。複数のオブジェクトをヒエラルキーからプロジェクトウィンドウにドラッグすると、複数のプレハブが生成されるようになりました
  • インスペクターで複雑なプレハブをより素早くプレビューできるようになりました。また、「revert to Prefab」が複数の選択に対しても有効になりました。
  • ゲームビューの「maximize on play」に新しいオプションが追加されました。
Grey tranform menu with different numbers in the position, rotation and scale boxes. An icon that looks like a paper clip is circled/highlighted in yellow.

インスペクターの数値フィールドで使える数学機能を改良しました。たとえば「sqrt(9)」が使えたり、「*=2」で選択した値をすべて 2 倍にしたりできます。また、C# のさまざまな数学型(たとえば Vector3)に対して ToString() を使うと、小数点以下第 2 位まで数値を表示するようになりました(これまでは第 1 位まで)。

Renderer コンポーネントのマテリアルのスロットをクリックすると、シーンビューでそのマテリアルが適用されている部分がハイライトされるようになりました。

Gif of materials in the Unity editor being highlighted.

今回のリリースでは、ビジュアルスクリプティングでの開発体験向上を目指した改善点も数多く盛り込まれています。空のグラフエディターウィンドウを開くと、グラフの作り方や読み込み方のガイダンスに誘導するウィンドウが開きます。アイコンが Unity エディターとより親和性のあるデザインに修正されました。「ユニット」は「ノード」に、「スーパーユニット」は「サブグラフ」にそれぞれ改称されました。ビジュアルスクリプティングを使っている時に、プロジェクトからアセットをインポートする際に掛かる時間を短縮しました。Script グラフや State グラフへのアクセスを単純化するための新しいノードも利用できるようになっています。

検索ツールまわりのワークフローも改善しました。新しい Table ビューを使って、複数のプロパティをまたいだ検索結果を比較したり、名前や説明で項目をソートしたりして見られるようになりました。Asset Picker でリファレンスを選択した時、より関係性の高い項目を提示するために検索ツールを使えるようになりました。

このリリースでは、パッケージマネージャーに機能セットが追加されます。これはモバイル向けに 2D ゲームの開発や 2D 制作を行うなどの特定の結果のために必要なパッケージをグループ化する新しい考え方です。機能セット内のパッケージは組み合わせて上手く動くように設計されており、機能セットを使い始めるための学習リソースにパッケージマネージャーから素早く、迷うことなしにアクセスできるようになっています。 

加えて、私たちは最近 Apple Silicon 対応エディターのベータ版をリリースしました。これは M1 Mac ユーザーにネイティブの Unity エディター体験を提供するものです。ベータ版期間中に皆さんからのフィードバックをいただき、Unity 2021.2 でのフルリリース版に向けて必要な改善を加えたいと考えております。このエディターのベータ版へのアクセスや、フィードバックの送り方についてはフォーラムをご覧ください。

今回のリリースでは、イテレーションプロセスを開発ライフサイクル全体で高速化できるようなアセットワークフローへの改善も加えられています。新しく追加された Import Activity ウィンドウは、インポートプロセスでどのアセットがインポート、再インポートされたか、それがいつ起きたか、どのくらいの時間がかかっているか、実際にそれらのインポートや再インポートが起きたか、ということを把握するために役立ちます。

The new import activity window - file 'lensdirto1' is selected.
新しく追加された Import Activity ウィンドウ

今回のリリースでは、テクスチャインポートの高速化、メッシュインポートの最適化、および新しいインポート時オプションのおかげで、全体的にアセットのインポートが高速化されています。この改善に関する詳細はこちらのフォーラム投稿をご覧ください。

Asset import  update time graph the bars are shorter ever year/update we have done.

最後に取り上げるのは、スクリプタブルビルドパイプラインの最適化とビルドキャッシュのパフォーマンス改善によるビルドプロセスの最適化への取り組みです。インクリメンタルな C# スクリプトのコンパイルをサポートするソリューションによって、Windows、macOS、Android、WebGL のコードビルドパイプラインのアップグレードも行っています。この結果、プロジェクトに小さな変更を加えた時のプレイヤーのビルド時間が実際に加えた変更のサイズによく比例するようになりました。将来のバージョンの Unity では、この改善を他のプラットフォームに対しても追加するための作業を進めています。

ビルド設定メニューに新しく追加された IL2CPP コード生成オプションを使うと、生成されるコード量を大幅に抑えられるようになりました(最大で 50% 削減)。これにより、IL2CPP でビルド時間を削減しつつ、実行形式ファイルのサイズを抑えるということが可能になりました。コード生成手法を変えたことにより、実行時のパフォーマンスに若干の影響があるかもしれません。そのため、このオプションはチームがイテレーションに使う時間を抑制するために最も適したものということになります。このオプションが皆さんのプロジェクトの進行速度にどのように影響を及ぼすかを、こちらのフォーラムスレッドでお知らせいただけると幸いです。

AI Navigation パッケージの実験的リリースも提供されます。このパッケージを使うと、実行時および Unity エディター内でナビメッシュをビルドおよび使用する際により細やかな制御を行うことができるようになります。こちらのドキュメントのセクションで詳細をご確認いただき、フォーラムでのディスカッションにもぜひご参加ください。

The inspector menu is on the right and the scene view shows part of a building
実験的な com.unity.ai.navigation パッケージをパッケージマネージャーから追加可能。

プログラミングワークフロー

以下に挙げるような、コーダーに有益なパフォーマンスの改善が新たに行われています。

  • 関数のインライン化をより積極的に行うことで、C# の数学演算性能が向上しました。
  • Burst ジョブから非同期のオープン・クローズ、キャンセルを含む Async Read マネージャ API を呼び出すことができるようになりました。
  • アセットのガベージコレクションコードがマルチスレッド化しました。
  • 一般的なデータパターンに対する GUID ハッシュ生成が 6 倍高速化されました。

今回のリリースでは、プロファイリングツールセットに多くの改良が加えられています。

  • テザリングした Android デバイスとプロファイラーの接続が改善されました。
  • 接続に関するドロップダウンメニューが、プレイヤーの接続をローカル、リモート、直接接続の各カテゴリーに分類するツリー表示に変更されました。
  • URP/HDRP コードの GPU タイミングを取得するためのプラットフォームサポートが改善されました。
  • 任意のデータをプロファイラーに渡し、カスタムプロファイラーモジュールとして可視化するための新しい API が追加されました。ゲームやその他のシステムに関連するパフォーマンス指標をプロファイラーウィンドウに表示したり、プロファイラーのデータを別の方法で可視化してさらに詳しい分析を行うことが可能になりました。
  • プロファイラーウィンドウでのメモリーモジュール表示が改善されました。フォーラムでのディスカッションはこちらでご覧になれます
a gif of the profiler menu being used

新しい System Metrics Mali パッケージの実験的リリースでは、プロファイリングや実行時パフォーマンスの調整のために、Mali アーキテクチャを搭載したモバイルデバイスの低レベルのシステムまたはハードウェアのパフォーマンスメトリクスにアクセスすることができます。詳しくは、ドキュメントおよびフォーラムスレッドをご覧ください。このリリースはパッケージマネージャーで「Add Package by name」機能を使い、com.unity.profiling.systemmetrics.mali と入力することで追加することができます。

プラットフォーム

新しい Screen API を 4 つ追加しました。これらの API が追加されたことにより、ゲームの表示設定をより細かく制御できるようになり、マルチモニターを使用しているプレイヤーは、ゲームウィンドウをどのモニターに表示させるかを選択できるようになります。追加された API は、Screen.mainWindowPositionScreen.mainWindowDisplayInfoScreen.GetDisplayLayout()Screen.MoveMainWindowTo() の 4 つです。 

このリリースには、Android 開発環境内での Chrome OS のサポートが含まれています。Unity は、Chrome OS デバイスの x86、x86-64、Arm の各アーキテクチャをサポートします。さらに、開発者はキーボードとマウスのセットアップをフル活用するために独自の入力制御を作るか、組み込みのエミュレーションを使うかを選ぶことができます。Chrome OS のサポートは、Unity の Android エコシステムの中に含まれているため、プラットフォームのメンテナンスが少なくて済み、Google Play ストアへの公開も容易です。詳しくは、ドキュメントと、フォーラムのディスカッションをご覧ください。

Unity 2021.2 では、アセットの構築について、Unity が Androidの新しい拡張ファイル形式であるAndroid App Bundle(AAB)を直接サポートするようになります。AAB を利用することで、開発者は Google Play に新しいアプリを公開する時、いつでも Google Asset Delivery の要件を満たせるようになります。

Unity 2021.2 では、Adaptive Performance 3.0 が利用可能になります。今回の新バージョンでは、Startup Boost モードが追加され、Adaptive Performance が CPU/GPU のリソースを優先的に使用することで、ゲームの起動をより速くすることができます。また、Unity プロファイラーと統合されたことで、通常のワークフローでより効率的に Adaptive Performance をプロファイリングできるようになりました。詳しくは、ドキュメントと、フォーラムのディスカッションをご覧ください。

Android デバイス向けに開発しているクリエイターは、新たに追加された Android スレッド構成の改善の恩恵を受けられます。これには、アプリをよりエネルギー効率の高いものに最適化するか、より高いパフォーマンスを発揮するものに最適化するかを選択できるオプションが含まれています。ほとんどのユーザーにとってはデフォルトの設定で問題ありませんが、より技術的知識が深いユーザーは、この機能を使ってアプリケーションの実行方法を細かく制御して、ハードウェアでのパフォーマンスを最大限に引き出すことができます。

WebGL の改善には Emscripten 2.0.19 が含まれています。これによりビルド時間が短縮され、WebGL ターゲットの WebAssembly 出力のサイズが小さくなります。

また、今回のリリースには、今後追加される見込みであるモバイル Web ブラウザーにおける WebGL Player のサポート 、ジャイロスコープ、加速度センサー、重力センサー、姿勢センサーの値を含む機能(iOS および Android ブラウザー)が含まれています。その他にも、前方と後方に設置されたウェブカメラや、Android ブラウザー上で動くフルスクリーンのプロジェクトの画面の向きを固定できる機能など、様々な点が強化されています。

圧縮オーディオのサポートにより、長時間再生される BGM や大容量のオーディオファイルに対して、ブラウザー内の WebGL プレイヤーが使用するメモリ量が削減されます。

モバイル Web ブラウザーをターゲットとした ASTC または ETC/ETC2 圧縮テクスチャー形式と、デスクトップブラウザーでより高品質な圧縮テクスチャーを実現する BC4/5/6/7 テクスチャー形式を選択できるようになりました。

Unity Distribution Portal(UDP)の改良には、エディターの再生モードのサポートが含まれています。さらに、ゲームはプロジェクトで定義されたアプリ内購入商品を取得し、購入と消費は常に成功するようになっているので、UDP メソッドのコールバック待ちに妨げられることなしに、再生モードでフルフィルメントをテストすることができます。

また、UDP の実装に役立つガイドも追加されています。UDP をどのように(直接、または Unity IAP 経由で)実装しようとしているかがわかれば、ステップごとの説明やコードサンプルを見ることができます。このガイドにはメニュー構造からアクセスして、そこで実装ガイドを検索することができます。

シネマティクス

Unity 2021.2 では、シネマティックツールに多くの改良が加えられ、新しいパッケージも追加されました。

新しい実験パッケージ Sequencescom.unity.sequences)は、映像制作のための新しいワークフローツールで、映像を作るためのエディトリアルコンテンツを整理し、共有できるようにし、かつ柔軟に運用できる形に保ちます。詳しくはドキュメントをご覧ください。 

Recorder の最新リリースには、ビジュアルエフェクトやコンポジットでのセパレーション作成に便利な Arbitrary Output Variable(AOV)レコーディングが統合されています。また、パストレーシングと累積モーションブラーを統合し、よりリアルなレンダリング効果を実現しました。 

Alembic フォーマットサポートの最新リリースには、インポートを効果的に回避して任意の場所から Alembic ファイルをストリームする機能や、マテリアル処理の改善が含まれています。 

Cinemachine の Impulse が単純化され、爆発などのゲーム内イベントに対するカメラの反応を設定する方法が大幅に簡素化されました。 

Python for Unity は、Unity と様々なメディア・エンターテインメント向けアプリケーションとの連携を促進し、Unity をより広範な制作パイプラインに対して、シームレスに統合できるようにします。バージョン 4.0 では、Python をインストールする必要がなくなりました。また、Python 3.7 のサポートが追加され、ドメインの再ロード時にプロセス中の Python が再初期化されなくなりました。PySide のサンプルはよりシンプルで、プロセス中で動作しますが、仮想環境のサポートは限られています。詳しくは、ドキュメントと、フォーラムのディスカッションをご覧ください。

Unity 2021.2 では、高度なシネマティクスの使い方を改善することを狙いとした新しい実験的パッケージが投入されます。

Unity Virtual Camera は Apple の ARKit を利用して、デバイスから現実世界での動きを AR で追跡し、Unity エディター内でのカメラを動かす iOS アプリです。 

Unity Face Capture は Face ID が有効になっている iPhone または iPad でパフォーマンスのキャプチャー、プレビュー、記録を行い、iOS でそのパフォーマンスをモデルと紐づける機能です。Unity Virtual Camera と Face Capture にアクセスするには、Cinematics のオープンベータにご登録ください。

made in Unity. A room with a tall plant surrounded by a glass blox.

HDRP

アーティストは HDRP を使って、プロシージャルにボリューメトリッククラウドを追加することができます。デフォルトのパラメーターを調整してリアルな見た目の様々な雲を簡単に作ることができます。また、技術的知識の深いユーザーなら、より多くの設定項目にアクセスしたり、独自のマップをインポートしたりすることで、よりきめ細かく見た目を調整することができます。

NVIDIA Deep Learning Super Sampling(DLSS) は HDRP で利用可能なレンダリングテクノロジーで、人工知能を用いてグラフィックスの性能と品質を向上させるものです。リアルタイムにレイトレースされた世界を、高いフレームレートと高い解像度を保ったまま動かすことができます。また、ラスタライズされたグラフィックスのパフォーマンスと品質が大幅に向上し、VR アプリケーションのパフォーマンスも改善され、より高いフレームレートで動作するようになりました。これにより、フレームレートが低いことで発生する方向感覚の消失や吐き気などの悪影響を和らげることができます。

Three screenshots of a Lego game in three different HDRP modes
Light Brick Studio の『LEGO® Builder's Journey』。Windows PC と Nintendo Switch で 6 月 22 日(日本時間では 6 月 23 日)発売。

このパワフルなテクノロジーが Unity に搭載されることを記念して、NVIDIA 社のご協力のもと、ベータ版のユーザーから抽選で 2 名の方に GeForce RTX™ 3090 グラフィックスカードと、限定版の Unity x LEGO® ミニフィギュアをプレゼントいたします。 詳細はこのブログ記事の最後でご説明いたします。

A lego minifigure wearing a with a white with a Unity logo on it's chest holding a video game controller

HDRP パストレーサーへの改良としては、パストレーシングされたシーンへのボリューメトリック散乱のサポートが追加されました(以前はリニアフォグのみサポートされていました)。この機能によって、髪、布地、スタックライト、AxF マテリアルのほか、HDRI サンプリングが改善され、HDRI でシーンをライティングする際のビジュアル品質が向上しています。

密度ボリュームのフォーマットとブレンドの改善として、Density Volume コンポーネントのボリュームマスクとしてレンダーテクスチャまたはカスタムレンダーテクスチャを取ることができるようになりました。このほか、カラー情報を持つボリュームマスク、高解像度ボリュームマスク(HDRP 設定で最大 256 キューブまで設定可能)、密度ボリュームブレンド距離の減衰モード(線形または指数)などが追加されています。3D テクスチャアトラスが改良され、様々な解像度の 3D テクスチャや RGBA 3D テクスチャをサポートするようになりました。

Screenshot of snowy mountains made in Unity
HDRP ボリューメトリッククラウド

アーティストからのフィードバックに基づき、HDRP デカールの配置に関する UX を改善しました。ピボットポイントツール、UV 操作の改善、スケールトランスフォームのサポート、プレハブのサポート、ギズモカラーの編集、複数選択した対象の編集などです。

Streaming Virtual Texturing(SVT)は、シーン内に多数の高解像度テクスチャがある場合に、GPU メモリの使用量とテクスチャの読み込み時間を削減する機能です。これは、テクスチャをタイルに分割し、必要に応じてそのタイルを GPU メモリに順次アップロードしていくという仕組みで実現しています。SVT は実験的な機能で、HDRP でのみサポートされています。今回のリリースでは、PS5 プラットフォームへの対応など、さらなる改良が加えられています。

ユニバーサルレンダーパイプライン(URP)

Many images collaged together

今回のリリースにおける改善により、URP のScene Debug ビューモードは、ビルトインレンダーパイプラインで利用できるオプションと同等に近づきました。また、今回のリリースでは、URP の新しいデバッグワークフローとして Render Pipeline デバッグウィンドウが追加されました。デバッグウィンドウでは、レンダリングされるマテリアルのプロパティ、ライトとマテリアルの相互作用、最終フレームを生成するために行われるシャドウや LOD 操作などを確認することができます。

Gif of Spaceship hull light flickering on and off

リフレクションプローブのブレンディングとボックスプロジェクションのサポートが、プローブを使った反射表現の品質を向上させ、URP をビルトインレンダーパイプラインとの機能パリティに近づけるために追加されました。

Gif - Dark city scene, police cars. Sirens are flashing and blue and reds fluorescent shots are being exchanged between no one.

URP の Deferred Renderer では、すべての頂点シェーダーとピクセルシェーダーがレンダリングされた後に、ライトのシェーディングが別のレンダリングパスで、スクリーン空間で実行されるレンダリング技術を採用しています。ディファードシェーディングは、シーンのジオメトリとライティングの計算を切り離すため、各ライトのシェーディングは、それが実際に影響を与える可視ピクセルに対してのみ計算されます。このアプローチにより、フォワードレンダリングに影響を与えるような大幅なパフォーマンスの低下を招くことなく、シーン内の多数のライトをレンダリングすることができます。

Gif-shots are being fired at a wall. The marks from the bullets are visible. Made with Unity

新しいデカールシステムを使って、シーン内の面にデカールマテリアルを投影することができます。シーンに投影されたデカールは、メッシュに巻き付き、シーンのライティングと連動します。デカールは、マテリアルの反復性やディテールのパターンを崩して、シーンにより豊かな質感を加えるために有効に使うことができます。

このリリースでは、深度プレパスのサポートが追加されました。すべての可視で不透明なメッシュがレンダリングされるレンダリングパスで深度バッファが生成されます(フラグメントシェーディングのコストは発生しません)。この深度バッファは後続のパスで再利用できます。深度プレパスは、ジオメトリレンダリングのオーバードローを解消、または大幅に削減します。言い替えると、後続のカラーパスでは、この深度バッファを再利用して、1 ピクセルあたり 1 回のフラグメントシェーダーの呼び出しを行うことができます。

ライトレイヤーは、シーン内の特定のライトをマスキングして、特定のメッシュに影響を与えるために使える専用のレンダリングレイヤーです。つまり、レイヤーマスクと同じように、特定のライトレイヤーに割り当てられたライトは、同じレイヤーに割り当てられたメッシュにのみ影響を与えるということです。

URP ライトクッキーは、出射する光の強度をマスキングまたはフィルタリングして、パターンの付いた照明を実現する技術です。この機能は、キャストライトの外観、形状、強度を変更してアーティスティックな効果を得たり、実行時のパフォーマンスへの影響を最小限に抑えながら複雑なライティングシナリオをシミュレートしたりするために使用できます。

Dwarven style hallway - Made with Unity
(左)SSAO 有効(右)SSAO 無効

アンビエントオクルージョンは、特定の表面の明るさ(または暗さ)を、その周囲のジオメトリに基づいて近似するために使用されます。 このリリースでは、モバイルプラットフォームのパフォーマンスの向上や、ディファードレンダリングのサポート、深度/法線バッファの法線マップ、サーフェス、パーティクルなど、SSAO に関するいくつかの改善が行われています。

ビルトインレンダーパイプラインから URP への新しいコンバーターフレームワークにより、アップグレードツールがより堅牢になり、マテリアルの変換以上のものをサポートします。

モーションベクターがサポートされ、あるフレームから別のフレームへのオブジェクトのピクセル単位およびスクリーン空間単位の動きをキャプチャして保存する速度バッファを提供しています。

URP のボリュームシステム更新頻度を調節して、コンテンツやターゲットプラットフォームの要件に応じて、Volumes フレームワークのパフォーマンスを最適化することができます。

パッケージマネージャーで提供されている URP の新しいサンプルでは、機能の設定や実践的な使用例を 1 つまたは複数のシーンで見せることで、機能のユースケースを示しています。これらのサンプルは、チームのオンボーディングと学習を促進するために提供されています。

SRP

URP と HDRP に対応する機能は以下の通りです。

Spaceships battling in space - made in Unity

このバージョンで新しいレンズフレアシステムが導入されます。レンズフレアは、カメラのレンズ内で光が屈折したときの効果を再現したものです。 眩しい光を表現したり、さりげなくシーンの雰囲気を盛り上げたりするのに使われます。 新しいシステムでは、ビルトインレンダーパイプラインに搭載されているものと同様にフレアを重ねることができ、改良されたユーザーインターフェースや多くのオプションも追加されています。

ライトアンカーは、ワールド空間ではなくピボットポイントを中心にライトを操作する専用ツールを提供し、シネマティックスのライティングをより簡単に、より効率的にします。ライティングアーティストは、さまざまなプリセットを使って、キャラクターや興味を引くものにすばやく照明を当てることができます。これはビルトインレンダーパイプラインでも可能です。

Lighting in the scene view of the Unity editor

GPU ライトマッパーのライトマップ空間タイリング。タイル化してベイキングを行う技術を使うと、ベイキングのプロセスを利用可能な GPU メモリの領域に常に収まるように管理可能なチャンクに分割することで、GPU メモリの必要量を削減できます。その結果、GPU プログレッシブライトマッパーを使えば、ライトマップの解像度が大きくなっても高速なベイクが可能になります。

Enlighten Realtime GI では、シーンのグローバルイルミネーションに影響を与える動くライトなど、よりダイナミックな照明効果をプロジェクトに取り入れることができます。また、Enlighten Realtime GI は、Apple Silicon、Sony PlayStation(R) 5、Microsoft Xbox Series X|S の各プラットフォームに対応しています。

Gif of plant in glass box in different lighting

SRP 設定のワークフロー改善 は、ワークフローを変化させ、SRP のレンダーパイプライン間で一貫性を持たせることを目的とした、一連の UI/UX の改善です。今回のイテレーションでは、主に URP と HDRP の間でライトとカメラのコンポーネントをできるだけ同じようなものにすることに焦点を当てました。今回の変更点は、ヘッダーのデザイン、サブヘッダーのデザイン、エキスパンダー、設定の順序、ネーミング、依存フィールドのインデントを揃えることです。これらの変更点のほとんどは見た目の変更に過ぎませんが、高いインパクトがあります。

オーサリングツール

今回のリリースでは、以下の機能が地形ツール で利用できるようになりました。

  • 新しい地形のスカルプトブラシは、橋のような地形、地形のクローン、ノイズ、階段状の地形、ねじれた地形を生成できます。
  • Erosion ハイトマップベースのツール(浸食、風、熱による地形変化を再現)を搭載しています。
  • ノイズベースおよびレイヤーベースのフィルターを使ってマテリアルペインティングコントロールを改良しました。

開発体験全般の質を高めるインターフェースの改善が施され、Terrain Toolbox を使った地形オーサリングワークフローの効率化が図られました。

Grassy field made with Unity
地形のディテールを描くインスタンス化されたメッシュ

SpeedTree 8 の植生生成が HDRP と URP の両方に追加され、シェーダーグラフで作成された SpeedTree の風システムを使った植生のアニメーションに対応するなどの機能が追加されました。

The top of some trees and a blue sky made with Unity

Unity 2021.2 では、Visual Effect Graph に以下のような変更が加えられています。

シェーダーグラフ統合がリファクタリングされ、シェーダーグラフで作られたあらゆる HDRP シェーダー(Unlit、Lit、Hair、Fabric など)を使って、Visual Effect Graph のプリミティブをレンダリングすることができます。この変更は、シェーダーグラフの Visual Effect ターゲットを置き換えるもので、最終的に HDRP では非推奨となります(ただし現時点でサポートはされています)。また、パーティクルを頂点レベルで変更することができるので、シェーダーアニメーションで羽ばたく鳥や、シャボン玉のように揺れるパーティクルなどの効果が得られます。

Signed Distance Field Baker は、Texture3D の静的なジオメトリを、エディター上で符号付き距離フィールドとして直接かつ迅速にベイクする新しいツールです。

On the left is a blue cube with a blue sphere inside - on the right is a yellow cube that is animated and is almost made of sparks.

境界ヘルパー に、パーティクルの境界を設定してカリングのパフォーマンスを向上させたり、誤った境界によるパーティクルシステムのカリングを防ぐための機能を追加しています。

構造化グラフィックスバッファのサポートにより、テクスチャに加えて構造化グラフィックスバッファを使用して Visual Effect Graph にデータを渡す新しい選択肢が追加されました。この機能は、髪の毛や流体の動きなどの複雑なシミュレーションを追加したり、Visual Effect Graph を使って複数の敵の位置などの動的データをプログラムで割り当てたいというプログラマー向けの機能です。

URP サポートの改善により、Visual Effect Graph の安定性と、Compute Capable なデバイス上での URP との互換性を強化しました。URP と 2D Unlit Sprite シェーダーでのライトパーティクルのレンダリングに対応しました。

Unity 2021.2 のシェーダーグラフには、以下の変更が加えられています。

Shader キーワードの制限は事実上撤廃されました。キーワードを扱うためのより効率的な API を追加し、グローバルシェーダーキーワードとローカルシェーダーキーワードを非常に明確に分けました。詳しくは、フォーラムのディスカッションでご確認ください。

ShaderLab Package Dependency の構文を更新しました。これまでは、複数のレンダーパイプラインに対応するツールやアセットにおいて、シェーダーやパッケージ間の依存関係を表現する方法がなく、アセットストアの開発者とエディターを使っている開発者の両方に影響を与えていました。ツールの開発者は、対応するレンダリングパイプラインごとにパッケージを分けて公開することで、この制限を回避していました。ShaderLab Package Dependency 機能は、ShaderLab の構文を拡張し、シェーダーの作者がシェーダーのパッケージへの依存関係を明示的に表現する手段を提供することで、この制限を取り除きます。

Unity 2021.2 では UI Toolkit を、ゲームやアプリケーションの実行時 UI を作成する代替の手段として使用できるようになりました。UI のビジュアルオーサリングとデバッグのための専用ツールを提供し、TextMesh Pro による美しくスケーラブルなテキストのレンダリング、テクスチャを使わない鮮やかな外観のレンダリングを実現し、また、Unity UI(uGUI)と並行して使用することもできます。詳細は、ドキュメント、またはフォーラムディスカッションでご確認ください。

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

2D

注:この記事を書いている時点では、Unity 2021.2 ベータ版の 2D パッケージはまだ公開されていません。この内容は一時的なもので、すぐに修正されます。

いくつかの URP/2D Renderer の改善がこのリリースには含まれています。

URP に新しく追加された SceneView Debug モードは、2D レンダラーを使用している 2D 開発者に関連のあるものでしょう。このツールにより、開発者は Mask、Alpha channel、Overdraw、Mipmaps などのビューにアクセスできるようになりました。スプライトマスク機能が SRP で正しく動作するように調整されました。Window > Analysis > Rendering Debugger > Material Override でアクセスできます。

2D Renderer は、カスタムパスを追加できる Renderer Features を使ってカスタマイズできるようになりました。

2D Lights は、Light Explorer ウィンドウに統合され、「実験的」のラベルが外れました。2D Shadows は最適化されており、リファクタリング作業、シャドウの単一チャンネルへのレンダリング、ライトごとのシャドウカリングなど改善がこのリリースに盛り込まれています。

2D Lights で生成された 2D Light Texture は、シェーダーグラフの 2D Light Texture ノードからアクセスできるようになりました。これを応用して、スプライト用の自己発光マテリアルを作成することができます。

Visual Effect Graph が 2D Unlit シェーダーに対応。今回の最初のイテレーションでは、Visual Effect レンダラーは 2D ライトの影響を受けません。このフォーラムスレッドに、皆さんの体験談をお寄せください。

a person running in the ran with rocks and trees behind them. The scene is a gif and was made with Unity

新しい 2D URP のデフォルトテンプレートが追加されました。検証済みのすべての 2D ツールがプリコンパイルされて含まれるようになりました。これにより、新しいプロジェクトを URP や設定済みの 2D Renderer など、必要な 2D ツールセットをすべて含んだ状態でより迅速に読み込めるようになりました。また、このテンプレートには、2D プロジェクトに最適なパッケージや初期設定が含まれています。

その他の 2D の改良点としては、スプライトアトラス v2 には、フォルダーのサポートと、複数のアトラスにまたがって存在する重複したスプライトを見つけるための新しい API、MasterAtlas と IsInBuild で使うクエリがあります。2D Pixel Perfect のインスペクターの UI の設定表示もより直感的になりました。2D PSD Importer には、UX がさらに改良された他、Photoshop レイヤーのより良い制御や、スプライト名のマッピングが盛り込まれました。Unity にレイヤーグループを展開するオプションが追加され、また、ツールで物理形状を自動生成できるようになったので、キャラクター以外のシーン要素のインポートが便利になりました。

2D アニメーションのアップデートにはボーンのカラーが含まれています。これは視覚化設定のパネルで設定できるようになりました。この設定により、色や組織の区別がつきやすくなります。スキニングエディタのツールのツールチップにショートカットが表示されるようになったほか、ボーンへのスプライトの影響を確認できるツールが追加されるなど、UX 面での改善も行われています。

2D タイルマップでは、タイルマップ用のカスタムツールを作成するために、既存のタイルパレットボタンを上書きしたり、新しい機能を追加したりするための機能が追加されました。API の変更点としては、TileChangeData 構造体 が追加されたことにより、いくつも API を呼び出すことなく、一度にタイルの位置と色と変形方法を設定することができるようになりました。新しい API では、アニメーション化されたタイルの情報を取得したり、タイルの範囲を取得することができます。SetTiles(引数に Tile 配列と TileChangeData)や SetTilesBlock など、複数のタイルを一度に設定する API を使用する際のパフォーマンスが向上しました。

2D 物理では、新しい統一されたシェイプグループ機能を使って、プリミティブな物理シェイプ(円、カプセル、ポリゴン、エッジ)を読み書きできるようになりました。この新しい API は、プリミティブシェイプを物理シェイプグループに追加したり、任意の Collider2D、または任意の Rigidbody2D に接続されたすべての Collider2D からプリミティブシェイプを取得する機能を提供します。さらに、新しい CustomCollider2D では、シェイプグループを直接書き込むことができ、Collider2D の内部に高速かつ直接アクセスすることが可能です。CustomCollider2D は、既存のすべての Collider2D を再現したり、シンプルな Collider2D やプロシージャルに生成された複雑な形状の Collider2D を新しく作成することができます。将来、物理シェイプグループは、新しい物理クエリやスプライトの物理シェイプとの相互作用など、新機能の基盤を形成していく見込みです。

 

抽選で NVIDIA GeForce RTX™ 3090 をもらおう

DLSS のプレビュー版のリリースを記念したベータ版プレゼント企画として、抽選で 2 名の方に NVIDIA 社からご提供いただいた GeForce RTX™ 3090 グラフィックスカードをプレゼントいたします。レイトレーシングと DLSS のパワーと効率性を、次に作る HDRP プロジェクトに加えていただければと思います。

RTX tech in foreground with with blue mirrors in the background

抽選に参加するには、応募期間中に Unity 2021.2 のオリジナルのバグを 1 つ以上特定して報告する必要があります。コンテストは日本時間の 2021 年 6 月 22 日 1 時 01 分から開催されており、同じく日本時間の 2021 年 10 月 3 日 9 時 00 分までに応募されたバグレポートが抽選の対象となります。

「オリジナルのバグ」とは、応募時点でまだ報告されていないバグであり、かつ Unity 側で再現され、バグとして認定されたものを指します。この抽選には、バグレポートに「#Beta2021Win_NVIDIA」を追加していただくだけでご参加いただけます。有効な応募の本数が増えるほど当選確率は上がりますが、1 人の参加者が 2 つ以上賞品を獲得することはありません。

コンテストに参加していただくために何らかの課金をしていただく必要はありません。コンテストのルールに違反する応募は無効となります。完全なルール(英語)はこちらをご覧ください。当選者の方には Unity から直接ご連絡いたします。

NVIDIA の技術プラットフォームを使用したレイトレーシングツールやトレーニングにアクセスできる NVIDIA Developer Program へのご登録はこちらから行っていただけます。

より良い Unity を作る中心となるコミュニティ、Unity Pulse にぜひご登録ください

Unity チームに直接フィードバックを提供したい方は、新製品のフィードバックやリサーチを行うコミュニティ、Unity Pulse にご登録ください。このコミュニティを作ったのは、皆さんの経験や知見が Unity の進化に欠かせないと信じているからです。Unity のプロダクトチームと交流し、新製品のコンセプトに触れたり、ベータ版製品へのフィードバックをしたりすることで、最高の製品や体験を提供することができます。皆様からのフィードバックをお待ちしております。 Unity ID に登録またはログインしてください

The Unity Pulse logo on a gen art background

Unity 2021.2 で作ったゲームを市場に出そうとされている方へ

Unity では、次のUnityプラットフォームのリリースを一緒に発表してくれるゲームクリエーターを募集しています。マーケティングや PR 活動に協力し、他の開発者にプラットフォームの新機能や利用可能な機能について教えてあげてください。 

ご希望の方には、ご自身で開発されているゲームについてお話を伺います。こちらのフォームから、プロジェクトの情報をお送りください。

Taken from Oddworld Soulstrom game - Person running along a rocky mountainous type area. ahead of them are large stone bridges and large boxes hanging from wires
『Oddworld: Soulstorm』

以下の資料は情報提供のみを目的としたものであり、契約に組み込まれることはありません。以下の資料に基づいて購入の意思決定を行うべきではありません。Unity は、いかなる機能およびコードの提供を約束するものではありません。すべての製品および機能の開発、提供時期の決定、およびリリースは、Unity の独自の裁量により行われ、変更されることがあります。

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