this post was submitted on 02 Oct 2023
32 points (100.0% liked)
Godot
6020 readers
34 users here now
Welcome to the programming.dev Godot community!
This is a place where you can discuss about anything relating to the Godot game engine. Feel free to ask questions, post tutorials, show off your godot game, etc.
Make sure to follow the Godot CoC while chatting
We have a matrix room that can be used for chatting with other members of the community here
Links
Other Communities
- !inat@programming.dev
- !play_my_game@programming.dev
- !destroy_my_game@programming.dev
- !voxel_dev@programming.dev
- !roguelikedev@programming.dev
- !game_design@programming.dev
- !gamedev@programming.dev
Rules
- Posts need to be in english
- Posts with explicit content must be tagged with nsfw
- We do not condone harassment inside the community as well as trolling or equivalent behaviour
- Do not post illegal materials or post things encouraging actions such as pirating games
We have a four strike system in this community where you get warned the first time you break a rule, then given a week ban, then given a year ban, then a permanent ban. Certain actions may bypass this and go straight to permanent ban if severe enough and done with malicious intent
Wormhole
Credits
- The icon is a modified version of the official godot engine logo (changing the colors to a gradient and black background)
- The banner is from Godot Design
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Ok so if I understood correctly you want to have one Node(of type Path3D or Curve3D) that will be used to generate a street from a given staring point to a given end point. And a second type of Node that should be handling intersections of a road?
My initial idea would be to have a area3D note for the intersection node and a area3D node as the start/endpoint of the path.
Then using the area_entered signal in the intersection area to detect if a path start/end was connected...
I have no experience of how well all of this will work in an tool script but this would be my starting point.
PS: after thinking twice about it. Why would you want to have a distinct intersection node? I think simply having a start and a endpoint of a street that can be connected to a different start/end point of a different street (or even the same to make a circle) should be enough.
Thanks. I actually tried Area3D, but it wasn't ideal.
Why distinct intersection nodes?
This division seems the most sensible option for geometry generation. Intersection stuff is contained in one node instead of being divided between all connected paths, and path modifiers are also simpler, because they only have to care about the path.
Ok I guess we are talking about the same idea here. Having one node that handles "connection" and a different note handling the course of the street.
I would only argue that a connection with only on road connected should be able to exist in order to create a dead end. But don't know if this would make sense for your specific gameplay.
I'm sorry I can't help you any further here, but maybe someone else will have an idea.
You mean capping dead ends like this?
It's not really an issue, since adding an intersection is (supposed to be) easy, and I'd have it there regardless if I wanted to generate land patches around it, like in the post image.
spoiler
Thanks anyway, though!
I mean the workaround would be to have something like a Array defined as an export variable and "drag and drop" the nodes you want to connect in the inspector?
But I think you already had something like this in place?
That was the initial approach, but finding the node in the list became way too much effort very quickly.