Unity を検索

Unity 6 Preview が公開されました

2024年5月1日 カテゴリ: Engine & platform | 24 分 で読めます
Unity 6 Preview release
Unity 6 Preview release
シェア

Is this article helpful for you?

Thank you for your feedback!

本日、Unity 6 Preview が公開され、ダウンロードできるようになったことをお知らせいたします。Unity 6 Preview は、以前は「2023.3 TECH ストリーム」と呼ばれていたものです。これは 2024 年中にリリースされる Unity 6 までの開発サイクルからの最後のリリースとなります。

昨年 11 月に開催された Unite において、私たちは Unity のバージョンの命名規則を変更することをお知らせしました(詳細はこちらのフォーラム投稿でご覧いただけます)。

Unity 6 Preview の構成は、TECH リリースと同様です。これは、探索的な段階やプロトタイピングの段階にあるプロジェクトにおいて、新機能や更新された機能をより早く利用開始できるようにするサポートつきリリースです。本番環境のプロジェクトでは、安定性とサポートを向上させるために Unity 2022 LTS リリースを使用することをお勧めします。

この記事では、Unity 2023.1 および Unity 2023.2 でリリースされた機能も含め、Unity 6 Preview からハイライトとなる機能をいくつかご紹介します。より詳細な情報は、公式のリリースノートでご確認いただけます。

レンダリングパフォーマンスの強化

Unity 6 Preview では、ユニバーサルレンダーパイプライン(URP)と HD レンダーパイプライン(HDRP)の両方に大幅なパフォーマンスの強化が施され、さまざまなプラットフォームをまたいだ制作を大幅にスピードアップできるようになりました。コンテンツにもよりますが、この記事で紹介する機能強化により、CPU のワークロードを 30 ~ 50% 削減し、さまざまなプラットフォームでよりスムーズで高速なレンダリングが提供されます。

新しい GPU Resident Drawer により、複雑な最適化を手動で行わずとも、より大きくリッチなワールドを効率的に描画することができます。ハイエンドのモバイル、PC、コンソールなどのプラットフォームで、大規模で複雑なシーンを描画する際、ゲームオブジェクトの CPU フレーム時間を最大 50% 削減し、ゲームを最適化できます。

GPU Resident Drawer
ゲームを最適化することで、大規模で複雑なシーンのレンダリングにおいて、ゲームオブジェクトに使われる CPU フレーム時間を最大 50% 削減できる。

GPU Resident Drawer とともに動作する GPU オクルージョンカリングは、各フレームのオーバードローを削減し、見えないものを描画することにリソースを浪費しないようにすることで、ゲームオブジェクトのパフォーマンスを向上させます。

GPU 駆動アプローチを使って、GPU オクルージョンカリングによりシーン中で見えないものをレンダリングしないようにする。

GPU パフォーマンスを最適化し、Spatial-Temporal Post-Processing(STP)でビジュアルの品質とランタイムパフォーマンスを大幅に向上できます。 STP は、低解像度で描画されたフレームを、忠実性を損なうことなくアップスケールできるよう設計されており、さまざまなレベルのパフォーマンス能力と画面解像度を持つプラットフォームに対して、一律で高品質なコンテンツを提供できます。STP は、デスクトップ、コンソール、そしてコンピュートシェーダーに対応したモバイルデバイスにおいて、URP と HDRP の両方に対応します。

GPU-driven rendering
STP は GPU のパフォーマンスを最適化し、ビジュアル品質とランタイムのパフォーマンスを大幅に向上させる。

URP のレンダーグラフは、レンダーパイプラインのメンテナンスと拡張性を簡素化し、描画の効率とパフォーマンスを向上させる、新しいレンダリングフレームワークおよび API です。この新しいシステムは、特にタイルベース(モバイル)GPU においてエネルギー消費とともにメモリ帯域幅の使用を削減するため、ネイティブレンダーパスの自動マージや作成など、主要な最適化を複数導入しています。

新しい Render Graph API はまた、カスタムパス注入ワークフローを合理化し、独自のカスタムラスターパスとカスタムパスでレンダーパイプラインを簡単に拡張し、新しいコンテキストコンテナーを使用して必要なすべてのパイプラインリソースに確実にアクセスできるようにします。

