Mastering Procedural Open World Creation with PCG and Unreal Engine 5.2
Вставка
- Опубліковано 10 тра 2024
- Support this channel and get access to all my files:
/ cgdealers
Leartes Entire Store 210+ Assets on 30% Discount:
🔗 gumroad.com/a/39658451
30% Discount Coupon Code: CG30
GET MY COURSES:
Udemy: bit.ly/3FWEsxB
GET ONE MONTH FREE SKILLSHARE SUBSCRIPTION:
skl.sh/3CwwFH2
MY SOCIAL MEDIA:
Artstation: www.artstation.com/coldwave
Discord: / discord
Happy Game Development!
-----------------------------------------------------------------------------------------------------
Welcome to my latest tutorial on creating a procedural generated world using the new Unreal Engine 5.2 PCG function! In this nearly two-hour video, I will guide you step-by-step through the process of building a complete forest with a wide variety of rule sets. With the power of Unreal Engine and PCG, you'll be able to generate endless possibilities for your game environments.
Throughout the tutorial, you'll learn the fundamentals of creating rules for procedural generation.
Whether you're a seasoned developer or just getting started with game design, this tutorial is perfect for anyone looking to expand their knowledge and skills. So join me on this journey of creating a breathtaking world that's truly your own!
-----------------------------------------------------------------------------------------------------
Timestamps:
00:00 - Intro
00:25 - CGDealers Channel Future
01:46 - Support the Channel on Patreon.com
02:47 - Overview of the Final Result
04:47 - How the PCG Forest was built and how it functions
10:10 - Basics of PCG
24:44 - Splines and PCG
40:30 - Scatter things around object PCG
52:36 - Subgraphs in PCG
01:00:22 - Connect Blueprints to PCG
01:07:36 - Spawn mesh on to another mesh PCG
01:20:00 - Support CGDealers Channel and Subscribe
01:20:06 - PCG Forest Creation Overview
01:46:33 -- Outro
#unreal #ue5 #pcg #procedural #unrealengine
In Unreal 5.3 "Density Noise" is "Attribute Noise"
I'll pin your comment as I've got this question very often.
Thank you!
Thank you!))
Thank you so much!!!!! You are a saviour! :)
Changes in UE5.3
To get "Mesh to Points", choose "execute blueprint" --> select Meshtopoints in the blueprint element type
Great tutorial btw, very concise!
Thanks for sharing those changes! PCG will keep changing in the future for sure.
We'll be looking out for more nodes baked into other nodes for sure. xD
Unreal 5.3 "Get Actor Property" replaces "Property to Parameter" by the looks. Great tut btw:)
This dude is fucking incredible. Thanks man. Folks like me with limited resources and time need more people like you. I hope as many people as possible sign up for your patreon.
Thank you so much for the kind words! I hope my videos will help you out in your game dev journey!
Good luck!
😂😂😂bruh ikr....Ohhh the Months of manual tree painting i would have spent if i havent found this man
Truly the best On YT. Patreon Supporter as of 2 days ago when I found you. You have helped speed up my project 10 fold. Great work.
One of the most informative and useful tutorials on PCG. This is a mini course in itself and one wouldn't be disappointed if they'd paid for it. Thanks so much!!
I'm glad you liked it. I hope it helped you out!
If you want to help the channel to grow my patreon is always open for support!
There you can get more in-depth videos and my files.
Cheers!
Its like you have combined all the PCG tutorials out there in one ecosystem, makes it easier to understand, great work!
Glad you like them!
@@CGDealers in PCG Forest creation overview , you have used nodes like Union, ApplyDensitytoheight and projectpointstolandscape, the last one is easy to understand but you never tell us what Union and ApplydensitytoHeight nodes do earlier in the video?
I did not understand why you used them and what they do.
This is on an insanely high level. Thank you!
I hope it helps you!
This is awesome! Thank you for sharing your talent with the rest of the artists...much appreciated!
My pleasure!
@@CGDealers Your awesome do you have a shop on like fiver or something and get paid for people who want maps made but struggle or don't have the time?..I truly suck at this but i need someone with your skill to make a great island map can we talk?..What you do in a few hours it takes me about a week and im still having nightmares!!..Can you help me out do you wanna get paid for your time and work?..Pls
If anyone else had troubles debugging the Density Noise at 54:06 you gotta Open PCG_BasicSpline and Connect the Output of the last "difference" block to the output block there. After I did that it worked for me. :)
I just saw at 55:46 that you didnt need to connect the outputs i guess? no idea why i have to do that
Ahhhh okay i just followed along further, you are doing that as well now!! :D :D
Nice :)
My hero
Phewx! Thanks.
This just earned you a subscribe. You're an absolute legend my dude
Wow, thank you. This is exactly what I was looking for.
Hope it helps!
the best PCG tutorial yet! Great work!
Glad it was helpful!
Fantastic work demonstrating all of this! Thank you!
Glad you enjoyed it!
never been a technical guy, but one thing I can say now I can understand pretty good the PCG basic workflow, thanks for that.
I'm glad that I can help!
im diving into this
I'm teaching myself game dev and wanted to tackle progen bc I think it's so cool. This is easily one of the best tutorials on PCG. Subbed!
Glad you liked it!
This has given me a great understanding of the tools mate. Really apprediate the time you spent here!
Glad to help
your are best mann dont give up you provide one of the best unreal tutorial on youtube and udemy
Can't wait to dive into this, thanks! :)
Your welcome. Please after you watch it, go crazy and expand this functionality. Can't wait to see what you will acheive!
Your tutorial is god tier !! Not only showed us how to make it , and let us know why we doing it. Thanks !!
Glad I could help
Just getting into Unreal and this will be a huge help. Thanks!
Glad I could help!
Really helpful. I signed up for Patreon as well. Keep it up!
Welcome aboard!
soaking up literally a much pcg content as possible Because i love it
It is still early days of pcg. Still a lot of bugs but imagine what we could do 1 year later. Its the future!
oh yeah and joining the patreon! keep up the amazing work
Thanks a lot for this awesome tutorial! I love the way you explain how everything works, it was so clear!
Glad it was helpful! If you want to support the channel and creation of more videos you can join my patreon :)
Thanks anyway!
Thank you for the great tutorial! It was very helpful.
You're welcome!
Excellent knowledge and many thanks for sharing!
You're welcome!
hands down to the best tutorial on youtube for UE5 PCG ! great video man ! you just wone one subscriber ! cheers !
Welcome aboard!
I am so sorry that UA-cam did that to you. I have really enjoyed your videos and have appreciated all the information and knowledge that you share. I will be joining your patron. Thank you. I'm learning so much from you.
UA-cam acts like that very often. Its AI driven. Anyway I’ll continue making videos thanks to all the lovely people that are supporting me via patreon!
for those it can help if you stuck at 54:06 and cant see the debbug try to duplicate your PCG_basicspline and use the new one in the pcg subgraph plus dont forget to connect the Outpout to the last Difference node
For those who have the issue around 56:00 min in the video, where the boxes won't show up after you press Debug on the PCGI Scatter Graph. If you are running 5.3 or higher, go in to your Sub Graph and turn on and off debug or disable -> enable the "FILTER TO POINT" node which UE creates on auto between the Basic Spline PCG and the Attribute Noise. That did the trick for me!
really awesome stuff. Trying to get in on PCG early because it will only get better and better
Can't wait to see how PCG will look in later UE version :)
Tutorial level and style 10/10 👌 very good to follow and to learn from
Much appreciated!
This is so cool. Signing up for Patreon. Thanks!
Welcome aboard!
really cool video man, keep it up! why do you turn off the tick on the blueprints in the first instances and later you dont?
Turn it on like it's at the final :)
Got to 54:25, but after referencing the documentation for Unreal Engine 5.3, it looks like they removed the Density Noise node from the PCG node set - so I can't continue past that point. Is there a UE 5.3 equivalent node or grouping of nodes that I can use for this?
Use "Attribute Noise" node insted.
I appreciate your content
Thanks!
Hi, awesome video even more so it's an amazing masterclass on PCG as a whole. Thank you!
As I'm watching this after a few months, there's some slight changes that would be a great addition as comment overlays during the video :)
1. As @RubenKP mentioned, passed over the Output node for PCG_Spline 54:06 [Add the last PCG Spline "Difference" Out node to the Output] that time would work perfectly as its right before your debug
2. There is no more "PropertyToParamData" node in the Param section, but there is "Get Actor Property", which works the same 1:04:42 (it shows an error on the node, but seems to be working anyway)
Thanks for the update. As PCG is still under development more stuff will change in the future :)
it most likely shows an error because you have more than 1 pcg instances placed on the map
1:13:10 a quick way to copy the mesh is to left click on the static mesh box in the spawner detail panel and select copy then left click on the static mesh box in the mesh to points in the details panel and select paste.
Yep, nice tip!
Hi, I´ve been trying out the PCG for the first time, and im trying to use the part with scattering things around an object, to create scaled grass islands but I want to use my own mesh to project the PCG onto, so i used the "World Ray Hit Query" node instead of the landcape input. After hooking up the first "Transform Points" and the "CreatePointsGrid + Bounds Modifier" into the "Copy Points" it does spawn the points after debugging, but the points spawned by the PointsGrid are copying the alignment of the points created by the "Surface Sampler" and do not snap onto the slope of the surface. Is there a solution to this ?
i can't help you, but I am pretty sure that if you ask your question on the r/unrealengine subreddit you will get an answer
Awesome video, thanks! One thing, my Unreal does not update the debug blocks when moving my spline like yours does. I have to disable and re-enable debug for it to update. Is this a setting that I need to change?
If you are using 5.3 they might changed something. Idk.
After converting "MeshSocketsToPoints" to "MeshToPoints", "CopyPoints" will report an error, how to fix this?
At 1:05:52: There is no tutorial for this node "PropertyToParamData". Is there something extra to set up?
hello, thanks for everything. I can't see the cubes when I create subgraphs. I am getting error in 54.13 and surface sampler. (failed to compute medial axis in interior region, density fall-off will not be applied. this functionality requires a closed spline with at least 4 splines) but i did closed loop and 4 or more spline point.
Join our discord and ask the community :) It's hard to answer it here in the comment section.
@@CGDealersI actually asked on the pcg channel, but no one answered.
😅
I would loved to see how you set up one of the forest even just a small part but the tutorial was good.
Thank you so much for the tutorial, it's extremely useful ! One small question : is there any reason for using the Blueprint version of certain nodes instead of the native one ? I mean nodes such as CopyPoints, and MeshToPoints (instead of the native Mesh Sampler). Is there a difference in functionality or is it personal preference ?
Sorry if you mention it in the video, I may have missed it.
Personal prefs, you can use whatever you want :) The end result is important.
Great tutorial and very helpful just that I dont understand what is ApplyHeightToDensity blueprint please make a video on the blueprints used for this forest in brief!
Noted
Can pcg be converted to Foliage Type Objects?
Maybe in 5.3 is could. You can try.
is the pcg tool is better than procedural foliage generation ? since both can spawn static meshes :O
PCG will be developed further. I suggest to use it :)
1. I add Project to the spline demos to get them onto the landscape. I guess you can also use landscape height.
2. MeshToPoints seems like the wrong approach in mesh-on-mesh as you'd be spawning different meshes that would then get grass on their points. is there a way to get the points from the spawned mesh rather than hard-coding it?
Hello and thanks for the video. Going to this point of the video 1:36:57 you used an ApplyDensityToHeight which I can't find in ue5.3, can you help me understand how to replace it or find it? not even using the Executive Blueprints is there. Thank you for any response
I'm in 5.3, when I close the loop of the spline and select "on interior" I don't seem to have a box show up the way yours did, and following the rest of the steps didn't show the boxes or anything either. Is there something I'm missing?
My video is for 5.2 sadly they could have changed something. I will need to test it out.
At 59:45 I connect exactly as you said PCG_Spline out to density noise then density filter to PCGI scatter, and pathmast input and output both as points, when I debug the density noise after scatter the "road" is not clearing, I've made the spline bound wider and taller.
Join our discord and ask your question there. The community is very helpful.
discord.gg/kUAF4nWuvY
Great tutorial, can't wait to use it, what did you do to make the apply density to height and height to density node pcg graphs
Its a blueprint
@CGDealers right, I wasn't sure how to make that blueprint, if it was in the tutorial I must have missed it.
@@CGDealers i am having same issue. there is height to density not density to height.
He knows what he is talking about, the code is thorough and complete, and he explains it very well. Three thumbs up!
I have a question for CG Dealers. What was your base system , did you use? I am trying to update my system, to be more UNREAL friendly. And am sorta' at loss, as to what to buy , in the way of a system board, CPU, E.T.C? I have an updated video card. But that's it. Does Windows 11 play will with UR 5.2? Thank you, for your answer, in advance. Great work, by the way.
In our discord server there is a channel for hardware machines.
I want to combine the levels and make a huge land, can you help me about this?I couldn't find any ideas on this topic.Each level has its own height map and I want to combine these height maps to create a huge land.If you have a study that you can direct, it would be very helpful. Thanks a lot
Join our discord and ask the community :) It's hard to answer it here in the comment section.
Fantastic tutorial :), but could You do a tutorial with in depth explanation of every pcg sub graph You've made and how to connect this in one big PCG graph? Or an in depth tutorial for creating environment PCGs like in the unreal 5 demo "Electric Dreams Environment"? It would be extremely helpful
Thanks for the idea!
Great work as always; but question for anyone who knows, about random thing... how do you get the windows to stay on top when you're selecting something in a content browser in the main editor window? Like at 1:00:00 you're dragging graphs into a blueprint editor but when I do that the window gets sent to the back behind the active window when I click into it... lol
Lol Google search how to dock and undock content window of Unreal Engine 5. It's just one click :)
The PropertyToParamData node at 01:04:41 doesn't show up for me no matter how I search for it. I tried "par" just like the video. I tried "Prop" I've tried everything. I tried looking in the deprecated section of the PCG engine files and couldn't find anything to expose to library. How do I get this?
PS Thanks for the great tutorials!
They removed it and moved it maybe to exect param. Try to search where they moved it in Unreal Forum.
Great tutorial! Does this mean, if I start the level and control my character, each time I do, the terrain will be procedurally generated and will look different?
If I have to create a save game feature, will the same map be saved?
If you tweak the seed parameters and some other parameters dynamically you can get that effect.
Can anyone tell me how it is possible that there are two BPs called 'BP-Forest'? This is not possible in one project, right?
Is there a way to generate a whole world with this technique?
I want to make a procedural open world, but I want it to be fully procedural (like in Rust).
Is it doable with these new tools or should I use more traditional procedural generation algorithms?
It is duable but still PCG is experimental and not ready for shipping a game with it. In my opinion.
Where do I get the meshes used in the video? I didn't find them on the patreon.
The meshes are trees from Unreal Engine Marketplace. I will send you the link in patreon messages.
Edit - I am incorrect, BP_Element_MeshToPointsWithColors seems to work! (I was originally using different meshes between nodes by mistake)
I'm having trouble at 1:13:12 - I cannot find the "MeshToPoints" Node. I have tried both "MeshSocketsToPoints" Under "Spawner" list, and the "BP_Element_MeshToPointsWithColors" under the "Sampler" list, but neither seem to work (I have set debug on them as well).
I'm on UE5.2
The MeshToPoints node is a blueprint executable node. Use one of those and set type to MeshToPoints
@@Moogulz Thank you!
thanks! had the same problem.
There's something wrong in PCG_Trees, you use Density noise with Min 0.7 and max 1 but in the next step you try to filter grass for example from 0.3 to 0.6 but you can't have this points because you clamp it before with 0.7/1
Hello I have a problem where my map without any features is taking 10 GB VRAM and causing Crashes?
Thanks you very much for the video. 😊😊
You are welcome!
At 1:14: The "MeshToPoints" node was not found either.
the only issue i have now is that nothing stick to the landscape 🤕i found that those tutorial are a little ''messy'' lol
nice and detailed. but I am also fine with Andrien Loguts version since his one seems more beginner friendly.
Cool, thanks
Fascinating what we can do with free software today. Mind telling me what your specific system specs are? I'm eager to switch over to UE5 for this in particular, so planning a new PC build soon.
Join our discord. There is a channel with community hardware specs.
I have
i9 9900k
Rtx 3080
64 Ram
10TB space
@@CGDealers Thanks for listing your specs, now i have a baseline. Cheers.
Scattergraph in Subgraph works only with one closed spline
Is there a way to spawn meshes based on a pattern (like with the help of a texture). For example you want to have grassstripes in a network kind of way
I'm sure there is.
Thanks for this great video! For the BasicSpline chapter, how can I connect to "Input landscape" -> "SurfaceSampler" ? Because there in the video it's on a flat surface. Thank you very much for your feedback. PS: I've tried different nodes but I'm still a novice!
Can you please make a video over collisions like i made a highway in blender and imported it to ue5 the collisions are so bad that the car is floating over it i used that option use complex collisions as simple and it worked but i want to fix the simple collisions
Make custom collisions in Blender.
hey man, loving your video. I'm completely stuck though, as soon as I drag and drop PCGI_scatterGraph into the PCG_Subgraph, unreal completely freezes on me. it comes back after 5/10 mins, but then as soon as I try to do the next step it locks up again. am I doing something wrong or is this just a very intensive thing for my device? I am waiting on a new PC hopefully this month. but for now I'm stuck with what iv got.
Join our discord. The community could help you there!
discord.gg/wEvGPsGzyk
Thanks for the tutorial but it seems like you don't cover the ApplyHeightToDensity blueprint or did I miss it? Thank you!
The Height to Density node is available in my patreon.
Hi, the Property to Parameter node isn't showing up for me. I found it in Content>Engine>Plugins>... elements folder but I'm not seeing an option to make it available to the project.
Is anyone else not seeing the Property to Parameter node show up when they search?
Just drag from the orange variable you want the parameter to control and search for "Get Actor Property" under parameter. It's the same thing.
This work for 5.3?
Most of it works. There are some differences. For example, "Density Noise" is now referred to as "Attribute Noise." In my UE5.3, there was a missing node called "MeshToPoint" and few others. So if you can't find some nodes, put the "Execution Blueprint" node and then on detail panel search your node on "Blueprint Element Type".
how do we prevent objects from spawning on top of one another?
Is it possible to change the landscape using the PCG?
It might be :) still there is not enough docs or videos about pcg so everything is experiments.
For some reason the steps in 56:30 doesn't work for me in UE 5.3.2
Do you know of any changes that might prevent that from working? I still only have the basic points and not the additional points from the scattergraph
Exactly the same thing here. The scattering doesn't work with the input from the spline.
What do you do about performance? the moment the forest is large and has lots of grass, the FPS tanks completely. Could you make a video about performance optimizations or things to avoid in relations to PCG, Nanite and Lumen. Thanks.
you might need to use lower quality textures and 3d assets. they can eat up a lot of VRAM and make the fps plummet. and possible make the nanites fall of in the amount of triangles they can use after a certain distance, there should be a setting for that in the blueprint for the material/asset.
@@lokidoki471 thanks, will try it out, especially the nanite settings.
Hello, what should I use in UE 5.4 instead of mesh to points?
This is a great tutorial, I'm enjoying it tons, thank you so much and keep it up! a quick question i have is when creating the BP_BasicSpline (I don't know if I missed that out) I cant get to stick the any object to the landscape, all the objs are floating, I may missed out that part
1:36:58 I am not able to find APPLY DENSITY TO HEIGHT node in the blueprint. Please help and thanks for the amazing tutorial.
Join our discord to have help from the community.
@CGDealers I haven't seen one person in the discord community answer the question and the files you have aren't compatible with 5.3 anyway you can answer this? No ones been able to and it sucks spending a few hours pausing the video and redoing the nodes that changed for 5.3 to get stuck in the last 10 minutes by some unexplainable thing.
Nice work brother. Could you please make a tutorial on how to make underwater inside project in unreal engine 5 .?
Ok I will try
Why/how do you have two BP_Forest blueprint files?
is it possible to generate infinite terrain using these systems ?
Possibly.
Thanks for the video! One thing. I am using PCG spline but my landscape is not flat. So some of the trees stand in the air. How can I stick all the meshes to the landscape using PCG Spline? It's possible with PCG graph but with spline I don't know what to do? Anyone!
Join our discord the community is super helpful!
"projection" node can givemissing information and "get landscape data" can helps too. depends on task and first one is cheaper solution i thing..
Hi, how to use the color attributes to change the material color? or can I get all the attributes in material?
I have a blueprints course in my Udemy profile. The course itself id 14hours explaining a lot about blueprints.
Hi, the forest doesn't generate for me and I get errors in the log saying that "Property does not exist in the found actor", it's like the error you had on "get actor property" in the video.
Hop in our discord server. The community will help you out!
When I debug the surface sampler, it does not conform to the terrain and remains flat. Any idea why?
Hi, first of all, great video. Is there any way to manually/individually change a static mesh transform? In other words, what if I don't like the position of one specific tree, rock or anything regarding foliage, is there any way to manually adjust/scale position for that? Thank you!
At 29 min when I select Dimension on Interior and close the loop no grey boxes appear but the error is gone. can anybody help?
did you found density noise in the new ue5 version?
woooow, how did you learn all of that so specific , its not easy by the way, and also, PCG is just been launched recently ? so, how did you learn and expertise all of that so quickly and precisely ???
I've watched a lot of videos, read stuff on the forum etc :)
but with the tutorial a can recreate all the essets
you use?
yes
Thanks for the tutorial! I got stuck at 56:50, when I connected the PCGI_SCATTER, it didn't show the surrounding boxes (I connected the output in the PCGI_SCATTER).....
same for me
same
why can't i find the ScaleByDensity note
In 5.3 they moved it i guess.
Do you know which node replaced it?@@CGDealers
@ 54:06 if you dont see the debug, drag the PCG_SubGraphs into the viewport