デフォルトで高度なパフォーマンスを

Unity の最新のハイパフォーマンスなマルチスレッド対応の Data-Oriented Technology Stack(DOTS)で最新のマルチコアプロセッサをフルに活用しましょう。ゲームを高速に実行でき、コードは読みやすく、他のプロジェクトで再利用が簡単です。

Unity のコアの再構築

ハイパフォーマンスなマルチスレッド対応の Data-Oriented Technology Stack で Unity のコアとなる土台を再構築しています。DOTS により、複雑なプログラミングに悩むことなく、ゲームで最新のマルチコアプロセッサをフルに活用することが可能になります。DOTS には次の機能が含まれます。

  • C# Job System によるマルチスレッドコードの効率的な実行。
  • Entity Component System(ECS)によるデフォルトでハイパフォーマンスコードの記述。
  • Burst コンパイラーによる高度に最適化されたネイティブコードの生成。

これらの DOTS 機能を使用して、プログラマは便利なサンドボックスで大幅なパフォーマンスの向上をもたらすマルチスレッドコードを記述できます。DOTS は現在プレビュー版として利用できます。

DOTS のマルチスレッドシステムにより、多様なハードウェアで動作するゲームを作成でき、多くの要素や複雑なシミュレーションを備えた豊かなゲームワールドを構築でき、さらにプレイヤーのモバイルデバイスで温度コントロールやバッテリ寿命を最適化できます。オブジェクト指向からデータ指向に設計を移行することで、コードを再利用することと他のユーザーが理解し作業することが簡単になります。

 

C# Job System

新しい C# Job は最新のコンピューターで使われている複数のコアを活用します。 これはこのアプローチを C# ユーザースクリプトに拡充するように設計されており、ユーザーはジョブ化されたコードを安全かつ迅速に描くことができると同時に、競合状態などのマルチスレッディングに関わる潜在的な危険から守られます

複数のコアを活用する

C# Job System は Native C++ Job System を公開し、C# スクリプトを Unity の内部コンポーネントに沿ってジョブ化することを許可します。

安全な環境

競合状態などのマルチスレッディングに関わる潜在的な危険からの保護を提供します。

Entity Component System (ECS)

ゲーム設計に関するより優れたアプローチ

ECS とは、解決中の実際の問題(ゲームを構成するデータやふるまい)に重点を置いてコードを書く方法です。

ECS を使用することで、設計上の理由からより優れたゲームプログラミングへのアプローチとなる以外に、Unity の C# Job System と Burst コンパイラーを理想的な状況で活用でき、最新のマルチコアプロセッサの能力を最大限に引き出すことができます。

ECS の利用によって私たちはオブジェクト指向からデータ指向の設計に移行しています。それによってコードを再利用したり、他の人がコードを理解したり開発に貢献したりすることが簡単になります。

Burst コンパイラー

最適化されたコード

新しい LLVM ベースのバックエンドコンパイラーテクノロジーは、C# のジョブを受けいれて、高度に最適化されたマシンコードを生成します。

すべてのプラットフォームに最適

コンパイルするプラットフォームの特定の機能に合わせて最適化されています。

ハンドコーディングを軽減

手間をかけることなく、複数のプラットフォームにわたって、ハンドチューニングされたアセンブラーコードの多くの利点を生かすことができます。

『Megacity』のデモをリリース

Unite Los Angeles では、 Entity Component System(ECS)機能と Burst コンパイラーの開発の進展を示すために、『Megacity』のデモをお見せしました。 Unity のゲームコードチームは、FPS Sample チームの協力の下、Unite Austin 2017 で使用した Nordeus 社のデモをベースに、空飛ぶ乗り物が行き交う未来都市の景観を制作しました。この都市は、細かな点まで作り込まれたゲームオブジェクトと独自のオーディオソースを多数使用しているので、Unity 2019.1 の DOTS で何ができるのかがはっきりわかります。

『Megacity』では、メッシュレンダラーが 450 万個、建築物オブジェクトが 20 万個、オーディオソースが 10 万個も使われているほか、5000 台にものぼる乗り物がスプラインベースの車線を飛び交います。 「苦労せずにハイパフォーマンスを実現」する Unity の各種機能を使って複雑なオブジェクトやシミュレーションを豊富に取り入れた魅力的なゲームを作る方法を、ぜひご覧ください。

プロジェクトの作成過程の詳細やプロジェクトのダウンロードはこちら

 

 

Unite Austin 技術プレゼンテーション

Entity Component System のプレビューリリースの一環として、Nordeus 出身の友人と協力し、Unite Austin の技術プレゼンテーションのバージョンを利用できるようにしました。

簡略化したバージョンのプレゼンテーションは GitHub で入手できます。 これは、最新の Entity Component System を使用する更新されたバージョンを提供すること、およびテクスチャ駆動型の頂点アニメーションで機能するシェーダーを使用できるようにすることが目的です。 このバージョンは Unite Austin で実施されたプレゼンテーションと視覚的に同じではありません。

Nordeus のデモの開発手順を順を追って説明したページはこちら

 

Tic Toc Games はモバイル用パズルゲームでどのように ECS を活用したのか

Tic Toc Games は先日、モバイル用パズルゲームのエンジンに Unity の Entity Component System(ECS)を実装しました。その結果、パフォーマンスが格段に向上し、イテレーションの時間を大幅に削減できました。Unite LA での「私たちはパフォーマンスを最優先します」と題されたセッションで Tic Toc の Garth Smith 氏は、ECS を使ってイテレーションを高速化した方法と Unity の ECS パッケージの学習と作業を通じて得た経験について解説します。

ケーススタディのすべてを読む

次に進むべき道

今すぐはじめる

新しいスタートを切る方法についての情報をお探しでしょうか?または質問がおありでしょうか?

ドキュメントへ

ディスカッションに参加する

コミュニティフォーラムで Unity の開発者と会いましょう。試験的なベータ版プレビューについてフィードバックを提供し、情報を交換しましょう。

フォーラムに参加する

We use cookies to ensure that we give you the best experience on our website. Visit our cookie policy page for more information.

Got it