Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Integrate Debug Draw 3D into Redot or add a similar feature. #49

Open
Ahem-008 opened this issue Oct 28, 2024 · 1 comment
Open

Integrate Debug Draw 3D into Redot or add a similar feature. #49

Ahem-008 opened this issue Oct 28, 2024 · 1 comment

Comments

@Ahem-008
Copy link

Describe the project you are working on

Making 3D games.

Describe the problem or limitation you are having in your project

Currently there are no easy way to draw lines and shapes in 3D except for a addon called "Debug Draw 3D".

Describe the feature / enhancement and how it helps to overcome the problem or limitation

By integrating Debug Draw 3D addon into the engine or adding a similar feature!

Describe how your proposal will work, with code, pseudo-code, mock-ups, and/or diagrams

func _process(delta: float) -> void:
    var _time = Time.get_ticks_msec() / 1000.0
    var box_pos = Vector3(0, sin(_time * 4), 0)
    var line_begin = Vector3(-1, sin(_time * 4), 0)
    var line_end = Vector3(1, cos(_time * 4), 0)

    DebugDraw3D.draw_box(box_pos, Vector3(1, 2, 1), Color(0, 1, 0))
    DebugDraw3D.draw_line(line_begin, line_end, Color(1, 1, 0))
    DebugDraw2D.set_text("Time", _time)
    DebugDraw2D.set_text("Frames drawn", Engine.get_frames_drawn())
    DebugDraw2D.set_text("FPS", Engine.get_frames_per_second())
    DebugDraw2D.set_text("delta", delta)

If this enhancement will not be used often, can it be worked around with a few lines of script?

This feature will be frequently used for testing, debugging and visualizing in 3D. It cannot be worked around with a few lines of script without using a addon.

Is there a reason why this should be core and not an add-on in the asset library?

This is an important and basic feature that should be available to users by default.

@3jaredsjones3
Copy link

Would it be possible to expand this into something like Freya Holmer's Shapes addon for Unity or 3b1b's Manim?

I think having tools like that baked into the core would open up a lot of possibilities for procedural animations and dynamic visuals. For example, upgrading a title screen with rippling geometric patterns or creating visual demos to explain how code works.

Does this seem like something worth exploring here, or do you think it would make more sense as a separate idea? Either way, I think this kind of feature would be a huge boost for the engine

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants