Cool as a Tech / Idea demo just remember these trees will have a lot more draw calls, more overdraw, higher shader complexity etc, potentially weird LOD transitions. There is a free tool "Tree It" if your goal from this video is to actually make Trees.
@Procedural_Minds9 ай бұрын
You can bake them down to static meshes after as well. Then you eliminate the extra draw calls, and can setup the LOD transitions as you deem necessary. :)
@rjpre3018 ай бұрын
those procedural trees are all HISM and UE5 has now the ability to detect if there are meshes with the same material to make them "instances" (internally) making the drawcalls even lower.
@pantov8 ай бұрын
this is exactly what ive been looking for, great tutorial, i hope there will be a follow up tutorial someday, i like to see how to expand on this system with wind animation, and maybe a example of incorporating vertexcollors or maskbitmaps to drive the spawning.. much thanx for this video amigo!
@Procedural_Minds8 ай бұрын
You're welcome! If I think of a clever simple way to do what you're looking for then I'll make sure to make a tutorial for it. :)
@WsEKond9 ай бұрын
Really good tutorial! Thank you for making each week Videos for us. But as tip: You shoule change your video title if you want more views, it is nice, but I dont think you can easily find it on KZbin when you search for this, but it is yjust a tip. You Video Quality is on point! 🎉🎉
@Procedural_Minds9 ай бұрын
Thanks. I'm still trying to figure out titles and whatnot. Titles aren't easy as they can't just be "Modular Tree PCG Tutorial" or something very straightforward, cause then very few will click it. Needs some intrigue.
@WsEKond9 ай бұрын
@@Procedural_Minds i am not really creative, so I cant help you really, sorry :(
@Procedural_Minds9 ай бұрын
Oh I don't expect you to. lol But just so you know, this video is currently performing 2/10, so it's far above average for my channel. So I think the title worked well enough. ;)
@WsEKond9 ай бұрын
That is interesting :) I am glad to hear that this video has Performed. Thank you for all what you do!😊
@peterallely541726 күн бұрын
Are we able to use this approach to loop over meshes spawned points along a PCG spline and connect another mesh between each instance’s sockets? Still trying to make my wire fence 😂
@Procedural_Minds26 күн бұрын
Using this method you just get points. So you theoretically could combine the points together into a spline even and use the new spline meshes if you'd want. Lots of options.
@peterallely54179 ай бұрын
Great use case! Thanks for putting this together. Hey, would you be interested to explore how to connect cables using PCG, like the classic power poles along a spline? I haven’t managed to figure out how to have a socket on a spawned mesh look for and connect to the socket next mesh being spawned along the spine.
@Procedural_Minds9 ай бұрын
It's actually something I was thinking about, just haven't figured out a way to do it. I wanted to do it for a suspension bridge. If I figure it out then I'll make a tutorial.
@peterallely54179 ай бұрын
@@Procedural_Minds oh buddy, please please do. Another thing I’m wondering about is if you can change a point’s data when it intersects with another point with a specific tag (like the classic clearing path) but then call that particular point and specify a different mesh for that point. My use case is a fence, which will swap out the post/wires for a gate where it’s intersected by a path spline with a specific tag. Does that make sense?
@Procedural_Minds9 ай бұрын
@@peterallely5417 You can do that already. When you do the difference to remove the points. You can just use the result of the difference to difference the original points. Effectively cutting out the inverse. Then you can do whatever you want with them. :)
@peterallely54179 ай бұрын
@@Procedural_Minds amaze, thanks pal.
@piotrstanczyk78363 ай бұрын
This is great, thanks for all your tutorials! I wonder how Epic created their PCG trees. I think they did not use sockets?
@Procedural_Minds3 ай бұрын
It's been a while, but they did show their method in a video a while back. I believe it was about nanite but they showed it there. I don't recall what it was after all this time unfortunately.
@carlospastor1278 ай бұрын
Hi, nice tuto thanx!! I have an issue with last get attribute from index node, i set index 0 and output attribute name Branch_B but is not working, "Error: Index for input 0 is out of bounds. Index 0; Number of points 0: Any one know what happens?
@Procedural_Minds8 ай бұрын
Double check that you have the points setup, they all have the tag, and that in the PCG graph it's exactly the same. Copy paste is easiest to make sure.
@carlospastor1278 ай бұрын
@@Procedural_Minds Should the tag you have in the bp be the same as the one you put in the pcg graph nodes?
@Procedural_Minds8 ай бұрын
@@carlospastor127 I'm talking about the tags in the sockets matching the ones in the graph.
@carlospastor1278 ай бұрын
@@Procedural_Minds Yep, I have a trunk, 2 types of branches and 2 types of leaves, my trunk has 6 sockets with SM_Branch_01 and 02 and both with tag Branch, and then I have my branches with 6 and 8 sockets with SM_Leaves_01 and 02 and both with tag Leaves, the node that gives me errors has the Output Attribute Name "Leaves" and the previous static mesh spawner node has the Out Attribute Name "Leaves" as well
@carlospastor1278 ай бұрын
In my SM_Branch_01 should I use the Leaves tag only on the SM_Leaves_01 sockets and another tag for the SM_Leaves_02 sockets?
@taon9 ай бұрын
Hey thank you very much for this tutorial ! ❤ Do you have an idea on how I could build a similar setup except instead of having to manually duplicate the nodes at each new iteration I could just make it a subgraph and loop on it to create kind of coral-like generations ? Basically a recursive version of this ?
@Procedural_Minds9 ай бұрын
You're welcome! I haven't looked into sub graph loops as of yet, but it's on my list of things to figure out and do a tutorial on.
@taon9 ай бұрын
@@Procedural_Minds Great ! Looking forward !
@peterallely54179 ай бұрын
Yeah that sounds great
@joshhouston54059 ай бұрын
Can you clear the PCG link and make it into it's own actor during runtime?
@Procedural_Minds9 ай бұрын
Honestly I haven't tried to. Why do you want to create it into an actor during runtime out of curiosity?
@joshhouston54059 ай бұрын
@@Procedural_Minds so that when players interact with the tree, I can turn it into an actor to fo further actions with. Like saw down, or attach a swing to.
@Procedural_Minds9 ай бұрын
@@joshhouston5405 Ah I see. It's currently difficult to isolate a specific point in a sea of points dynamically. Unless you do one graph per tree. But then what you can do is instead of static meshes you can spawn in blueprints. Then maybe tie the blueprints together somehow. But yeah, no great way to do what you want as far as I know out of the box.
@Zallusions9 ай бұрын
pcg seems like its going to change the way games are made.
@Procedural_Minds9 ай бұрын
It really is simplifying a lot of things and I love it! :) Not everything will be done with it exclusively, but more and more things will start to incorporate a bit here and there.
@Zallusions9 ай бұрын
@@Procedural_Minds well it's only been around for a short period of time and it's already gotten this far, im excited to see where it us in another 2 years. It truly is amazing for small or solo dev teams