PandaEditor is an open-source 3D level and scene editor designed for games, simulations and scientific projects. It is powered by Panda3D game engine and offers support for scripting in both Python and C++.
- Git
- Panda3D SDK
- C++ Compiler
- Windows: Microsoft Visual Studio (with MSVC) -OR- MSVC Build Tools
- Linux or macOS: GCC or Clang
- CMake (Version 3.14 or higher)
- ImGUI
Note: All dependencies except for Panda3D and C++ compilers (which you can download from the links above) are downloaded at runtime by the build scripts if they are not found in the system path.
- Make sure you have Panda3D installed and a C++ compiler based on your OS.
- Download the repository as a ZIP file and extract it to a location of your choice on your system.
- On Windows, right click
buildMSW.ps1
and selectRun With PowerShell
. On Linux and macOS, simply run thebuild.sh
script. Build scripts should download and extract all necessary dependencies.
PandaEditor uses a project-based workflow managed by its build system, simple run the build script based on your OS and it should handle most of the setup and initialization. For now, everything is managed through command-line interface.
- Start the build.sh or buildMSW.ps1 script.
- When prompted, enter the project name or index number.
- If the specified project does not exist, you will have the option to create it or choose another.
The system will then search for the project in two directories:
game
β Stores user-created projects.demos
β Contains built-in demo projects.
Each folder inside game
or demos
represents a separate project, and source files from only the selected project are included in the build.
Here is an example of how the project strcuture should look like.
src/
βββ game/ # Main directory for user-defined projects
β βββ UserProject # Example user project
β βββ AnotherProject # Another example user project
β βββ YetAnotherProject # Additional example user project
β
βββ demos/ # Directory for demo projects
β βββ roaming-ralph # Demo project: Roaming Ralph
β
βββ builds/ # Directory for build output
β βββ UserProject # Build output for UserProject
β βββ AnotherProject # Build output for AnotherProject
β βββ YetAnotherProject # Build output for YetAnotherProject
β βββ roaming-ralph # Build output for Roaming Ralph demo
To get started take a look at the code generated when a new project is created, basically, all you need to do is get an instance of Demon
class (which would set up and initialize the Panda3D game engine and editor environment) and call its start
method. For further details and usage example refer to the included demo
projects.
- Unsupported Compiler
- Ensure you're using a supported compiler MSVC on Windows.
- GCC or Clang otherwise.
- Panda3D installiation not found
-
Ensure that cmake.config exists (it should be automatically generated by the build system) and that PANDA3D_ROOT is correctly set to the root directory of your Panda3D installation. See the example below.
# Path to the root installation of Panda3D set(PANDA3D_ROOT "C:/Panda3D-1.10.15-x64" CACHE STRING "Path to the Panda3D installation") # Include and library directories set(PANDA3D_INCLUDE_DIR "${PANDA3D_ROOT}/include") set(PANDA3D_LIBRARY_DIR "${PANDA3D_ROOT}/lib")
-