You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
With the recent launch of the next Wheel Steal Game playtest (available here), our team is fully moving to Godot 4. This means I want to put a pin in the godot 3 development, and think more about the future structure of the plugin without having to support two such different versions of godot.
The close this out, I do however want to sneak in some basic intersections. The goal here is not programming related, but rather to simply include a couple of hand-authored assets that would ship with the plugin itself which work as interesections thanks to. the generalized nature of RoadContainers. I will also use this as an opportunity to expand on the existing guide over here for creating custom geometry.
Here's what I hope to include
Create hand authored glb geometry for each of the following, with placeholder exports so that it forces users to drop in their own material geometry
4-way 1x1 intersection
4-way 2x2 intersection
3-way 1x1 intersection
Highway on/off ramp
Y splitter (optional, depending on how happy I am with the above item)
Create a single blend file which includes the data for the above (despite the git lfs implications) It should:
Separate collections for the source geometry exported from godot and the cleaned up final geometry
Export collections set up with the appropriate settings and paths for easy use
A gdignore file set up so that users with blend file importing don't end up with doubles or unnecessary data
Some kind of placement so that it is easily ignored / not including in build exports, as that would just inflate user's game exports. This might just need to be a documentation thing, if .gdignore doesn't on its own already exclude a folder from build inclusion,
Use a single material which uses the same trimsheet as the regular material
This material should work as a direct replacement for the one bundled with the road generator, and thus also work with custom authored trim sheets
The hand crafted model files should match the default profile of the road generator itself, including shoulder and lane widths. I'll prioritize intersections with the common default number of lanes as well (2x2 over 1x1s) if time becomes an issue.
Prepackage each of these exports into tscn files, so users can easily drop into their scenes. Thus, users can simply drop theseinto their scene and connect them to other intersections or procedural road segments using the RoadContainer snapping feature (in editor or via code)
The scene files should have the correct placement of RoadPoints already set up, with create geo turned off
Let's assume users want to use RoadLanes, and thus we need to hand author any missing ones which are not auto created. Will need to think about whether there are ways to make auto connection work
Reference the built in road material. Bonus points if I make a small programming change to have these meshes get their material from the parent, so it's easy to swap out materials in an instanced scene. Failing that, it's fairly easy t communicate how to do that with editable children (or in godot 4.4's new exposed children feature)
Extra bonus points if I manage to create a submenu for intersections with hard coded links to each of these files (and maybe a popup dialogue if ever one of them is missing).
Could also work by assigning an "road containers" folder where it then searches through and lists scenes? but, trying to minimize the coding changes here.
Extend this so it's available for both godot 3 (first) as well as godot 4 (secondarily)
Update the wiki guide with one of these roads as an example
The text was updated successfully, but these errors were encountered:
Made good progress on the first custom intersection, and also updating the tutorial:
However I did come across one problem, which is that using the connection tool doesn't work for fully custom meshes in the editor, since we can't rely on the handling of the source object. I'll have to think about options, one of which would be to at least let the connection tool work for hovering over the RoadPoint indicators itself (but then again, we run into the issue of custom scripts not seeming to work in nested saved scenes, making this tricky). Thankfully snapping still works fine, but that's not enough on its own I'd say.
The other workaround, though severely annoying, is to re-enable the procedurally generated road segments in the source scene, save it, return to your editor screen and use the connection hovering tool, then go back to the subscene and disable procedural geometry again.
With the recent launch of the next Wheel Steal Game playtest (available here), our team is fully moving to Godot 4. This means I want to put a pin in the godot 3 development, and think more about the future structure of the plugin without having to support two such different versions of godot.
The close this out, I do however want to sneak in some basic intersections. The goal here is not programming related, but rather to simply include a couple of hand-authored assets that would ship with the plugin itself which work as interesections thanks to. the generalized nature of RoadContainers. I will also use this as an opportunity to expand on the existing guide over here for creating custom geometry.
Here's what I hope to include
The text was updated successfully, but these errors were encountered: