Godot 4.4.1 Editor Customization

I am currently working on Godot game engine version 4.4.1 Stable. I am touching source codes (C++) of Godot Editor to introduce features that I want to implement. My goal is to have game engine which supports editing models in various ways.

Youtube: https://www.youtube.com/watch?v=d6PZXRioSTU

1. Custom Mesh Creation

Introducing CustomMesh which is inherit from BoxMesh, added few more capabilities

2. Rendering Modes (Vertex / Wireframe / Vertex-Wireframe / Solid-Wireframe / Vertex-Solid-Wireframe)

You can change rendering modes, rendering modes are implemented through godot Shader

3. Segmentation

You can update the segmentation of Cube in realtime

4. Selection Modes (Object / Quad / Triangle / Vertex)

You can toggle selection modes

5. Operations Modes (Object / Edit / Paint / Pose)

You can choose different modes for its purpose (to have Pose related functionalities added later)

6. Shading & Texture (Toggle)

Default custom shading is available for all type of Meshes, Texture can be toggled (On or Off)
You can also color selected triangles

7. Lighting (Toggle)

Lighting can be toggled (On or Off) based on the Texture, light strength will be adjusted if Texture is turned off so that Mesh doesn’t become too bright

8. Basic Surface Transformation

You can transform Mesh with given selection modes

9. Mirror Surface Transformation

Selection can be done in Mirror, within same face or opposite face and the action itself can be mirrored

10. Face Extrude

Face can be extruded, meaning that another CustomCube will be created and attached to selected face, once then both Meshes will be connected as one

11. Segmentation Sync

Segmentation can be synced across all the connected Meshes

12. Transformation Sync

Transformation will be in sync across all the connected vertices in realtime

13. Transformation Lock

Each Meshes have transformation lock available (Translation / Rotation / Scale)

14. Morphing Animation

Introducing Mesh Snapshots, and morphing between based on given Frame Rates and Frames per Seconds

15. To dos

Bug fixes, code refactoring

4 Likes

That would definitely be great for level design and block out :slight_smile:

Very strong and great work! :+1: This can be used for terramorphing in the project. :shovel: Is it possible to make a destructible environment? :collision: