Adrien, this is SUPERB! All those pesky questions we've all asked you on the Discord forum have clearly flowed into the creation of this tutorial. This answers some of my current issues with custom nodes, and I' expect to refer back to this video often in the future. Thank you so much!
Echoing what others have said, what a great tutorial, I'm using PCG graphs to create hundreds of levels all of which need trees etc but also need X number of PoI's and mobs - I was having a real head scratcher until I found this.
If I may ask a question? If I have a totally flat terrain of a fixed size with a PCG graph, will the surface sampler always pick the *exact* same points given the same seed cross platform? In my testing I seem to be able to reliably store state info in my DB for something(say a tree) by using the X/Y cords as the lookup(along with the PCG Seed).
Thank you for this advanced tutorial. It is extremely useful. Idea for another tutorial, I would love to see how multiple PCG could interact together. Can one PCG graph generate just points with metadata, and another graph able to query theses points in the world with the metadata attached, to do something else with it, etc...
Great Video! Quick question, in the Spawn Actor node, what does the Option: Collapse and Option: MergePCGOnly options do? It seems like Collapse generates a hierarchal instanced mesh instead of actually spawning the actors like the NoMerging option does, but I'm not sure what the behaviour means exactly. Could you clarify? Thanks!
I am selecting to use BP whenever possible. The slowdown is only going to affect load times, mostly pre-gameplay, and it's likely to be a few seconds at the most. I'm ok with that.
Absolutely great vid as always even a year later! A question I had while watching this tho, is there a way to skip an index/point instead of the BP picking random points? This would be pretty neat for more repetitive control for splines etc. I tried with a Modulo node but didnt get it to work :D
Oh crap already 1 year has passed... You have full control with the BP to output the points you want! You can also check the follow up video with the Point Loop Body function that can return false to discard a point. Come on Discord if you want to talk about it :) it's better than the RUclips comments x)
@ I actually managed to get this to work with the Modulo node! It’s skipping an index each time. Thanks for the knowledge you share, it’s really really valuable, also I joined the Discord so I’ll see you there some day :)
You unfortunately can't use arrays as attributes, attributes are only base types. You can though create an attribute set with multiple entries. You can see that in this video I add an entry for the attribute set. If you want multiple values, you can add multiple entries!
It's not much different than the point loop body: ruclips.net/video/-JnfQ4JwFTI/видео.htmlsi=U_bUuGGgpgBautZ3 You have to query the data yourself though.
Hey Adrien, I am so glad I found your channel! It has been very insightful so far. A few devs (including me) are trying to use PCG sampling on procedurally generated meshes (Unreal Forums thead "PCG with a Procedural Mesh"). My efforts have led me here so far, and now I am trying to make a custom PCG node that takes a procedural mesh and samples points onto it. However, I am struggling with this and I'm wondering if this is even possible with the current 5.3.2 version. Could you give us a hint?
I'm not sure how Procedural meshes work, but we have the Mesh Sampler not part of the PCG GeometryScript Interop plugin. It's a native conversion of the Mesh To Point node that you can find in the deprecated BPs in the PCG plugin content. It uses Geometry Script underneath. So you need to have some kind of sample function on your mesh to get a list of Transforms, and convert those into points.
Drives me nuts repeating the same line over and over for 20 min... music is annoying in instructional videos, If i need background sound ill open another tab and make the volume lower..
Yeah you're right. I'm torn a bit, I really feel the silence deafening and the music makes it nicer to fill the holes. But on the other hand, you can't accelerate the video because the music will be awful, and indeed you can't listen to your music at the same time. But I'm biased I can't listen to my voice alone for long xD I'll try without music for the next video see if it is better, thanks for your feedback.
Hi Adrien, thank you so much for your awesome video. Could I ask you a question. In Unreal Engine 5.4, I can't find the type of variable (AttributeSet) like in Unreal Engine 5.3, could you let me know how to fix it?
Is there a way to incorporate forms of Triangulation methods using these nodes? I'd like to generate fully random dungeons using PCG but im having a real hard time lol
Hi Great tutorial, is it possible to manually change the values of point data inside of blueprints? Here you're only selecting indexes of an array to keep, but still very useful!
Hey if you ever see this comment would you be able to do a tutorial on making like a randomly generated dungeon or just randomly genrated rooms, that would be nice
That's way more complicated unfortunately! But there are some people that already managed to do it. I don't plan to do it in the short term, I'll focus more on explaining the different tools so people can combine them and make great things.
Thank you for this tutorial, the only one explaning multiple outputs for the custom nodes!
Adrien, this is SUPERB! All those pesky questions we've all asked you on the Discord forum have clearly flowed into the creation of this tutorial. This answers some of my current issues with custom nodes, and I' expect to refer back to this video often in the future. Thank you so much!
That means a lot thank you ❤️
SOOO Helpful!! There's lots of PCG content out there, but few go into such detail and complexity with this awesome tool. Thanks a lot!!
Glad it was helpful!
Truly grateful for you sharing your knowledge.
Haha thanks for the nice words! You're binge watching them :D
Echoing what others have said, what a great tutorial, I'm using PCG graphs to create hundreds of levels all of which need trees etc but also need X number of PoI's and mobs - I was having a real head scratcher until I found this.
If I may ask a question? If I have a totally flat terrain of a fixed size with a PCG graph, will the surface sampler always pick the *exact* same points given the same seed cross platform? In my testing I seem to be able to reliably store state info in my DB for something(say a tree) by using the X/Y cords as the lookup(along with the PCG Seed).
For me PCG is the best thing in Unreal right now 😁
Thank you for this advanced tutorial. It is extremely useful. Idea for another tutorial, I would love to see how multiple PCG could interact together. Can one PCG graph generate just points with metadata, and another graph able to query theses points in the world with the metadata attached, to do something else with it, etc...
Great Video! Quick question, in the Spawn Actor node, what does the Option: Collapse and Option: MergePCGOnly options do? It seems like Collapse generates a hierarchal instanced mesh instead of actually spawning the actors like the NoMerging option does, but I'm not sure what the behaviour means exactly. Could you clarify? Thanks!
Merci! For this amazing tool and these very useful tutorials!
Great tutorial
I am selecting to use BP whenever possible. The slowdown is only going to affect load times, mostly pre-gameplay, and it's likely to be a few seconds at the most. I'm ok with that.
That's because you haven't started to make something complex ;) we have an internal project that uses a lot of blueprint and it is awfuly slow
Absolutely great vid as always even a year later! A question I had while watching this tho, is there a way to skip an index/point instead of the BP picking random points? This would be pretty neat for more repetitive control for splines etc. I tried with a Modulo node but didnt get it to work :D
Oh crap already 1 year has passed...
You have full control with the BP to output the points you want!
You can also check the follow up video with the Point Loop Body function that can return false to discard a point.
Come on Discord if you want to talk about it :) it's better than the RUclips comments x)
@ I actually managed to get this to work with the Modulo node! It’s skipping an index each time. Thanks for the knowledge you share, it’s really really valuable, also I joined the Discord so I’ll see you there some day :)
Love it keep the videos coming!
This is amazing, thanks! Any chance you can explain how you would set up the attributes for an array under UE5.4?
You unfortunately can't use arrays as attributes, attributes are only base types.
You can though create an attribute set with multiple entries. You can see that in this video I add an entry for the attribute set. If you want multiple values, you can add multiple entries!
Can you do a video on Iteration Loop Body? I can't find any information about why / how to use it.
It's not much different than the point loop body: ruclips.net/video/-JnfQ4JwFTI/видео.htmlsi=U_bUuGGgpgBautZ3
You have to query the data yourself though.
Hey Adrien, I am so glad I found your channel! It has been very insightful so far. A few devs (including me) are trying to use PCG sampling on procedurally generated meshes (Unreal Forums thead "PCG with a Procedural Mesh"). My efforts have led me here so far, and now I am trying to make a custom PCG node that takes a procedural mesh and samples points onto it. However, I am struggling with this and I'm wondering if this is even possible with the current 5.3.2 version. Could you give us a hint?
I'm not sure how Procedural meshes work, but we have the Mesh Sampler not part of the PCG GeometryScript Interop plugin. It's a native conversion of the Mesh To Point node that you can find in the deprecated BPs in the PCG plugin content. It uses Geometry Script underneath. So you need to have some kind of sample function on your mesh to get a list of Transforms, and convert those into points.
Thanks for this. Recommend leaving out the music in future videos.
Drives me nuts repeating the same line over and over for 20 min... music is annoying in instructional videos, If i need background sound ill open another tab and make the volume lower..
Yeah you're right. I'm torn a bit, I really feel the silence deafening and the music makes it nicer to fill the holes. But on the other hand, you can't accelerate the video because the music will be awful, and indeed you can't listen to your music at the same time. But I'm biased I can't listen to my voice alone for long xD
I'll try without music for the next video see if it is better, thanks for your feedback.
@@adrien_logut other than that these videos are the best PCG breakdown we have gotten so far out of EPIC, Thank You!
Hi Adrien, thank you so much for your awesome video. Could I ask you a question. In Unreal Engine 5.4, I can't find the type of variable (AttributeSet) like in Unreal Engine 5.3, could you let me know how to fix it?
Hum that's weird, it's either Attribute set or PCG Param Data.
@@adrien_logut Thank you so much. I fixed.
Is there a way to incorporate forms of Triangulation methods using these nodes? I'd like to generate fully random dungeons using PCG but im having a real hard time lol
You can implement pretty much any logic either in BP or C++
Can there be actual documentation on this? If not for your video, how would new users understand the system.
There are some on the Unreal site. Otherwise it's a beta plugin, it comes with less documentation that's the contract.
Hi Great tutorial, is it possible to manually change the values of point data inside of blueprints? Here you're only selecting indexes of an array to keep, but still very useful!
Yes of course, since I'm copying the points you can modify them no problem
Hey if you ever see this comment would you be able to do a tutorial on making like a randomly generated dungeon or just randomly genrated rooms, that would be nice
That's way more complicated unfortunately! But there are some people that already managed to do it.
I don't plan to do it in the short term, I'll focus more on explaining the different tools so people can combine them and make great things.
Well, let's go
nice shit