Mastering Procedural Open World Creation with PCG and Unreal Engine 5.2
ฝัง
- เผยแพร่เมื่อ 19 พ.ค. 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.
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
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.
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!
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
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!
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.
Fantastic work demonstrating all of this! Thank you!
Glad you enjoyed it!
the best PCG tutorial yet! Great work!
Glad it was helpful!
Wow, thank you. This is exactly what I was looking for.
Hope it helps!
This just earned you a subscribe. You're an absolute legend my dude
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!
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!
your are best mann dont give up you provide one of the best unreal tutorial on youtube and udemy
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!
This has given me a great understanding of the tools mate. Really apprediate the time you spent here!
Glad to help
im diving into this
Just getting into Unreal and this will be a huge help. Thanks!
Glad I could help!
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
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
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 TH-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.
TH-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!
Tutorial level and style 10/10 👌 very good to follow and to learn from
Much appreciated!
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!
Thank you for the great tutorial! It was very helpful.
You're welcome!
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 :)
Excellent knowledge and many thanks for sharing!
You're welcome!
He knows what he is talking about, the code is thorough and complete, and he explains it very well. Three thumbs up!
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
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 :)
This is so cool. Signing up for Patreon. Thanks!
Welcome aboard!
I would loved to see how you set up one of the forest even just a small part but the tutorial was good.
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.
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
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.
I appreciate your content
Thanks!
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!
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
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
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
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!
At 1:05:52: There is no tutorial for this node "PropertyToParamData". Is there something extra to set up?
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!
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?
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.
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.
😅
After converting "MeshSocketsToPoints" to "MeshToPoints", "CopyPoints" will report an error, how to fix this?
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.
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.
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.
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.
Thanks you very much for the video. 😊😊
You are welcome!
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
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.
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 :)
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.
nice and detailed. but I am also fine with Andrien Loguts version since his one seems more beginner friendly.
Cool, thanks
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.
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
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 :)
@ 54:06 if you dont see the debug, drag the PCG_SubGraphs into the viewport
Nice work brother. Could you please make a tutorial on how to make underwater inside project in unreal engine 5 .?
Ok I will try
the only issue i have now is that nothing stick to the landscape 🤕i found that those tutorial are a little ''messy'' lol
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!
Not that I know of
At 1:14: The "MeshToPoints" node was not found either.
Can pcg be converted to Foliage Type Objects?
Maybe in 5.3 is could. You can try.
Scattergraph in Subgraph works only with one closed spline
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.
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 :)
Hello, what should I use in UE 5.4 instead of mesh to points?
Suuuper good Video, thanks for sharing mate! One problem I have though that at 1:05:30 i dont have the PropertyToParameterData node in my list when I search. Only GetActorProperty. is that the same node? it does have the same checkboxes but does not seem to work for this purpose. Bit confused.
same here
Try to search it in the blueprint executable node. You might be using different UE 5.1 version or updated PCG.
Tey renamed it to GetActorProperty
Great video. Do you have this course on Udemy also?
This is my free content. I have other courses in Udemy.
Hi and thanks for the video. I would just like to know how many FPS you have.. Because every time I see a video like that, I'm at 30 FPS max... And I have a titan RTX. My question is: Do we learn to optimize also in this video? Anyway, your videos are great.
In, done I would love to learn how to create an open world But optimize well..
Turn on nanite on your foliages or use lods. Will boost the performance a lot.
Excellent work, this is an amazing tutorial. But you cant produce the same results without the Apply Height to Density node. I really hope you continue to make more content in the future. I do have 1 question, can you show how to create the "ApplyHeightToDensity" node?
The Height to Density node is available in my patreon.
@@CGDealers Where?
you say its on patreon but its nowhere to be found? i just paid you, least you can do is provide the product you promised
@@CGDealers
Did you find it?@@oddysy1880
Did you find it?@@tommipieva4813
sad to hear about the youtube thing, keep up the great videos!
Thanks, will do!
At 1:20:50 you show 2 Blueprints: Apply Density To Height and a variant of Height to Density. Your Forest Data uses these but you haven't shown how they work. Is there a possibility of sharing these Blueprints, even if just image overviews like the end of the video for those trying to follow along and experiment with your example?
Great tutorial though, loads learnt about PCG
I'll make more PCG tutorials. Those are available for my Patreons.
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.
老哥你太牛逼了,真的很佩服。Thanks so much
Thank you!
I had the same problems with YT . Thy blocked for no reason my Chanel. Respect to you!
Patreon is way better for membership.
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.
very nice for new people like me.
Glad it help!
Браво за урока! Мислил ли си за уроци и на български?
За мен лично няма никакъв смисъл от това. Българите сме нация доста образована от към езици и специално Английски.
Can anyone tell me how it is possible that there are two BPs called 'BP-Forest'? This is not possible in one project, right?
i'm signing up for your patreon
Thanks!
Please I am really needs your help. If you making this tutorial I will so grateful for you and supported you! Please..
You can make a tutorial about a character from the ground picking up some weapons and using them. Different weapons sword, pistol and axe. Two hand weapons uses my character. And each weapon will have its own animation without the inventory system, but each weapon will be activated with buttons. For example the Q button of the gun and the R button of the ax and the T button of the Hammer to attack. Like in Bloodborne, dmc and dark souls
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.
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.
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
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.
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.
hey very nice work ! How much ram to run this ?
I have 64GB
Two big problems here, either inside the "closed" spline and on the grid the points doesn't follow the height of the landscape. Any idea how to solve this? Great tutorial nevertheless
This a great tutorial and well explained!! Is anyone else not able to find the "PropertyToParamData" in the Connect Blueprints to PCG section at 1:04:54? Any comments appreciated
did u able to find? pls tell
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.
@@CGDealers yeah thanks i got it by the way pls make more video on PCG
To all those still having trouble at 54:06, make sure you've connected the output node as RubenKP explained, and you have deleted your previous BP splines from the outliner. You should only be dealing with one spline at a time.
Nice tip!