最後に、新しい Render Graph Viewer ツールにより、エンジンのレンダーパスの作成とフレームリソースの使用状況をエディターで直接分析できるようになり、レンダーパイプラインのデバッグと最適化が簡素化されました。

Render Graph Viewer
Render Graph Viewer を使って、レンダーパイプライン、パス、リソースを解析する

URP の中心窩レンダリング API では中心窩レベルを設定し、ユーザーの中間/遠方周辺部の再現度を下げるかわりに GPU パフォーマンスを向上させることができます。

新たに 2 つの中心窩モードが利用できます。固定中心窩レンダリングの場合はスクリーン空間の中央の領域が品質向上の恩恵を受け、視線中心窩レンダリングの場合はスクリーン空間のどの領域が恩恵を受けるかを決定するためにアイトラッキングが使用されます。

固定中心窩レンダリング API は Sony PlayStation®VR2 プラグイン、および Oculus XR プラグインと互換性があり、OpenXR プラグインに対するサポートも近いうちに実装予定です。

Foveated rendering AP
フォーカスする場所に品質レベルを集中させることで GPU パフォーマンスを向上させ、VR における高品質ビジュアルの確保とフレームレートの改善を両立させよう。

HDRP と URP の両方の Volume フレームワークの改善によりすべてのプラットフォームでの CPU パフォーマンスが最適化され、ローエンドのハードウェアでもフレームワークが利用可能になりました。全体的にユーザーインターフェースが改善され、HDRP で可能だったのと同様に、URP ではグローバルおよび品質別のレベルのボリュームを設定できるようになりました。さらに、URP によるカスタムポストプロセスエフェクトで Volume フレームワークを活用し、カスタムフォグのような独自のエフェクトを構築することも簡単になりました(詳しくは 12 月のライブストリームでのデモをご覧ください)。

URP custom post-processing
URP のカスタムポストプロセッシング

ライティングの機能強化

Adaptive Probe Volumes(APV)により、Unity でグローバルイルミネーションによるライティングを構築する新たな方法が提供されます。ライトプローブでライティングされるオブジェクトのオーサリングがより効率化され、イテレーション時間を節約することができます。これにより、日中の時間をシミュレーションするシナリオやストリーミングのような新たな可能性が開かれます。

Unity 2023.1 および 2023.2 TECH ストリームで提供された APV の開発成果をベースとして、Unity 6 Preview での機能強化として、オーサリングワークフローの改善、ストリーミング機能の拡張、インパクトのあるライティング遷移を実現するためのコントロールやプラットフォームの拡張などが盛り込まれました。 

また、APV Scenario Blending を URP に拡張し、より幅広いプラットフォームに対応できるようになりました。これにより、昼夜の切り替えや部屋の照明のオン/オフの切り替えなど、ベイクされたプローブ音量データを簡単にブレンドできるようになりました。

複数のライティングシナリオをベイクし、実行時にブレンドすることができる。これはプローブのボリュームデータにのみ適用され、ライトマップ、光の位置、強度などの他の要素は手動で処理する必要がある。アセットクレジット:Azure[Sky] Dynamic Skybox Video

URP と HDRP の両方でサポートされている APV スカイオクルージョンは、バーチャル環境に時間帯別の照明シナリオを適用することができ、APV シナリオブレンディング使用時よりも空からの静的間接光のカラーバリエーションを増やすことができます。

スカイオクルージョンを使用すると、APV シナリオブレンディング使用時よりも空からの静的間接光のカラーバリエーションを増やすことができる。アセットクレジット:Azure[Sky] Dynamic Skybox

APV ディスクストリーミングが URP の非コンピュートパスに対応し、アセットバンドルおよび Addressables でのサポートが有効化されました。 

Prove Adjustment Volumes ツールを活用して、APV コンテンツの微調整や光の漏れの修正を行いましょう。これらのボリューム内のプローブにできる調整には、「サンプル数のオーバーライド」と「プローブの無効化」があります。調整ボリュームの影響を受けないライトプローブは非表示にでき、プローブのライティングデータは、影響を受けるプローブについてのみプレビューできるようになり、プローブボリュームおよびプローブ調整ボリュームコンポーネントから直接ベイクできるようになりました。

ライティングアップデートでは、新しい C# Light Probe Baking API を導入し、一度にベイクするプローブの数を制御して、実行時間とメモリ使用量のバランスを取れるようになりました。

