https://github.com/gdquest/godot-visualization-tools
Tools for debug drawing and animation for visualizations and tutorials
https://github.com/gdquest/godot-visualization-tools
Last synced: over 1 year ago
JSON representation
Tools for debug drawing and animation for visualizations and tutorials
- Host: GitHub
- URL: https://github.com/gdquest/godot-visualization-tools
- Owner: GDQuest
- License: mit
- Created: 2021-10-15T13:24:57.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2023-02-10T13:57:12.000Z (over 3 years ago)
- Last Synced: 2025-01-17T00:11:18.901Z (over 1 year ago)
- Language: GDScript
- Size: 6.14 MB
- Stars: 21
- Watchers: 3
- Forks: 3
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Godot Visualization Tools
/!\ Rewrite in progress with Godot 3.5. Documentation coming soon.
A collection of scripts and tools for debug visualizations of collision shapes.
This is a work-in-progress. Mose of this code comes from our project [Godot Node Essentials](https://github.com/GDQuest/godot-node-essentials).
## Outline
1. Introduction
- Overview
- Plus mention that the plugin is made with Godot 3.5 so is not compatible with previous versions.
2. Features
- Intuitive inspector properties that update based on supported shapes and features.
- Palette with a "Disabled" value that updates the `Disabled` property accordingly and vice-versa.
- Theme. Simple, Dashed & Halo for 2D. Wireframe & Halo for 3D.
- Simple & Dashed theme extra properties: Width & Sample. Width gives us the thickness of the outline. Sample sets the number of segments used for the outline.
- Autoload singleton to easily manage visibility at runtime: `GDQuestVisualizationTools.set_is_debug_collision_visible()` & `GDQuestVisualizationTools.set_is_debug_navigation_visible()`.
- Independent visibility toggle from `Debug > Visible Collision Shapes` and `Debug > Visible Navigation`.
3. Technical limitations and issues
- 2D: When duplicating a node it's mandatory to make the `material` property unique. Otherwise a theme change will override all nodes and distort the visuals.
- 3D: Can't toggle visibility in the editor by toggling visibility of a parent node. Visibility has to be toggled specifically on the debug nodes themselves.
- 3D: The meshes are recreated from scratch each time a change happens with the transform or a relevent property. At runtime this might become a performance issue. Still needs investigation.
4. Technical details. 2D is built with `CanvasItem._draw()`, while 3D is built with `VisualServer`.