Esoterica - Esoterica Engine は、MIT ライセンスのプロトタイプ ゲーム エンジン フレームワークです。これは、技術のデモンストレーター、教育ツール、および R&D フレームワークとして意図されています。リソース管理、シリアライゼーション、ゲームプレイなどに必要なボイラープレート機構が多数含まれています。リソース システム、基本的なリフレクション、および AAA レベルのアニメーション システムを潜在的に構築する方法について、多くのリファレンスを提供します。

(Esoterica Engine)

Created at: 2022-07-16 07:24:26
Language: C++
License: MIT

エソテリカ プロトタイプゲームエンジン

エソテリカ ロゴ

Esoterica Engineは、MIT ライセンスのプロトタイプ ゲーム エンジン フレームワークです。これは、技術のデモンストレーター、教育ツール、および R&D フレームワークとして意図されています。リソース管理、シリアライゼーション、ゲームプレイなどに必要なボイラープレート機構が多数含まれています。リソース システム、基本的なリフレクション、および AAA レベルのアニメーション システムを潜在的に構築する方法について、多くのリファレンスを提供します。これは、ゲーム、AI、レンダラー技術を試すためのフレームワークとして、またはゲーム エンジンの構築方法の教材として最適です。さらに、独自のエンジンを構築することにもっと興味がある場合、Esoterica は非常に良い出発点です。

重要事項:安定性!

Esoterica は、空き時間に開発されているプロトタイプ エンジンであるため、(主にツール側で) バグやクラッシュが発生する可能性があります。安定した生産ツールとして意図されたものではありません。クラッシュやバグが発生した場合は、問題を報告してください。できるだけ早く解決できるように努めます。

必要なヘルプ: レンダリング + テスト アセット

残念ながら、公開できるアセットがないため、提供された技術の例はありません。エンジンと共に配布できるテスト アセット (キャラクター モデルやアニメーションなど) を作成できる人を探しています。次に、これらのアセットを使用して、さまざまなツールと機能の一連の例を提供できます。

また、レンダラーの構築を手伝ってくれる人も探しています。詳細については、https ://www.esotericaengine.com/contribute をご覧ください。

含まれるもの

  • ゲーム エンジンの基本的なコア (シリアル化、数学、文字列処理、ロギングなど)
  • libclang ベースの c++ リフレクションとコード生成
  • ホットリロードを備えたコンパイラベースのリソースシステム
  • ハイブリッド アクター/ECS オブジェクト モデル - https://www.youtube.com/watch?v=jjEsB611kxs
  • AAA 品質の高性能アニメーション グラフ システム - https://www.youtube.com/watch?v=R-T3Mk5oDHI&t=5427s
  • 基本的なアニメーション圧縮
  • PhysX アーティキュレーションを使用したパワード ラグドールの実装
  • DearImgui を使用した基本的なエディター インフラストラクチャとツール

スクリーンショット

リソース パイプライン 基本エディター
エソテリカリソースサーバー エソテリカ編集者
アニメーショングラフ ラグドール エディタ
エソテリカ アニメーショングラフ エソテリカ ラグドール

要件

  • ビジュアル スタジオ 2022
  • FBX SDK

エソテリカの構築

Esoterica は、ビルド システムにバニラの msbuild を使用します。「コード/プロパティ シート」フォルダには、Esoterica のすべてのビルド設定を制御する一連のプロパティ シートがあります。

  1. 外部依存関係と必要なエディター データをダウンロードし、Esoterica ルート フォルダー ( X:/Esoterica Path/ ) に抽出します。'X:/Esoterica Path/Data/' と 'X:/Esoterica Path/External/' になるはずです。
  2. FBX SDK をダウンロードしてインストールします (エディタに必要) - https://www.autodesk.com/developer-network/platform-technologies/fbx-sdk-2020-2-1
  3. EE.sln を開く
  4. 「EE.Scripts.Reflect」プロジェクトを再ビルドします。これにより、すべての Esoterica リフレクション データが生成されます。
  5. 「1.Applications」ソリューション フォルダをビルドします。これにより、Esoterica の実行に必要なすべてのアプリケーションがビルドされます。

アプリケーション

最も簡単な方法は、「Esoterica.Applications.Editor」をスタートアップ プロジェクトとして設定し、実行することです。エンジンを実行する場合は、「-map data://path_to_map.map」引数を指定して「Esoterica.Applications.Engine」プロジェクトを使用します。

  • エンジン - これはスタンドアロンの Esoterica エンジン クライアントです。
  • 編集者 - これはエソテリカの編集者です
  • リソース サーバー - これは、さまざまな Esoterica アプリケーションにリソースをコンパイルして提供するスタンドアロン アプリケーションです。
  • Reflector - これは、Esoterica の反射データを生成します。
  • リソース コンパイラ - リソース コンパイル リクエストを処理します。
  • テスター - ランダム テストに使用される空のコンソール アプリ

使用したサードパーティ プロジェクト

  • イーストル
  • 親愛なるImgui
  • エンキTS
  • iniparser
  • PCG
  • xxハッシュ
  • rpmalloc
  • 同時キュー
  • Mパック
  • ゲーム ネットワーク ソケット
  • 物理X
  • cgltf
  • pfd
  • sqlite
  • サブプロセス
  • オプティック

これらのミドルウェア パッケージも統合されていますが、使用するにはライセンスが必要です (したがって、デフォルトでは無効になっています)。

  • ライブ++
  • スーパールミナール
  • ナビパワー

追加情報

VS 用のSmartCommandLineArgumentsプラグインを使用する場合、エンジンの起動に役立つ保存された引数が提供されます。