API の使用例として、APV プローブベイキングエディターのコードを使用します。この使用例は Github で入手可能です。

よりリッチで高忠実度な環境

HDRP では、日没および日の出のシーンの空のレンダリングが改良され、プロジェクトの日中の時間をシミュレーションするシナリオをより良い形で実現できるようになります。これにより、オゾン層のサポートや、距離の離れている場所のフォグを補完する大気散乱が追加されます。

空の大気散乱
空のオゾン層

コースティクスをサンプリングし、ボリュメトリックライトのシャフトを構成する水中のボリュメトリックフォグのサポートにより、水の表現も改良されました。パフォーマンス最適化に、CPU のシミュレーションを複製する代わりに、GPU からのシミュレーションを 2 ~ 3 フレームの遅延でリードバックするオプションが含まれるようになりました。また、ミックストレーシングモードによる透明サーフェスのサポートも追加し、水などのサーフェスを地形や植生と一緒にレンダリングする際に、レイトレースとスクリーンスペースエフェクトを混在させることができるようになりました。

水のボリュメトリックフォグ

大規模かつ動的なワールドをレンダリングする際にはパフォーマンスが鍵となるため、前述の新しい GPU Resident Drawer を活用し、URP と HDRP の両方で SpeedTree 植生レンダリングを最適化しました。

VFX Graph のアーティストワークフロー

VFX アーティスト向けには、より多くのプラットフォームに効率的にアクセスできるよう、ツールおよび URP サポートを改善しました。VFX Graph プロファイリングツールは、VFX アーティストが特定のエフェクトを微調整し、パフォーマンスを最大化するために、メモリとパフォーマンスに関するフィードバックを得ることによって、グラフ内で最適化できる要素を見つけられるようにします。

VFX Graph Profiling Tools
VFX Graph のプロファイリングツール

また、シェーダーグラフキーワードのサポートを活用してより簡単にウーバー VFX シェーダーを構築したり、高速衝突やワールドからのパーティクル生成のための URP 深度およびカラーバッファへのアクセスによって URP でより複雑なエフェクトを構築したりすることができます。

VFX Graph のコンセプトと機能の学習を助けるために設計された VFX アセットのコレクションである、新しい学習テンプレートを使って、VFX Graph の使用を素早く始めましょう。

シェーダーグラフのアーティストワークフロー

Unity 6 Preview では、編集可能なキーボードショートカットヒートマップカラーモードを追加して、最も GPU の使用率が高いノードを素早く特定し、取り消し・やり直しもより素早く出来るようにすることで、シェーダーグラフを使う時にユーザーが苦労するポイントとして最もよく報告される箇所の多くに対処しています。

Heatmap Color Mode showing the relative GPU cost of nodes
ノードの相対的な GPU コストを表示するヒートマップカラーモード

また、各グラフが 1 つのノードの説明であり、水面下で行われる計算やノードの使用例が記載された、ノードリファレンスサンプルも追加されています。さらに知りたい方はノードリファレンスサンプルのチュートリアル動画をご覧ください。

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

シェーダーグラフのノードサンプルリファレンス

マルチプラットフォームの機能強化

Unity 6 Preview では、マルチプラットフォーム開発ワークフローの最適化を実現し、最も人気のあるプラットフォームへのリーチを拡大することを目的に、デスクトップ、モバイル、ウェブ、XR のマルチプラットフォームが強化されています。

Unity ビルドウィンドウの QoL 改善と新しいビルドプロファイルの追加

新しいビルドプロファイル機能により、ビルドの管理はより効率的になり、これまで以上に柔軟性が高まります。

各プロファイルでビルド設定のプロファイリングを行うだけでなく、ビルドの内容をカスタマイズするためにさまざまなシーンリストを含め、一番共有したいシーンを含む複数のユニークなプレイアブルデモを作成できるようになりました。

さらに、プレイヤー設定にある定義に加えてあらゆるプロファイルにカスタムスクリプトの定義を設定し、ビルドとエディターの再生モードの両方の機能や動作を微調整することができます。これを使用すると、縦方向のスライスを作成したり、プラットフォームごとに異なる行動をターゲットにしたりできます。

