Пікірлер
@aren-joebizdikian5236
@aren-joebizdikian5236 10 күн бұрын
Hello Adrien. Thanks for your awesome videos. I realized that you were also part of the Electric Dreams deep dive video. I was wondering why in the sample your guys used a union node before each difference node but you did not use it this example. Thanks
@adrienlogut3482
@adrienlogut3482 10 күн бұрын
Hello! The default behavior for the difference node is to do an union, so implicitly we have a union done. You can add a union node before if you want to be explicit. Note also that those videos are from me when I was less knowledgeable about the system, so there might be some places I did something not useful or optional!
@user-nb3kg9hk8x
@user-nb3kg9hk8x 10 күн бұрын
감사합니다!
@elannal6281
@elannal6281 11 күн бұрын
Does anyone know how he created that reroute pin at 2:18 without opening the menu?
@adrienlogut3482
@adrienlogut3482 11 күн бұрын
I didn't create it, it already existed :)
@MowGohhldRequired
@MowGohhldRequired 11 күн бұрын
4:03 will not work anymore on UE5.4. Instead search for "Get Landscape Data"-Node and connect it to "Surface Sampler". No need to connect "Input node".
@adrienlogut3482
@adrienlogut3482 11 күн бұрын
Indeed things have changed!
@ArtTstudent
@ArtTstudent 11 күн бұрын
Can there be actual documentation on this? If not for your video, how would new users understand the system.
@adrienlogut3482
@adrienlogut3482 11 күн бұрын
There are some on the Unreal site. Otherwise it's a beta plugin, it comes with less documentation that's the contract.
@darman117
@darman117 14 күн бұрын
Hey mate how would i go about replacing the static mesh with a replicated collectable actor?
@adrienlogut3482
@adrienlogut3482 14 күн бұрын
Change the mesh in the mesh and ID struct by an actor reference, and change the static mesh spawner by a Spawn actor, with no merging option, and in actor attribute reference the name of your attribute containing the actor reference
@darman117
@darman117 14 күн бұрын
@@adrienlogut3482 any idea how i could spawn it as a mesh and have it change to the bp when i interact with it? cheers love the channel
@adrienlogut3482
@adrienlogut3482 14 күн бұрын
That's not PCG related then, you'll have to add another system that replace the instanced mesh by actors when the player is close.
@darman117
@darman117 13 күн бұрын
@@adrienlogut3482 cheers! Your channel is brilliant
@outpost137games2
@outpost137games2 15 күн бұрын
The text on these nodes are so hard to read. Video quality is not sharp even on 1440p.
@adrienlogut3482
@adrienlogut3482 14 күн бұрын
Yeah it's the first videos, learning it the hard way. You could always try to use a plugin to zoom on the video. Though watching it in 1440p, it's pretty sharp to my eyes.
@soonhosong2711
@soonhosong2711 15 күн бұрын
Hi, I'm wondering I want to adding a 'Priority' same a like the previews tutorial video(array of meshes) because I want to control each tree or rocks a different 'Priority'. I assume probably it should be add 'Tuto_MeshAndID' to adding 'Priority' as a 'Float' and somehow in the 'PCG_Tuto_SampleOnSpline' for the actual function. Could you give a some idea? Thanks
@adrienlogut3482
@adrienlogut3482 14 күн бұрын
Answered you on Discord too but for the other I'll post it there: If you add a priority value to mesh and Id, you'll just need to add that priority value as a weight attribute on the match and set attributes (like in the first video)
@soonhosong2711
@soonhosong2711 16 күн бұрын
This is exactly I was looking for. You are hero! Thanks!
@darman117
@darman117 17 күн бұрын
How do i make sure things dont spawn on top of eachother?
@adrienlogut3482
@adrienlogut3482 17 күн бұрын
You can check other videos, such as episode 2, for bounds and exclusions
@darman117
@darman117 17 күн бұрын
@@adrienlogut3482 cheers mate
@darman117
@darman117 2 күн бұрын
@@adrienlogut3482 hey sorry for all the questions how do i filter slope for pcg?
@alu5410
@alu5410 17 күн бұрын
Hi Adrien, Now I want to do MeshSampler Loop in PCG, but after I feed the data as your video in 5.4 New Features EP2, Mesh sampler tells me "only first data item will be used", How can I finish this loop, I don't want to use the Rayhit node, Mesh sampler can have more choice... thank you.
@alu5410
@alu5410 17 күн бұрын
Solved it... Just need to do another Loop...😅 and the Loop logic of PCG is very hard to understand... Lack of a clear cut direction to something like index and loop content as traditional programing language...
@adrienlogut3482
@adrienlogut3482 17 күн бұрын
That's unfortunately a big limitation of a graph approach for programming. The best way to do what you want is to partition the data, so that all points in a given data has the same mesh. Then loop on those data. You can use Get Attribute from point index, index 0 because you know all points have the same mesh.
@mingjyunhung6651
@mingjyunhung6651 17 күн бұрын
Thanks for this good tutorial. Is there any way to further create an exclusive region (like volume or another spline region) inside the spline region?
@adrienlogut3482
@adrienlogut3482 17 күн бұрын
Yes of course, you can use another spline with the same sampling method and add that to the difference. Or another primitive and get it with Get Actor Data
@mingjyunhung6651
@mingjyunhung6651 17 күн бұрын
​@@adrienlogut3482 Thank you for the advice! I somehow used a volume sampler to filter out that area!
@adrienlogut3482
@adrienlogut3482 17 күн бұрын
That would work but it is very inefficient ;)
@joelschroder7579
@joelschroder7579 7 күн бұрын
@@adrienlogut3482 Thanks for your great tutorials! How would you go about doing this? I am trying to use a difference node on two surfaces from spline before I send the surface into the recipe spawning loop, but the conversion returns a grayed out line. Debuging the difference looks correct, I have my original surface with a hole where the other surface is.
@mahmudhossain4917
@mahmudhossain4917 19 күн бұрын
How can you spawn some meshes in order? Let's say I passed a TMAP with StaticMesh and Int32. StaticMesh stores SM and int32 stores its order. How can I use that to spawn in order?
@adrienlogut3482
@adrienlogut3482 18 күн бұрын
PCG doesn't support reading maps in the graph. Though if you want it to be in order from the array of meshes, you can use Copy Attributes. It will copy mesh 1 to point 1, mesh 2 to point 2 etc... Looping on the meshes.
@brianhicks4513
@brianhicks4513 20 күн бұрын
My God I struggled through the 5.2 videos thinking that was all there was (despite significant changes between 5.2 and 5.4) and now.. I find this. Hahahaha
@MrGeek76
@MrGeek76 20 күн бұрын
Hey, ty for this tutorial! I don't have anything else than "In" when I open the Input... What did i miss ? :(
@adrienlogut3482
@adrienlogut3482 20 күн бұрын
We deprecated the input pins, so you'll have to use Get Landscape Data and Get Actor Data for the equivalent :) Have a look to more recent tutorials!
@MrGeek76
@MrGeek76 20 күн бұрын
@@adrienlogut3482 great! ty for your quick answer :) I'll definitely follow your serie for PCG
@linqingvs
@linqingvs 22 күн бұрын
hi,i follow this video create pcg_graph,why i use projection function always is invaild,it can't project points to landscapes (ue5.4.2)?🤔🤔🤔
@linqingvs
@linqingvs 21 күн бұрын
i get the correct projection replaced "World Ray hit Query" with "Get Landscape Data“.
@eligijuspranskunas3509
@eligijuspranskunas3509 25 күн бұрын
wow
@herblewis6250
@herblewis6250 28 күн бұрын
Sad that this is already out of date.
@adrienlogut3482
@adrienlogut3482 28 күн бұрын
Living on the edge, no time to waste! Most of what is described here can be found in later videos, with the up to date way of doing it. You can check the Ep 1 and 2 about new features ;)
@melic-chazaryan2769
@melic-chazaryan2769 Ай бұрын
I WONDER HOW CAN I IMAGINE ALL THIS AND COLLECT IT IN YOUR HEAD? HOW DO I FIND OUT ABOUT ALL OF THIS, WHAT DO YOU ADVICE?
@adrienlogut3482
@adrienlogut3482 Ай бұрын
I'm a dev on the project ;)
@theuniverseupsidedown
@theuniverseupsidedown Ай бұрын
Avesome. Thank you very much
@user-ci9vq2ce8p
@user-ci9vq2ce8p Ай бұрын
How can normals be disabled? trees are weird on slopes.
@adrienlogut3482
@adrienlogut3482 Ай бұрын
You can use a transform points with absolute rotation, or if you use the projection node, disable project rotations
@user-ci9vq2ce8p
@user-ci9vq2ce8p 28 күн бұрын
​@@adrienlogut3482It took me sometime to see that for both options it was a checkmark on the right panel of each node.. Thanks!
@Cloroqx
@Cloroqx Ай бұрын
I left a comment but for some reason it didn't show up during the stream. Is it possible that you can cover using PCG ISM + HLODs, specifically the approach from the end of the "Nanite for Artists" video that Epic released. Using World Partition HLOD layer to disallow Nanite on distant instances and reverting to LOD impostor rendering to reduce Nanite overdraw.
@adrienlogut3482
@adrienlogut3482 Ай бұрын
I answered at the beginning! I'm not that knowledgeable in HLODs so I can't help much :(
@Cloroqx
@Cloroqx Ай бұрын
@@adrienlogut3482 ah, sorry. I must have missed it.
@gtdong7255
@gtdong7255 Ай бұрын
👍👍
@AkitaMix
@AkitaMix Ай бұрын
Amazing! Thank youuuuu
@surprenantzac
@surprenantzac Ай бұрын
Can you do a video on Iteration Loop Body? I can't find any information about why / how to use it.
@adrienlogut3482
@adrienlogut3482 Ай бұрын
It's not much different than the point loop body: kzfaq.info/get/bejne/Y7CembRlr92qhH0.htmlsi=U_bUuGGgpgBautZ3 You have to query the data yourself though.
@melic-chazaryan2769
@melic-chazaryan2769 Ай бұрын
Please tell me, these PSG cubes are tied to the slope of the landscape, parallel to the plane, and the tied trees stand stably to the plane of the slope (trees on the slope do not rise directly with the slope), but at 5.3 it was vertical. HOW to make trees stand vertically on a slope?
@adrienlogut3482
@adrienlogut3482 Ай бұрын
It has not changed between versions, if you need them to stay vertical, add a transform point with an absolute rotation of 0,0 on XY (and potentially any number for Z for random rotation)
@melic-chazaryan2769
@melic-chazaryan2769 Ай бұрын
@@adrienlogut3482 Thanks a lot
@user-vg8zu3jw3r
@user-vg8zu3jw3r Ай бұрын
Projectpointonlandscape node missing in ue5.2 please help?
@adrienlogut3482
@adrienlogut3482 Ай бұрын
Useful tip: try to type what you want to do in the node list ;) You'll find the Projection node !
@user-fm9zo5le2v
@user-fm9zo5le2v Ай бұрын
Can you control the number of points somehow?
@adrienlogut3482
@adrienlogut3482 Ай бұрын
If you use the surface sampler you can play with the extents, looseness and points per squared meter
@user-fm9zo5le2v
@user-fm9zo5le2v Ай бұрын
@@adrienlogut3482 Thanks. But I need an exact number of points. This number will be passed from the parent blueprint. Mesh Sampler allows that through Poisson sampling: you can set max points. Don't know why they didn't put that in Surface Sampler too.
@adrienlogut3482
@adrienlogut3482 Ай бұрын
Nothing prevents you to filter the points afterwards so you extract just a specific number of points. I have another video to select a exact number of points with a Blueprint node. And we implemented the native version of it, just that it didn't make the cut for 5.4. By essence the surface sampler is a stochastic sample, so that's why there is no fine control like that on the node. Also being a multi threaded node + the fact that you can have a complex bounding Shape makes it impractical to have a max number of points.
@user-fm9zo5le2v
@user-fm9zo5le2v Ай бұрын
@@adrienlogut3482 Yeah, but what if I have thousands of PCG volumes in the level? Will there be performance issues to do all those calculations on each, just to get a specific number of points? Seems like an expensive work-around.
@adrienlogut3482
@adrienlogut3482 Ай бұрын
Indeed but that always depends on what you want to do and when it happens. If it's generating offline, it matters less than if it generates at runtime. You can also optimize it yourself to play with the points per squared meter depending on the size of the volume. But it's also not always a good idea to over optimize at the beginning, so try it out and see if the performance is good enough for you.
@alyxlarsen2144
@alyxlarsen2144 Ай бұрын
Thank You!!!!! I have been looking for this for hours!!
@SimplifyUE
@SimplifyUE Ай бұрын
Hi Adrien, thank you so much for doing the videos! It just means a lot to have learning resources from someone who has worked on the system. 5.4 was a breakthrough for PCG graphs IMO, arrays and data assets are just a game changer. You guys on the PCG team are amazing
@noonlol
@noonlol Ай бұрын
0 HD *TAGFSdiu THANK YOU
@user-fm9zo5le2v
@user-fm9zo5le2v Ай бұрын
Thanks for the tutorials, but they should be made by someone who speaks english properly. I can barely understand half of it. Also more details would be needed.
@adrienlogut3482
@adrienlogut3482 Ай бұрын
Sorry you have trouble understanding me, subtitles are available to assist you on that front. More details would be needed to understand which details would have been useful for you.
@user-fm9zo5le2v
@user-fm9zo5le2v Ай бұрын
@@adrienlogut3482 I assume going over all nodes and properties in the detail panel would be too much. But, for example, would be very useful a tutorial on how to spawn stuff on certain regions of a mesh, in the case of mesh painting. I haven't seen a tutorial on that.
@adrienlogut3482
@adrienlogut3482 Ай бұрын
@@user-fm9zo5le2v So it's actually not the focus of this video ;) You might want to enable the PCG Geometry Script Interop Plugin and use the Mesh Sampler to sample points on a Mesh. It should extract the colors in the Color Attribute of your points (seems to only work on non-Nanite meshes for some reason). Then you can do some logic on that. If you are talking about Landscape painting, you can use Weighted Blend Layers to have multiple layers, and the sampling on the landscape should automatically add attributes for each layer, allowing you to do some filtering to spawn what you want.
@user-fm9zo5le2v
@user-fm9zo5le2v Ай бұрын
@@adrienlogut3482 Thanks for that. But for some reason all Color attributes values are 1. What I'm trying to do is spawn points only on a certain region of the mesh, that I can define somehow. How would you go about doing that?
@soonhosong2711
@soonhosong2711 Ай бұрын
This is so incredible! I was making some PCG and watching some KZfaq tutorial and UE version was 5.2 in the tutorial and I was using 5.4 and it doesn't works because of version updated. but this tutorial helped me to sole the problem. Thank you so so so much!
@christopherarendt3531
@christopherarendt3531 Ай бұрын
Thanks for the vid. Have you by chance figured out how to get the location to be accurate for the spawner? I have found that the points do not match the terrain correctly; I think it must be technically feasible. My post in UE forums "How can we get accurate landscape position for PCG?" has more detail (I tried linking here but I think it triggers deleting my comment)
@adrienlogut3482
@adrienlogut3482 Ай бұрын
I'll answer it there ;)
@christopherarendt3531
@christopherarendt3531 Ай бұрын
@@adrienlogut3482 looking forward to it! I'm stumped. I tried line tracing down to the floor too..
@mihaiwilson
@mihaiwilson Ай бұрын
Thanks so much, this is a great improvement! I'm wondering if you have any recommendation on how one might do this, but where each weighted mesh is pulled randomly from an array of its own kind (eg, when a tree is selected - it pulls randomly from an array of that type of tree)?
@adrienlogut3482
@adrienlogut3482 Ай бұрын
You could extend the data asset with a weight for each mesh. Then you can provide this weight attribute in the match and set settings :)
@mihaiwilson
@mihaiwilson Ай бұрын
@@adrienlogut3482 Thanks, I but I'm thinking more of a per-array weight as opposed to a per-mesh weight, but I don't see how/if the data could flow? Imagine if the mesh variable in the struct is an array instead of a single mesh.
@adrienlogut3482
@adrienlogut3482 Ай бұрын
The selection could be first a weighted selection for a type of mesh. Here that would be Tree, Rock and Grass. Then when the selection is done, you chain another match and set with the array of meshes for a given mesh.
@mihaiwilson
@mihaiwilson Ай бұрын
@@adrienlogut3482 Oh interesting, thanks I will give that a shot!
@mihaiwilson
@mihaiwilson Ай бұрын
Man, you're a lifesaver. Thanks so much.
@mihaiwilson
@mihaiwilson Ай бұрын
Thanks so much, didn't realize these features had been added - super useful.
@astralstormgamestudios1259
@astralstormgamestudios1259 Ай бұрын
Is there any optimizations gains to do it like that? Instead of the "old" way to use static mesh spawner and put the meshes there?
@adrienlogut3482
@adrienlogut3482 Ай бұрын
No it's the same cost (perhaps a little costlier because of the attribute indirection) It's just the basics to create generic graphs. If you don't need to have generic stuff, you can stick with the hard-coded way.
@astralstormgamestudios1259
@astralstormgamestudios1259 Ай бұрын
@@adrienlogut3482 Thanks, you nailed the answer ✌️
@user-nb3kg9hk8x
@user-nb3kg9hk8x Ай бұрын
5.4 World Ray Hit Query Override Default Params => Set Ray Parameters
@kmtsvetanov
@kmtsvetanov Ай бұрын
I have a Question: I have Spaws Actors and Static Mest Spawners in my PCG. But That makes the game lag. How to optimize it? I'm spawning teren and AI.
@michalbusik8621
@michalbusik8621 Ай бұрын
Hello, when i open my PCG graphs i cant extend the input node and i dont see other options like landscape etc.... Can you please help me with it?
@cmdrschime4840
@cmdrschime4840 Ай бұрын
Had the same problem but i notice in video its PCG Version 1 and we have Version 2 , that means you cant extend but on the right side you can find option to setup (small plus sign and drop down menu, choose Landscape) .. Thas all .. 😊
@michalbusik8621
@michalbusik8621 Ай бұрын
@@cmdrschime4840 oh i see. Thank you very múch!
@adrienlogut3482
@adrienlogut3482 Ай бұрын
We deprecated the default input pins. You have to use the "Get X Data Nodes" such as Get Landscape Data. You can have a look a later videos for an up to date UI/UX usage.
@cyj4300
@cyj4300 2 ай бұрын
Amazing video! I learned a lot. But I want to kown how to deal with the grass's collision?
@adrienlogut3482
@adrienlogut3482 2 ай бұрын
Haha yeah for that part unfortunately we can't override the collision preset for the mesh descriptor. You can add another boolean in the level definition for "Collision". Then before spawning, do a branch on the collision parameter, and have 2 static mesh spawner. One with collision and the other without
@cyj4300
@cyj4300 2 ай бұрын
@@adrienlogut3482 I got it! Thank you very much!🥰
@MrNsyi
@MrNsyi 2 ай бұрын
Thank you Adrien for another very cool video. It's difficult to find updated information or documentation about PCG. One question: is there a way to set a Component Tags with a Static Mesh Spawner or Spawn Actor ? so we can do several post generating processing. Thank you !
@adrienlogut3482
@adrienlogut3482 2 ай бұрын
Happy to help! Looking at the code, you can't do it with Static Meshes, but you can with Spawn actor, look for `TagsToAddOnActors`.
@MrNsyi
@MrNsyi 2 ай бұрын
@@adrienlogut3482 I hope they will expose this parameter on Meshes too :)
@adrienlogut3482
@adrienlogut3482 2 ай бұрын
It's slightly more complex with Static Meshes because of Instanced Static Mesh Components are shared, all instances of the same mesh descriptor will be under the same component.
@MrNsyi
@MrNsyi 2 ай бұрын
@@adrienlogut3482 you are right, I should have say "I hope they will expose it for the ISMCs :)" I find a solution using the Get Generated Graph Output.
@cyj4300
@cyj4300 2 ай бұрын
Thanks for this great video! but I want to know if I added new variables in the Structure, how to get it in the PCG Graph?
@adrienlogut3482
@adrienlogut3482 2 ай бұрын
Might want to have a look to the next video in the series ;)
@cyj4300
@cyj4300 2 ай бұрын
@@adrienlogut3482 Thank you ! I got it !
@zerobuiId
@zerobuiId 2 ай бұрын
guys if your getting stuck on input and you are using unity 5.4 and beyond you need get a new input called(lanscape data) right click and connect it to the surface sampler. this took my hours to fix lolll!
@user-nb3kg9hk8x
@user-nb3kg9hk8x 2 ай бұрын
5.4 버전에서는 attribute operation => copy Attribute Point Sampler => Select Points Density Noise => Attribute Noise Maths add => add 영상 보는 시간보다 바뀐노드 찾는데 오래걸렸어요
@bimordial
@bimordial 2 ай бұрын
This is amazing, thanks! Any chance you can explain how you would set up the attributes for an array under UE5.4?
@adrienlogut3482
@adrienlogut3482 2 ай бұрын
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!
@shotgun1995hot
@shotgun1995hot 2 ай бұрын
Kinda new to PCG, but wanted to know if I can use PCG with the world partition system. Have you explored PCG with the world partition in the previous videos.
@adrienlogut3482
@adrienlogut3482 2 ай бұрын
Yes you can use it with the WP system. If you set the component to IsPartitioned it will dispatch the generation to a grid of actors. I have not yet made a video on that though, should come at some point with also hints on hierarchical generation and runtime generation
@shotgun1995hot
@shotgun1995hot 2 ай бұрын
@@adrienlogut3482 I will try this
@O_Obsidious
@O_Obsidious 2 ай бұрын
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
@adrienlogut3482
@adrienlogut3482 2 ай бұрын
You can implement pretty much any logic either in BP or C++
@DevGods
@DevGods 2 ай бұрын
This helped me more than you know! I’m that much closer to understanding PCG in the same way I do Houdini!
@bekabaratashvili3178
@bekabaratashvili3178 2 ай бұрын
Me too