Open Jendx opened 10 months ago
I'm working on a game with many 3D UI elements, and I'm trying to create a more modular system to streamline the process. I've encountered several challenges along the way, but my goal is to develop something similar to Unreal Engine's 3D UI system. Ideally, I want a single node that allows you to select the UI and automatically generates all the necessary components, making the workflow much simpler and more efficient. I believe this kind of system should be a default feature in Godot, rather than something we have to build ourselves. It would significantly streamline 3D UI development if we had a built-in tool that, with just one node, could automatically generate all the necessary UI components, similar to how it's done in Unreal Engine. It would make the process much more user-friendly and efficient, especially for complex projects involving lots of 3D UIs.
Describe the project you are working on
Meme game inspired by FNAF
Describe the problem or limitation you are having in your project
I wanted to setup player interactable screen with few buttons on it (vis ref photo). https://media1.giphy.com/media/v1.Y2lkPTc5MGI3NjExd3I0MDVleTFxOTIwZm54dmFqZXprYmpqZzkycHluN200ZmJucjdkciZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/YdJAFlCWvyrKhIoFzp/giphy.gif
Describe the feature / enhancement and how it helps to overcome the problem or limitation
Working on few mine learning projects in unreal, you were able to just draw 2D items (Widgets) into 3D space and when setting their collisions right, you were able to interact with them using raycasts.
I would like to have something like this in Godot as well. I saw the example project and though. Just having this like a node would be so much simpler.
Describe how your proposal will work, with code, pseudo-code, mock-ups, and/or diagrams
When you create new node, user will have to add few others nodes, that will be inserted into exported variables of root node
I have wrote code how it would work into abstract class below:
If this enhancement will not be used often, can it be worked around with a few lines of script?
It could be done with 178 lines of code if you know what you are doing
Is there a reason why this should be core and not an add-on in the asset library?
I believe this feature is often used in games and would be smaller issue for beginning Godot devs to implement and time saver for more experienced devs