プレイヤー設定のオーバーライドを任意のプロファイルに追加して、プラットフォームモジュールに関連する設定をカスタマイズできます。この機能により、異なるプロファイル向けの公開設定を簡単に行えるようになります。まとめると、この新機能は、エディターでビルドを管理する方法をカスタマイズする際、カスタムビルドスクリプトに依存する必要性を減らします。

最後に、エディター内でのプラットフォーム発見を強化するために、プラットフォームブラウザーも追加しました。プラットフォームブラウザーは、Unity がサポートするすべてのプラットフォームを発見し、選択したプラットフォーム用のビルドプロファイルを作成できる場所です。

The new Build Profile window in Unity 6
Unity 6 で新しく追加されたビルドプロファイルウィンドウ

ウェブランタイムでモバイルゲームのリーチを拡大する

Unity 6 Preview では、Android と iOS のブラウザがサポートされます。これでブラウザゲームをデスクトッププラットフォームに限定することなく、Unity ゲームをウェブ上のあらゆる場所で実行できるようになりました。さらに、ネイティブアプリケーションのウェブビューにゲームを埋め込んだり、プログレッシブなウェブアプリケーションのテンプレートを使用して、独自のショートカットやオフライン機能を備えたネイティブアプリケーションのようにゲームを動作させたりもできます。モバイルデバイスのコンパスサポートや GPS ロケーショントラッキングなど、さらに充実した機能により、プレイする場所を限定することなくプレイヤーにウェブゲームを届けられるようになります。

Emscripten 3.1.38 ツールチェーンへのアップデートと、WebAssembly 2023 向けの最新サポート、sign-ext opcodes、non-trap fp-to-int、bulk-memory、BigInt、Wasm table、ネイティブ Wasm 例外、Wasm SIMD などの新しい WebAssembly 言語機能のコレクションにより、ウェブゲームを微調整できます。また、WebAssembly 2023 は最大 4GB のヒープメモリをサポートし、最新のハードウェアでより多くの RAM にアクセスできるようにします。

Unity’s 2D sample project Happy Harvest running in Safari on an iPhone 15 Pro
iPhone 15 Pro の Safari で動作する Unity の 2D サンプルプロジェクト『Happy Harvest』

Unity 6 Preview で追加されるモバイル向けの改良には、最新の Android ツールと Java 17 のサポート、Android App Bundle にデバッグシンボルを含める機能が含まれます。これにより、Google Play ストアに申請する際の時間を節約し、Play コンソールでスタックトレース情報を常に確認できるようになります。

WebGPU バックエンドへの早期アクセス

WebGPU バックエンドの実験的なサポートの導入は、ウェブベースのグラフィックス加速にとって重要なマイルストーンであり、Unity ウェブゲームのグラフィックスレンダリングの忠実性を将来的に飛躍させる道を開くものです。

WebGPU は、コンピュートシェーダーのサポートなど、最新の GPU 機能を活用し、ウェブに公開することを目標に設計されています。この新しいウェブ API は、使用するデスクトップデバイスに応じて、DirectX 12、Vulkan、または Metal などのネイティブ GPU API を介して内部に実装される最新のグラフィックス加速インターフェースを提供することによってこれを実現させます。

The demo takes advantage of GPU (Compute) Skinning to mesh the skin of these robots to the skeleton underneath, while maintaining a relatively high framerate
このデモでは、GPU(コンピュート)スキニングを利用して比較的高いフレームレートを維持しつつ、ロボットのスキンをその下のスケルトンにメッシュ化している。

WebGPU グラフィックスバックエンドはまだ実験的な状態であり、本制作での使用は推奨していません。いち早くお使いになりたい方は、早期アクセスの方法、および WebGPU のテストを行う方法をグラフィックスフォーラムでご確認ください。

Unity エディターが Arm ベースの Windows デバイスをサポート

Unity は、Unity 2023.1 で Arm ベースの Windows デバイスのサポートを追加し、新しいハードウェアに皆さんのタイトルを届けることを可能にしました。Unity 6 Preview では、Arm ベースの Windows デバイス向けの Unity エディターのネイティブサポートを提供します。つまり、Arm 搭載デバイスが提供できるパフォーマンスと柔軟性を、Unity でのゲーム制作に活用できるようになるのです。

DirectX 12 バックエンドの改善

