Skip to content

thomasprogramming2018/PANDA3D-EDITOR

Repository files navigation

Panda3D Editor Documentation

Warning:

this project is mostly tested on python 3.9

Overview

The Panda3D Editor is a scene editor designed to facilitate the creation, visualization, and management of 3D environments for Panda3D-based applications. It provides an intuitive interface for editing scene objects, adjusting properties, and managing assets. create_project

Features!

  • Scene Hierarchy Management: Organize objects within a tree view.

  • editor_viewport

  • Transform Gizmos: Move, rotate, and scale objects interactively.

  • Property Inspector: Modify object attributes in real-time.

  • Undo/Redo System: Keep track of changes and revert if needed.

  • Integrated Python Console: Execute scripts within the editor.

  • Visual Debugging Tools: Display collision bounds, lights, and physics objects.

  • Networking Tools: For creating games that will be multiplayer.

  • Animation Tab: Create animations inside the editor(in future updates it will also load from 3rd party).

  • animator

  • Terrain paintning/sclupting: Create/Paint/Sclupt a terrain mesh.

  • global registry & monobehavior system: just like unity we have a mono behavior system!

  • UI Editor: Create & Edit UI's for your game.

  • Save load system: of course save your project in .toml for each entity and then it zips all entity tomls to .map, that way you can either share the .map to others or individual entities!

  • Shader Editor: create shaders live inside the editor and save them to individual files(shader node editor comming soon).

  • shader_editor

  • Node Editor: If you are tired of typing you can use the node editor!

Getting Started

Installation

Ensure you have Panda3D installed. Then, clone the repository and install dependencies:

pip install -r requirements.txt

Running the Editor

Run the editor using:

python main.py

User Interface

1. Scene Hierarchy

Displays all objects in the scene. Right-click to add or remove objects.

2. Viewport

A 3D view of the scene where users can interact with objects.

3. Properties Panel

Modify selected object properties such as position, rotation, and material settings.

4. Toolbar

Provides quick access to commonly used tools like translation, rotation, scaling, and snapping.

Shortcuts

Shortcut Action
W forward
A left
S backwards
D right
e up
q down

Extending the Editor

Adding Custom Components

Users can extend the editor by adding custom components. Example:

class CustomComponent:
    def __init__(self, node):
        self.node = node
        print("Custom component added to", node)

Roadmap

  • Implement a material editor
  • Fix terrain editor responsiveness issues
  • Improve UI responsiveness and usability
  • Organizing the project
  • Undo & Redo is comming soon
  • Introducing physics and physics debugging

Contributing

We welcome contributions! Submit issues and pull requests via GitHub.

License

MIT License. Free to use and modify.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •