Code Monkey home page Code Monkey logo

lunaryueengine's Introduction

LunarYue Engine

LunarYue Engineのロゴ

主な特徴

LunarYueEngineは、Windows、Linux、macOSで動作するクロスプラットフォーム対応のゲームエンジンです。C++で高効率に実装されており、モジュール式のコンポーネントベースの構造を採用しています。グラフィックスAPIにはVulkanを、物理エンジンにはJoltPhysicsを使用しています。また、CMakeを用いたビルドシステムを採用し、独自のエディタとImGuiを利用したカスタムUIシステムを提供しています。リソース管理機能により、アセットのインポートと最適化が可能です。今後の展望として、Luaをスクリプト言語として採用する予定です。

言語

このREADMEファイルは複数の言語で利用可能です。

前提条件

LunarYueをビルドするには、まず以下のツールをインストールする必要があります。

CMakeインストール手順
Windows:
  1. CMakeの公式サイト (https://cmake.org/download/) にアクセスして、Windows向けのインストーラーをダウンロードします。

  2. ダウンロードしたインストーラーを実行し、CMakeをインストールします。インストール時に、「Add CMake to the system PATH for all users」オプションを選択して、CMakeがシステムのPATHに追加されるようにしてください。

  3. インストールが完了したら、コマンドプロンプトを開いて、'cmake --version'コマンドを実行して、CMakeが正しくインストールされていることを確認します。このコマンドが実行されると、CMakeのバージョン情報が表示されます。


Linux:
  1. ターミナルを開いて、以下のコマンドを実行してCMakeをインストールします。
Copy code
sudo apt-get update
sudo apt-get install cmake
  1. インストールが完了したら、'cmake --version'コマンドを実行して、CMakeが正しくインストールされていることを確認します。このコマンドが実行されると、CMakeのバージョン情報が表示されます。

macOS:
  1. Homebrewがインストールされていない場合は、公式サイト (https://brew.sh/index_ja) の指示に従ってインストールします。

  2. ターミナルを開いて、以下のコマンドを実行してCMakeをインストールします。

brew install cmake
  1. インストールが完了したら、'cmake --version'コマンドを実行して、CMakeが正しくインストールされていることを確認します。このコマンドが実行されると、CMakeのバージョン情報が表示されます。

Windows 10/11

  • Visual Studio 2019(またはそれ以降のバージョン)
  • CMake 3.19(またはそれ以降のバージョン)
  • Git 2.1(またはそれ以降のバージョン)

macOS >= 10.15 (x86_64)

  • Xcode 12.3(またはそれ以降のバージョン)
  • CMake 3.19(またはそれ以降のバージョン)
  • Git 2.1(またはそれ以降のバージョン)

Ubuntu 20.04

以下のパッケージをインストールします
sudo apt install libxrandr-dev
sudo apt install libxrender-dev
sudo apt install libxinerama-dev
sudo apt install libxcursor-dev
sudo apt install libxi-dev
sudo apt install libglvnd-dev
sudo apt install libvulkan-dev
sudo apt install cmake
sudo apt install clang
sudo apt install libc++-dev
sudo apt install libglew-dev
sudo apt install libglfw3-dev
sudo apt install vulkan-validationlayers
sudo apt install mesa-vulkan-drivers

LunarYueのビルド

Windowsでのビルド

build_windows.bat を実行することができます。このバッチファイルは、プロジェクトを自動的に生成し、LunarYue EngineRelease 構成をビルドします。ビルドが成功すると、bin ディレクトリに LunarYueEditor.exe が作成されます。

また、次のコマンドを使用して最初に Visual Studio プロジェクトを生成し、ビルドディレクトリ内のソリューションを開いて手動でビルドすることができます。

cmake -S . -B build
macOSでのビルド

以下のビルド手順は、x86_64の特定のハードウェアでのみテストされており、M1チップには対応していません。M1対応については後日リリース予定です。

LunarYueをコンパイルするには、最新版のXcodeがインストールされている必要があります。 次に、プロジェクトのルートディレクトリから 'cmake' を実行して、Xcodeのプロジェクトを生成します。

cmake -S . -B build -G "Xcode"

そして、次のコマンドでプロジェクトをビルドできます。

cmake --build build --config Release

また、build_macos.sh を実行してバイナリをビルドすることもできます。


Ubuntu 20.04でビルド

build_linux.shを実行してバイナリをビルドできます。

ドキュメント

詳細なドキュメントは、Wikiページで確認できます。

ライセンス

LunarYueEngineは、MITライセンスの下で公開されています。詳細については、LICENSEファイルを参照してください。

コントリビューション

プルリクエストやフィードバックは大歓迎です。問題を報告する場合は、Issueページで新しい問題を作成してください。

追加情報

追加情報

Vulkan Validation Layer:検証エラー

LunarYueEditor.exeが正常に実行されるものの、デバッグ中にVulkan Validation Layer:Validation Errorという例外が報告されることがあることに気付きました。この問題は、Vulkan SDK(公式の最新バージョンで構いません)をインストールすることで解決できます。

コンパイルデータベースの生成

Unix Makefilesジェネレータが利用可能な場合、次のコマンドでcompile_commands.jsonをビルドできます。compile_commands.jsonclangd言語サーバに必要なファイルで、Emacsのcpp lsp-modeのバックエンドです。

Windowsの場合:

cmake -DCMAKE_TRY_COMPILE_TARGET_TYPE="STATIC_LIBRARY" -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -S . -B compile_db_temp -G "Unix Makefiles"
copy compile_db_temp\compile_commands.json .

Physics Debug Rendererの使用

現在、Physics Debug RendererはWindowsでのみ利用可能です。デバッガプロジェクトを含むソリューションを生成するには、次のコマンドを使用します。

cmake -S . -B build -DENABLE_PHYSICS_DEBUG_RENDERER=ON

注:

  1. ソリューションを再生成する前に、ビルドディレクトリをクリーンしてください。以前のCMakeCacheを使用して直接再生成する際に、ビルドの問題が発生したことがあります。
  2. Physics Debug Rendererは、LunarYueEditorを起動すると実行されます。両方のシーンのカメラ位置は同期されています。ただし、Physics Debug Rendererの初期カメラモードが間違っています。マウスホイールを1回下にスクロールすると、Physics Debug Rendererのカメラが正しいモードに変わります。

時期別のスターガザー

Stargazers over time

lunaryueengine's People

Contributors

wuyukwi avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.