Unity の DirectX 12 グラフィックスバックエンドはプロダクションに完全に対応しており、DX12 対応の Windows プラットフォームをターゲットとする場合に使用できます。この変更に先立ち、レンダリングの安定性とパフォーマンスの両方が包括的に改善されています。

DX12 を使用すると、Unity のエディターやプレイヤーは、分割されたグラフィックスジョブの利用による CPU パフォーマンスの大幅な向上の恩恵を受けることができます。パフォーマンスの向上は、シーンの複雑さ、および送信されるドローコールの量に基づいてスケールすることが予想されます。

D3D11 vs D3D12 CPU performance (MainThread/RenderThread, GfxJobs, Split GfxJobs)

最も顕著なのは、DX12 グラフィックス API が、Unity のレイトレーシングパイプラインのような次世代のレンダリング技術を可能にするため、最新のグラフィックス機能を幅広くサポートしていることです。今後実装予定の機能では、グラフィックスや機械学習などを含む DX12 の高度な機能を活用することで、かつてないレベルの忠実性とパフォーマンスを実現できます。

Microsoft GDK パッケージで、Microsoft プラットフォームのエコシステムをアンロック

Microsoft と Unity の継続的なパートナーシップにより、2 つの新しい Microsoft GDK パッケージが Unity 6 Preview、2022 LTS、2021 LTSで利用可能になりました。Microsoft GDK Tools および Microsoft GDK API パッケージは、同じ設定とコードベースで、Microsoft ゲームプラットフォームに使用できます。これらのパッケージは、Windows や Xbox といった Microsoft のゲームプラットフォーム向けに、ユーザーID、プレイヤーデータ、ソーシャル、クラウドストレージなどの Xbox サービスを利用するためのものと同じコードを使用しており、これまで以上に簡単にビルドすることを可能にします。

Microsoft の GDK パッケージを組み合わせることで、クリエイターは共有コードベースと API によるビルドプロセスの自動化機能を使って Microsoft のゲームプラットフォーム用のゲームを作ることができます。さらに、パッケージで利用可能な様々な機能を紹介する新しいサンプルも追加されています。

以前は、Xbox コンソールや Windows の Microsoft ストアをターゲットにする場合、クリエイターは Microsoft と Unity が提供する別々の GDK パッケージをインストールするようガイドされていました。このため、異なる Microsoft プラットフォームのターゲットごとに、異なるコードのブランチを維持しなくてはなりませんでした。新しい Microsoft GDK パッケージを使えば、その必要がなくなります。また、ビルドサーバーで API から直接 MicrosoftGame.config ファイルを編集できるようになりました。Unity 6 の新しいビルドプロファイル機能と組み合わせることで、かつてないほど簡単に 1 つのプロジェクトから Microsoft のゲームエコシステムにゲームを提供することが可能になります。

従来の Game Core パッケージ、または Windows GDK パッケージを使用中で、新しい Microsoft GDK パッケージ (Microsoft GDK API  および  Microsoft GDK Tools) に移行したい場合、こちらの移行ガイドに記載されている手順に従ってください。

Microsoft GDK API
Unity Package Manager の新しい Microsoft GDK API(ステップ 1)と Microsoft GDK Tools(ステップ 2)。Unity Package Manager から Microsoft GDK パッケージを直接インストールして、Microsoft GDK を使った開発を始めよう。

XR 体験

Unity は、ARKit、ARCore、visionOS、Meta Quest、Playstation VR、Windows Mixed Reality など、最も人気のある XR プラットフォームをサポートしています。Unity 6 Preview では、混合現実(MR)、手と視線による入力、ビジュアルの忠実性の向上など、より最先端のクロスプラットフォーム機能が利用可能です。これらの新機能の多くは刷新されたテンプレートに組み込まれ、より素早く開発を始めていただけるようになりました。

現実世界をゲームに組み込む

既存のゲームを混合現実(MR)で拡張する場合でも、まったく新しいものを作る場合でも、AR Foundation を使えば、クロスプラットフォームな形で現実世界をプレイヤーの体験に組み込むことができます。Unity 6 Preview では、ARCore での手ぶれ補正のサポートに加え、メッシュやバウンディングボックスなどの機能を含む、Meta Quest のような複合現実プラットフォーム向けのサポートが改善されています。」

AR Foundation meshing menu
最新の AR Foundation メッシング機能

