リトルオリオンエンジン
AAAビデオゲーム開発の修士号中に開発されたC ++ 3Dエンジン

ハイライト
- シーンを作成、保存、ロードします。
- GameObjectsを作成し、コンポーネントシステムを使用して動作を変更します。
- Unityのようなカメラを使用してシーンを探索します。
- さまざまなエンジンプロパティの構成:レンダラー、時間管理、...
インストール
- リリースセクションから最後のリリース(または必要なリリース)をダウンロードします。
-
Build.zipを抽出します。 -
LittleOrionEngine.exeを実行します。
使用法
エンジンの使用方法を学ぶために、Wikiを参照してください。
開発セットアップ
それを行うために、あなたが以下を持っていることを保証します:
- コンピューター。
- OpenGLサポート付きのグラフィックカード。
- VisualStudio 2017以上。
貢献
これはアカデミックプロジェクトであるため、このレポに直接貢献することはできません。言った、それを自由にフォーク(https://github.com/unnamed-company/littleorionengine/fork)と独自の方法で拡張してください!
著者
マリオ・フェルナンデス・ヴィラルバ
| アナベル・ヘルナンデス・バレラ
| エンリケ・アレクサンドル・ゴンザレス・セキイラ
| ジョーン・ギナード・マテオ
| ジョルディ・サウラ
| ジョルディ・ロマゴサ
| トニ・フェラーリ・フアン
|
ルイス・モヤノ
| マルコ・ロドリゲス
| Artemis Georgakopoulou
| パウ・カサス・ガルシア
| ラウル・ゴンザレス
| リカードビボ
| ヴィダルメレロ
|
開発方法論
このプロジェクトは、アジャイル方法論の哲学に従って開発されました。タスクの配布を知りたい場合は、Trelloボードに訪れることをheしないでください!
で構築されています
- SDL 2.0-ウィンドウの作成と入力の管理に使用されます。
- GLEW 2.1.0- OpenGL拡張機能の管理に使用。
- Matheolib 3.0.0-数学を行うために使用されていました。
- 親愛なるimgui 1.73- GUIの構築に使用されます。
- IMGUI FileBrowser- IMGUIでファイルディレクトリを開くために使用されます。
- 悪魔1.8-画像の読み込みに使用されます。
- Assimp 5.0- 3Dモデルのロードに使用。
- Font Awesome 5-派手なアイコンを表示するために使用されます。
- アイコンフォントCPPヘッダー-C ++でフォントの素晴らしいアイコンをインポートするために使用されます。
- PCG- C ++で適切な乱数を生成するために使用されます。
- RapidJSON 1.1.0- JSONファイルを処理するために使用されます。
- デバッグドロー - 基本的な形状を描くために使用されます。
- Par_shapes-基本的なプリミティブを生成するために使用されます。
- imguizmo-ギズモを描くために使用されます。
- Physfs 3.0.2-ファイルシステムの管理に使用されます。
- 弾丸物理学 - 物理学をシミュレートするために使用されます。
- spdlog-ものを記録するために使用されます。
ライセンス
このプロジェクトは、MITライセンスに基づいてライセンスされています。詳細については、ライセンスファイルを参照してください。
履歴をリリースします
- [1.0.1]バグと研磨を間違えます
- たくさんのバグ修正。
- 最高のユーザーエクスペリエンスを提供するために、調整されたコントロール。
- リソースをロードするときのパフォーマンスの改善。
- [1.0.0] v1.0.0リリースはこちらです!
- メッシュ材料。メッシュには独自の素材があり、さまざまなテクスチャと軽いパラメーターを保存します。
- シーンの光源を表す新しい
ComponentLight 。メッシュ材料に沿って使用されています。 - マウスピッキング。ゲームオブジェクトは、シーンウィンドウでそれらをクリックすることを選択できます。
- ギズモス。選択したオブジェクトの変換を変更するために使用されます。
- [0.2.2]バイナリファイルとシーンのシリアル化
- より良いリソース管理。
- 資産は、スペースを消費する形式の少ない形式に変換されます。
- リソースの複製を回避する新しいキャッシュ。
- シーンのシリアル化により、シーンの読み込みと保存が可能になります。
- [0.2.1]エンジンをスピードアップ!
- 新しいモジュールmodulecamera。 GameObjectsに取り付けることができるカメラの甲殻類が含まれています。
- 2つの新しいタブ、シーンとゲーム。前者には編集者カメラから見られたシーンが含まれていますが、後者にはゲームカメラから見られるシーンが含まれています。
- 皮のulling。この改善により、カメラの外側にあるメッシュは、レンダリングプロセスで破棄されます。
- カメラクリアモード。カメラは、スカイボックスまたはプレーンカラーにクリアできます。
- テクスチャは、OpenGLプリミティブの代わりにテクスチャを使用してレンダリングされます。
- QuadtreeとOcttree。この改善により、チェックの数を減らすことにより、レンダリングプロセスをさらにスピードアップできます。
- 新しいモジュールmoduledebug。それには有用なデバッグ関数が含まれています。
- [0.2.0]およびGameObjectsがありました
- GameObjectsが入ります。各GameObjectは、コンポーネントを使用して変更できるエンティティを表します。
- コンポーネントは、メッシュ、材料など、異なるエンティティパーツを含むオブジェクトです。
- シーンGameObject Hierarchyを表す新しい階層ウィンドウ。
- 刷新されたプロパティウィンドウ。ここで、コンポーネントパラメーターを変更できます。
- [0.1.5]最終0.1バージョン(これは1つの教師です)!
- さまざまなバグを修正しました。
- 優れたC ++プラクティスに従うためのいくつかのリファクタリング。
- 超クールなreadme。
- [0.1.4]新しいログ、最終0.1アルファバージョンの準備!
- 刷新されたログ。より明確で読みやすい方法でメッセージを表示します。
- デバッグメッセージは、AssimpとOpenGLからキャプチャされます。
- 魔術でメッセージをフィルター!
- モデルのテクスチャは、PNGファイルをエンジンウィンドウにドラッグしてドロップする上で上書きできます。
- [0.1.3]すごいui、非常に多くの構成オプション
- 新しいゴージャスなGUI。
- さまざまなモジュール(カメラ、レンダリング、...)の新しい構成オプションがたくさんあります。
- シーンは別のウィンドウにレンダリングされます。
- モデルプロパティは、新しいウィンドウに表示されます。
- ロードされたモデルサイズに関して、カメラの速度とフォーカスが計算されます。
- [0.1.2]時間が流れ始め、地平線で差し迫った新しいGUIショー...
- タイムフローを制御する時間モジュールを追加しました。リアルタイムクロックとゲームクロックの2つのクロックを実装します。
- 時間を一時停止し、1つのフレームを踏むことができます。また、時間スケールを変更できます。
- FPSは制限できます。
- GUIの新しい実装を開始しました。カメラ構成に新しい情報を追加しました。
- [0.1.1]これは、モデルの読み込みとカメラに関するものです
- モデルの負荷が改善されました。モデルをロードして、.fbxファイルをエンジンのウィンドウにドラッグしてドロップすることができます。カメラは、それに応じて新しいモデルの寸法に拡大されます。
- カメラコントロールが改善されました。 Fを押すと、カメラがロードされたモデルに焦点を合わせます。また、ALTを押すと、現在のモデルの周りにカメラが軌道に乗っています。
- 境界ボックスを追加しました。 Bを押すと、現在のモデルの境界ボックスが有効/無効になります。
- [0.1.0]ベースバージョンがあります!
- 拡散テクスチャを使用してFBXファイルからモデルをロードできます。
- カメラはユニティのようなスタイルで制御できます。
- エンジンには、いくつかの構成オプションとデバッグオプションを備えた基本的なUIがあります。