JekSun97 / gdTree3D

Plugin for procedural generation of 3D trees of varying complexity for Godot Engine.
Other
172 stars 7 forks source link

Please fix up the folder structure #2

Closed Smorty10 closed 3 months ago

Smorty10 commented 3 months ago

When uploading to the Asset Library, they just take the exact folder structure you provide within your repo. So all the demo images and other assets will be dumped right into the users file structure. This is really bad for keeping ones own file structure clean.

Please consider putting all your addons resources and code into its addon folder. It makes installing the addon a lot easier and keeps everyones file structure clean from the start.

JekSun97 commented 3 months ago

@Smorty10 You can import only the addons folder by selecting only it in the import menu, then move the addons folder to the main project folder: import

SoapSpangledGames commented 1 month ago

When uploading to the Asset Library, they just take the exact folder structure you provide within your repo. So all the demo images and other assets will be dumped right into the users file structure. This is really bad for keeping ones own file structure clean.

Please consider putting all your addons resources and code into its addon folder. It makes installing the addon a lot easier and keeps everyones file structure clean from the start.

I totally agree. Requiring the user to perform manual steps at install time is problematic. It is a best practice to have all addon files be contained within the addon's own top-level directory, as users expect that behavior. Having to cleanup an install that (even accidentally) mixes with other addons or user files can be a huge pain.

I have installed this about 15 times from the AssetLib tab, and it doesn't work. It doesn't appear as a plugin in the Plugins tab, so it's can't be enabled. And installing just the addon results in only two files being installed. That's unfortunate, as it seems like it would be a great addon for my game.

FibreFoX commented 1 month ago

The way this GDExtension has to be installed has changed, copying the DEMO project is not the proper way anymore.

Sadly there is no proper workflow for GDExtensions to be published in the AssetLib of Godot, see these open issues: GDNative: support multiple OS builds for plugins Allow download of arbitrary link instead of only Github api

The current way is to download a ZIP file (containing all the needed files) and place it into your project. The last created RELEASE sadly is a bit broken, so until then, please use these files: https://github.com/JekSun97/gdTree3D/issues/3#issuecomment-2311031266

SoapSpangledGames commented 1 month ago

I downloaded the Linux x64 binaries, but I don't know where to put them.

FibreFoX commented 1 month ago

@SoapSpangledGames Sorry for the confusion, please check if you can use the provided files from here: https://github.com/JekSun97/gdTree3D/actions/runs/10657030530

Just download the Tree3D-addon-godot-file for your Godot version. These ZIP-files should contain all the files you need.

SoapSpangledGames commented 1 month ago

I tried to run the demo project from the downloaded ZIP, and got:

image

FibreFoX commented 1 month ago

Regarding the Godot asset library, I've opened an issue there: https://github.com/godotengine/godot-asset-library/issues/340

FibreFoX commented 1 month ago

@SoapSpangledGames Which ZIP did you download and which Godot version do you use? All you need is to extract the "non-demo" ZIP into your project (which results into a "addons" directory with a "Tree3D"-directory inside your project root folder).

SoapSpangledGames commented 1 month ago

My screenshot had been from the ZIP file downloaded from Github prior to your message about downloading the files from https://github.com/JekSun97/gdTree3D/actions/runs/10657030530, so you can ignore that.

I downloaded the 4.3 version from the link you posted, and placed the Tree3D folder into the addons folder in my project. What do I do now?

SoapSpangledGames commented 1 month ago

I just realized you said Tree3D needs to go into the root of my project, so I moved it there.

SoapSpangledGames commented 1 month ago

Do I need to put something back into the addons folder?

FibreFoX commented 1 month ago

Maybe this helps more:

YourProject
\---addons
    \---Tree3D
        |   libTree3D.linux.template_debug.x86_32.so
        |   libTree3D.linux.template_debug.x86_64.so
        |   libTree3D.linux.template_release.x86_32.so
        |   libTree3D.linux.template_release.x86_64.so
        |   libTree3D.macos.template_debug.arm64
        |   libTree3D.macos.template_debug.universal
        |   libTree3D.macos.template_debug.x86_64
        |   libTree3D.macos.template_release.arm64
        |   libTree3D.macos.template_release.universal
        |   libTree3D.macos.template_release.x86_64
        |   libTree3D.windows.template_debug.x86_32.dll
        |   libTree3D.windows.template_debug.x86_64.dll
        |   libTree3D.windows.template_release.x86_32.dll
        |   libTree3D.windows.template_release.x86_64.dll
        |   Tree3D.gdextension
        |
        \---ico
                Tree3D.png
SoapSpangledGames commented 1 month ago

That did help. :)

Now that I have done that, Godot shows:

image

While my file manager shows:

image

Is that correct? If so, what is the next step?

SoapSpangledGames commented 1 month ago

My Godot screenshot didn't include the entire tree. This has it:

image

SoapSpangledGames commented 1 month ago

I would expect to have to enable the plugin, but it doesn't appear as an option:

image

FibreFoX commented 1 month ago

@SoapSpangledGames I understand your confusion (as I ran into the same situation), but this is an issue of Godot. There is a difference between a "plugin" and the quite new "GDExtension". All it needs is to have it in the place I described, it should auto-detect and auto-load the extension, if not, try to reload your project.

SoapSpangledGames commented 1 month ago

I've reloaded my project several times. I think I should see Tree3D somewhere in the new node list, but it's not there.

image

Tree3D has Linux binaries, so it should work under Linux, shouldn't it?

SoapSpangledGames commented 1 month ago

I ran Godot from the command line, and it gave me errors about not being able to load the Tree3D libraries. It requires GLIBCXX_3.4.32, which can't be found on my system.

FibreFoX commented 1 month ago

@SoapSpangledGames From the screenshots you've provided, it looks at the proper positon. Can you double-check if you are using the correct version for your godot version? They are not compatible with each other (sadly)

FibreFoX commented 1 month ago

@SoapSpangledGames can you open a new issue for that? so we dont pollute this issue more ;)

SoapSpangledGames commented 1 month ago

Will do.