XR 入力とインタラクション

インタラクションの効率化をお手伝いするために、Unity 6 の XR Interaction Toolkit 3.0(XRI)にいくつかの大きな改良を加えました。これには、プロジェクトでのインタラクターの動作をカスタマイズする際により高い柔軟性とモジュール性を実現する、Near-Far インタラクターという新しいインタラクターが含まれます。

また、新しい入力リーダーを追加し、XRI での入力処理方法を改善しました。これは入力プロセスを合理化し、さまざまな入力タイプにおけるコードの複雑さを軽減するものです。最後に、クロスプラットフォームな形でゲーム内のキーボードをビルドおよびカスタマイズできるように、新しいバーチャルキーボードのサンプルを公開する予定です。

優れたハンドジェスチャサポート

コンテンツとインタラクションを取るための手の使用がより多くのプラットフォームでサポートされるようになりました。Unity の XR Hands パッケージを使うと、一般的な OpenXR のハンドジェスチャだけでなく、カスタムのハンドジェスチャ(親指を立てる、親指を下げる、指さしなど)を実装することができます。開発に素早く入っていただけるよう、サンプルも同梱されています。また、ハンドシェイプやジェスチャの作成、微調整、デバッグのためのツールも用意されており、より多くのユーザーがコンテンツにアクセスできるようにすることができます。

ビジュアルの忠実性の改善

ゲームビジュアルの忠実度を向上させる 1 つの方法として、現在実験的パッケージとして提供されているコンポジションレイヤーと呼ばれる機能の使用が挙げられます。

この機能は、ランタイムのコンポジターレイヤーのネイティブサポートを利用することで、テキスト、ビデオ、UI、画像をより高品質にレンダリングし、より鮮明なテキスト、シャープなアウトライン、そして全体的にアーティファクトが大幅に低減され改善されたビジュアルを実現します。

マルチプレイヤー向け制作をよりシンプルに

Unity 6 Preview は、統合されたシンプルなエンドツーエンドソリューションによって、マルチプレイヤーゲームの制作、ローンチ、成長を加速させます。

実験的なマルチプレイヤーセンター

新しい実験的なマルチプレイヤーセンターパッケージ(com.unity.multiplayer.center)をパッケージレジストリから利用できるようにしました。マルチプレイヤーセンターは、ゲームクリエイターがマルチプレイヤー開発に参入するための、合理化されたガイダンスツールです。このツールはエディター内で、Unity が提供する最高のツールやサービスにプロジェクト独自のニーズに合わせてアクセスできるようにするためのセンターとして働きます。

マルチプレイヤーセンターは、プロジェクトのマルチプレイヤー仕様に基づいたインタラクティブなガイダンス、リソースや教材へのアクセス、機能の導入やマルチプレイヤー機能の迅速な実験のためのショートカットを提供します。

Multiplayer Play Mode

Multiplayer Play Mode のバージョン 1.0 がリリースされ、Unity エディターを離れることなく、別々のプロセスでマルチプレイヤー機能をテストできるようになりました。ディスク上の同じソースアセットを使用しながら、同じ開発デバイス上で最大 4 人のプレイヤー(メインエディターのプレイヤーと 3 人のバーチャルプレイヤー)のシミュレーションを同時に行うことができます。Multiplayer Play Mode を使用することで、マルチプレイヤー開発ワークフローを作成し、プロジェクトのビルド、ローカルでの実行、サーバーとクライアントの関係のテストにかかる時間を短縮できます。

Multiplayer tools

Multiplayer Tools パッケージをバージョン 2.1.0 に更新し、新しいビジュアルデバッグツールとして Network Scene Visualization を追加しました。Network Scene Visualization(NetSceneVis)は Multiplayer Tools パッケージに含まれる強力なツールで、メッシュシェーディングやテキストオーバーレイなどの可視化により、プロジェクトのUnity エディターシーンビューにおけるオブジェクト単位でのネットワーク通信の可視化とデバッグを支援します。

Multiplayer Play Mode
Multiplayer Play Mode を使ってマルチプレイヤーゲームをテストしたり、開発プロセスで素早いイテレーションループを継続したりするためのセットアップ時間を節約できる。

Netcode for GameObjects 向けの実験的な Distributed Authority

