Coder Social home page Coder Social logo

Comments (16)

DmitriySalnikov avatar DmitriySalnikov commented on June 16, 2024

It's not really a plugin... EditorPlugins in GDExtension are not working properly at the moment. Therefore, this addon is embedded in the editor using a hacks.
To check whether it is connected or not, you can simply search for DebugDraw in the built-in documentation. There should be a DebugDraw class (and several other classes) and a singleton.
Didn't you restart the editor after installation? Were there any errors in the console at startup?

from godot_debug_draw_3d.

venilark avatar venilark commented on June 16, 2024

It's not really a plugin... EditorPlugins in GDExtension are not working properly at the moment. Therefore, this addon is embedded in the editor using a hacks. To check whether it is connected or not, you can simply search for DebugDraw in the built-in documentation. There should be a DebugDraw class (and several other classes) and a singleton. Didn't you restart the editor after installation? Were there any errors in the console at startup?

I just wanted to enable the debug lines in the Editor using Engine.is_editor_hint(), not in-game, which are already working.

from godot_debug_draw_3d.

DmitriySalnikov avatar DmitriySalnikov commented on June 16, 2024

I just wanted to enable the debug lines in the Editor

Do you use the @tool annotation in your script? (as for example in examples_dd3d/addon_icon.gd)

from godot_debug_draw_3d.

DmitriySalnikov avatar DmitriySalnikov commented on June 16, 2024

Have you solved this issue?
I don't even understand the essence of the issue, since all my examples already work in the editor and in a running project.

from godot_debug_draw_3d.

betalars avatar betalars commented on June 16, 2024

I don't even understand the essence of the issue, since all my examples already work in the editor and in a running project.

Cannot reproduce:

Steps:

  1. make empty project
  2. install your add-on
  3. restart the editor
  4. play the demo scene

What I got is an DebugDrawConfig2D not declared on line 15.

Sorry, but it really does not work right now in Godot4. I don't know what you did differently so it works for you. 🤔

from godot_debug_draw_3d.

DmitriySalnikov avatar DmitriySalnikov commented on June 16, 2024

4.0.2
Just downloaded from AssetLib
Only the C# files have been deleted

image

image

Upd:
4.0
image

Upd:
4.0.2 Ubuntu
image

from godot_debug_draw_3d.

betalars avatar betalars commented on June 16, 2024

Just downloaded from AssetLib

Did you do something else besides the steps I explained above? Is there ... idk ... some setting or ... I'm confused ...

from godot_debug_draw_3d.

DmitriySalnikov avatar DmitriySalnikov commented on June 16, 2024

For the ubuntu test, I even had to download the engine, because the system was almost empty.. And I just created the project and immediately entered AssetLib.
Can you show the console output (which runs through a separate exe)?

It seems to me that I have guessed what the problem is...
After viewing the contents of the console, try installing vcredist
If that's the problem, then I need to figure out how to get rid of this dependency. 😫

from godot_debug_draw_3d.

betalars avatar betalars commented on June 16, 2024

Can you show the console output (which runs through a separate exe)?

Godot Engine v4.0.2.stable.custom_build - https://godotengine.org
OpenGL API 4.6 (Core Profile) Mesa 23.0.3 - Compatibility - Using Device: AMD - AMD Custom GPU 0405 (vangogh, LLVM 15.0.7, DRM 3.51, 6.1.21-valve1)
 
Editing project: /home/betalars/Development/godot/how-to-fly-your-dragon/src
ERROR: Can't open dynamic library: /home/betalars/Development/godot/how-to-fly-your-dragon/src/addons/debug_draw_3d/libs/libdd3d.linux.template_debug.x86_64.so. Error: libstdc++.so.6: cannot open shared object file: No such file or directory
   at: open_dynamic_library (drivers/unix/os_unix.cpp:447)
ERROR: GDExtension dynamic library not found: /home/betalars/Development/godot/how-to-fly-your-dragon/src/addons/debug_draw_3d/libs/libdd3d.linux.template_debug.x86_64.so
   at: open_library (core/extension/gdextension.cpp:400)
ERROR: Failed loading resource: res://addons/debug_draw_3d/debug_draw_3d.gdextension. Make sure resources have been imported by opening the project in the editor at least once.
   at: _load (core/io/resource_loader.cpp:222)
ERROR: Error loading extension: res://addons/debug_draw_3d/debug_draw_3d.gdextension
   at: load_extensions (core/extension/gdextension_manager.cpp:120)
Godot Engine v4.0.2.stable.custom_build - https://godotengine.org

[betalars@steamDeck:~]$ Vulkan API 1.3.238 - Forward+ - Using Vulkan Device #0: AMD - AMD Custom GPU 0405 (RADV VANGOGH)
 
WARNING: Blend file import is enabled in the project settings, but no Blender path is configured in the editor settings. Blend files will not be imported.
     at: _editor_init (modules/gltf/register_types.cpp:70)
SCRIPT ERROR: Compile Error: Identifier not found: DebugDraw
          at: GDScript::reload (res://examples_dd3d/DebugDrawDemoScene.gd:62)
SCRIPT ERROR: Compile Error: Identifier not found: DebugDraw
          at: GDScript::reload (res://examples_dd3d/addon_icon.gd:5)

from godot_debug_draw_3d.

betalars avatar betalars commented on June 16, 2024

Oops I forgot tho include the console out, how unprofesional :P

from godot_debug_draw_3d.

DmitriySalnikov avatar DmitriySalnikov commented on June 16, 2024

Probably the problem is that you are using an operating system with outdated libstdc++ libraries. For example, my library is compiled on Ubuntu 22.04.2, and you have Ubuntu 20.04.6 installed.


Oh, you're using SteamOS. I have no idea how to fix the problem. I've already spent 6 hours today trying to install another arch-based OS, and I'm already sick of it...

from godot_debug_draw_3d.

DmitriySalnikov avatar DmitriySalnikov commented on June 16, 2024

@venilark what about your problem?

from godot_debug_draw_3d.

betalars avatar betalars commented on June 16, 2024

Probably the problem is that you are using an operating system with outdated libstdc++ libraries.

okay will see where I can get libstdc++ 6 from then ...

from godot_debug_draw_3d.

betalars avatar betalars commented on June 16, 2024

Okay sorry, but this is not a practical option. I can technically create an environment where there are user level links for this library, but I'm afraid most users of arch derivates or nixos (in my case) won't be able to use your add-on then.

Can take some time later to think of a workaround, but for now I'll just be using ray casts... :P

from godot_debug_draw_3d.

DmitriySalnikov avatar DmitriySalnikov commented on June 16, 2024

to think of a workaround

I haven't tested it yet, but it might be possible to statically link everything I need directly to the library so that it doesn't depend on other libraries. This is also relevant for vcredist on Windows..

from godot_debug_draw_3d.

betalars avatar betalars commented on June 16, 2024

Okay, yeah I hope this will be a good solution for compatibility.

And to summarize the actual issue:
Nixos does a lot of fancy things when it comes to providing libraries, and we're on a much newer version than Ubuntu, but your AddOn could simply not find it from it's scope.

So I'm using steam-run godot when launching godot to provide it with an environment that it will be happy with. It's kind of overkill, but it should resolve most dependency issues of these sorts.

from godot_debug_draw_3d.

Related Issues (11)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.