Netcode for GameObjects バージョン 2.0.0-exp.2(com.unity.netcode.gameobjects)に、新しい実験的な Multiplayer Services SDK version 0.3.0(com.unity.services.multiplayer)と組み合わせた際に使用可能なDistributed Authority モードを追加しました。Distributed Authority モードにおいて、クライアントは、ゲームセッション中にスポーンした Netcode オブジェクトの所有権や権限を分散して持つことになります。Netcode シミュレーションのワークロードはクライアントに分散され、ネットワークの状態は Unity が提供する高性能なクラウドバックエンドを通じて調整されます。

Netcode for Entities

Netcode for Entities で GameObject のデバッグ用バウンディングボックスのレンダリングのサポートを開始し、使用感を改善しました。また、コードを変更せずにカスタマイズできる NetCode コンフィギュレーション変数のほとんどが含まれた、NetCodeConfig ScriptableObject も追加しました。

専用サーバーパッケージ

別のプロジェクトを作成せずともプロジェクトをサーバーとクライアントの役割間で切り替えることを可能にする、専用サーバーパッケージをリリースしました。これを行うには、マルチプレイヤーロールを使用し、GameObject とコンポーネントをクライアントとサーバーに分散させる必要があります。

マルチプレイヤーロールで、各ビルドターゲットで使用するマルチプレイヤーロール(クライアント、サーバー)を決定できます。これは以下のとおり分けることができます。

  • コンテンツの選択:さまざまなマルチプレイヤーロールにおいて、コンテンツ(GameObject、コンポーネント)の表示・非表示を設定するための UI と API を提供します。
  • 自動選択:さまざまなマルチプレイヤーロールにおいて、どの種類のコンポーネントが自動的に非表示になるべきかを設定するための UI と API を提供します。
  • 安全性チェック:マルチプレイヤーロールにおいてオブジェクトのストリッピングを行うことによって引き起こされる可能性のある Null リファレンス例外を検出するのに役立つ警告を有効化します。

本パッケージには、専用サーバープラットフォームの開発における最適化とワークフローの改善も含まれています。

実験的なマルチプレイヤーサービス SDK

実験的マルチプレイヤーサービス SDK は、Unity 6 Preview で開発されたゲームにオンラインマルチプレイヤー要素を追加するためのワンストップソリューションです。Unity Gaming Services(UGS)を活用し、Relay や Lobby といったサービスの機能を 1 つの新しい「セッション」システムに統合することで、皆さんが迅速かつ簡単にプレイヤーグループの接続方法を定義するのをお手伝いします。

実験的なマルチプレイヤーサービス SDK  バージョン 0.4.0(com.unity.services.multiplayer)を使用すると、ピアツーピア(P2P)セッションを作成でき、プレイヤーがセッションに参加するための複数の手段(参加コード、アクティブなセッションのリストの参照、クイック参加)を提供することができます。

Unity 6 Preview のマルチプレイヤー

Unity 6 Preview においてはこれらの機能のいくつかはまだ実験的な状態で、実際の制作においてはサポートされておりません。皆様のフィードバックにより、Unity 6 で完全にサポートされた体験を提供するため、プレリリースおよびリリース状態へ迅速に移行させる予定です。コミュニティフォーラム公式 Discord サーバーで、是非ご意見をお聞かせください。

Entities ワークフローの強化

Unity 6 Preview では ECS ワークフローが効率化され、皆さんからよく課題として寄せられるポイントが解消されています。この取り組みの一環として、エンティティの保存方法を変更し、将来的な Entities と GameObject のワークフローの統合に備えています。エンティティ ID はグローバルに一意になり、あるエンティティのワールドから別のワールドへ効率的に移動できるようになりました。これは ECS のワークフローには影響しませんが、常に正確なエンティティを表示することでデバッグをよりわかりやすくできます。

さらに、Unity 2022 LTS で実装された ECS の改善は、Unity 6 Preview でも利用可能です。

  • ECS 1.1:物理演算コライダーのワークフローとパフォーマンスが大幅に改善され、ECS フレームワーク全体で80以上の修正が加えられました。
  • ECS 1.2:エディターワークフロー、シリアル化、ベイクの利用体験およびパフォーマンスを向上させ、50 以上の修正と Unity 6 との互換性を実装しました。

AI でダイナミックなランタイム体験を届ける

Unity 6 Previewには、AI モデルをランタイムに統合するためのニューラルエンジン Unity Sentis が同梱されています。Sentis は、オブジェクト認識、スマート NPC 、グラフィックスの最適化など、AI を活用した新しい機能を実現させます。最近の Sentis の機能強化は、パフォーマンスと使用開始時の体験の単純化に重点を置いています。

パフォーマンス

Unity エディターで AI モデルのウェイト量子化(FP16 または UINT8)のサポートを開始し、モデルサイズを最大 75% 削減できるようになりました。モバイルでゲームをリリースする場合、これは大きな節約になります。モデルをスケジュールするスピードも 2 倍向上し、メモリリークやガベージコレクションも減少しています。最後に、さらに多くの ONNX オペレーターをサポートするようになりました。

始めよう

プロジェクトに適した AI モデルを簡単に見つていただけるように、Unity は世界最大の AI モデルハブ(モデル数 60 万以上)である Hugging Face と提携しました。Unity Sentis 用の 「できあい」の AI モデルを即座に見つけ、簡単に統合できるようになりました。

適切なモデルを手に入れたら、ゲームに接続する必要があります。状況を改善するため、私たちは AI モデルの構築、編集、連鎖を補助する新しい Functional API を導入しました。直感的で安定しており、推論に最適化されています。メモリ管理とスケジューリングを完全にコントロールするためにより低レベルで完全な形でカスタマイズ可能なAPIを必要とするパワーユーザーは、まだバックエンド API を利用することができます。

Unity Sentis の詳細については、ブログで紹介している概要ドキュメンテーション、またはコミュニティをご覧ください。

生産性と機能性を強化

Unity エンジンは、ビジュアルスクリプティングから UI Toolkit まで、ユーザーの生産性と機能性を向上させるツールを提供しています。既存のツールに加えて、Unity 6 Preview では、特にプロファイリングツールのポートフォリオにおける 2 つの更新が行われています。

メモリプロファイラー

Unity 6 Preview では、メモリプロファイラーに関する 2 つの大きなアップデートがあります。まず、以前は分類されていなかったグラフィックスメモリが、リソースごとに測定され、報告されるようになりました(レンダーテクスチャやコンピュートシェーダーなど)。次に、ディスクにスワップされたメモリが常駐メモリにカウントされなくなったなど、常駐メモリのレポートがより正確になりました。これらのアップデートは、皆さんから直接いただいたフィードバックに対応したもので、特にネイティブメモリの使用状況を把握するための問題に対処しています。

Updated Memory Profiler
新しくなったメモリプロファイラー

もっと知りたい方へ

Unity 2023.2 TECH ストリームの詳細をお知りになりたい方は、包括的な機能一覧についてはリリースノートを、使用方法については Unity マニュアルを参照してください。 

Unity 6 Preview リリースは、次のバージョンのリリースまで毎週アップデートを提供する形でサポートされます。新しいバージョンにアップグレードする前に、必ず作業のバックアップを取ることを忘れないでください。Unity の提供しているアップグレードガイドをご参照ください。本番環境のプロジェクトでは、安定性とサポートを向上させるために Unity 2022 LTS を使用することをお勧めします。

Unity 6 Preview をプリプロダクションや探索的プロジェクト、プロトタイピングに広くご活用ください。ただし、Unity 6 の各バージョン(Preview、Beta を含む)のコード、機能、修正が販売・運営中のゲームに組み込まれており、さらにそのゲームが正式版の Unity 6 にアップグレードをした場合、Runtime Fee が適用される可能性があります(Runtime Fee の基準を満たす場合)。

会話を続けましょう

Unity 6 Preview のリリースでは、新機能をいち早く利用し、フィードバックを通じて将来の技術開発に参加する機会が提供されます。皆さんご自身と皆さんのプロジェクトを最大限サポートできるよう、ご意見、ご感想、ご要望をお伺いしたいと考えています。フォーラムで Unity の現状についてのご意見をお伝えいただく、または Unity プラットフォームのロードマップより、製品チームに直接フィードバックをお伝えくださいますよう、お願いいたします。

2024年5月1日 カテゴリ: Engine & platform | 24 分 で読めます

Is this article helpful for you?

Thank you for your feedback!

関連する投稿