@@PittsTake 😣It was still worth the struggle doing it myself 🤷♂️ I've never regretted learning a workflow despite each one being inevitably automated to some degree🤖❤️
Hey Thank you for the great tutorial! I'm so happy that PCG Grammar is finally here. This is definitely a user-friendly aspect on where Unreal first showed off their: "The Matrix Awakens: Creating a World | Tech Talk | State of Unreal 2022" where they talked about grammar developed at the time.
I never watched that specific tech talk so I didn't realize they mentioned grammar all the way back then. I only learned about it after 5.5 preview came out. lol
@@Procedural_Minds @ethanenglar that project was based on Sidefx's work on GameDev. I am happy Epic ported that within Unreal. Indie devs can forgo that Houdini license for certain aspects.
In Houdini, you can group a bunch of Vertices and specify a specific grammar to that group. It doesn't seem like you can do that with PCG. I haven't a found a way to retrieve vertex number. Have you? In case you're confused here's the use case. I want to specify vertex 0 & 1 as the front and the rest of them as the side and back. That way I can have a specific shape grammar for the front and specific one for the rest of the faces.
Why not? As I understand, grammar is just a string attribute. So what stops you from filtering your front points, adding some grammar to them and adding some other grammar to the rest of the points?
Grammar isn't for modeling, so it has no mesh information. It's for PCG that is just a point scatter system. You can scatter points on a mesh and use that, but it won't read the mesh itself. For that you need Houdini.
Hey Procedural Minds! I'd like to ask you something. I'm interested in automatically creating the interior and exterior of a building. Which series of your tutorials would you recommend to start learning in this direction? I've watched a few of your latest videos, but it seems to me that, compared to your older ones, you do it more manually with the editor rather than generating automatically. I'd appreciate your response. Have a nice day, and best regards!
Nice! With the priority version I'm planning to make a brick wall from meshes with leftover space filled with 3/4 bricks, half bricks, 1/4 etc. Good stuff!
I'm still waiting for dynamic spline mesh deformation on a pcg spline, instead of just populating a static mesh along points. Got a vent system that needs to curve along the spline instead of rotating to just orient along the spline. But grammar seems to be a much needed addition.
Houdini will pretty much never be replaced by PCG, Geometry Scripting, and everything else. But it will make it so a lot of the more simple things won't need Houdini. Which is especially great for everyone that doesn't have Houdini. :)
@@Procedural_Minds yes, the aim isn't to replace Houdini, it's just that I'm happy to have new PCG tools that are closer to what we have, and know in Houdini.
Nice video! How can you make pillars along a spline and make sure there are sagging wires between the pillars? The slack wires themselves are already in a separate plugin, how can you control one plugin from another plugin?
@@Procedural_MindsI find that with the spline mesh, it has the correct modules and sizes from the ‘module info’ variable, but it’s just the first mesh in the ‘mesh info’ array variable, propagated along, and you can see the module sizes in action because the mesh is changing size as per the mesh info and the grammar specified. Any idea on how to get the rest of the meshes in the array to propagate in their respective segments?
Oh man this is sooooooo good. Would you be keen to explore for us how you would add behaviour so that (in a spline that has linear segments bit curved) under a certain internal angle between points, a different mesh is selected?
So, if I understand correctly, you want to spawn a mesh depending on the angle of the curve? So if it's straight then A and if bent then B? Something like that? I can definitely look into it, sounds interesting.
@@Procedural_Minds that’s it, but it’s more like if it’s straight or over x deg internally then it’s A, and if it’s less than x deg it’s mesh b. And to take it a step further, (oh heck how do I explain this) mesh b’s rotation would have it face centred (so equal angle either side, in relation to the neighbouring points). I have a monkey brain, but my monkey brain has aspirations haha.
Way convenient! I was intimidated until you showed the syntax! Now I’m excited to not need to buy procedural building generators. I could just make a couple grammar blueprints for different modular kits, and then use a PCG spline to place the blueprints! 😍
Is it possible to combine square bracket and curly bracket in the same string? i.e. [Fence,Door]{C:2,Fence:1}*[Door,Fence] so you’d always have a Fence and a Door bookending a middle section of randomised C and fence which would scale to soak up the room between?
Am I right in thinking there’s currently not a way for meshes to deform along the spline, have certain meshes scale to fill gaps between meshes that shouldn’t scale etc? I know it’s reasonably trivial to have a singular mesh scale and duplicate along a ‘normal’ spline blueprint, but if I could have that functionality but leverage grammar I would be home and hosed!
Early on you get the building corners from the spline, so you can just spawn your meshes there if you want them to always be the same in those corners. Or of course you can have the corners as part of the grammar itself so it always starts and ends with the corner pieces.
I ask because I'm already trying to combine it with the building series. Epic hasn't explained how to do rooms in here yet with grammar... I haven't seen anyway
I probably won't do another just regular building series. There wouldn't be much new stuff except how to do the exterior. And the demo level shows how to do that already. Grammar is designed to work along splines, not on interiors so nothing on the inside would change either.
Absolutely anywhere you want any kind of logic to how things are spawned. The examples Epic provides are great. Fences with gates, buildings where you want specific types of wall / window / door combos, you can spawn pipes with rivets / connections every certain amount, so many options!
@@Procedural_Minds I found some other MIT examples but I noticed that there is no mesh info slot alongside the modules info slot where you mentioned it could be enabled in the spline segment node. I'm trying to give geo to the debug grammar examples.
seems like UE is trying to make it where I don't have to learn how to make my own pcg, I'm here for that! Thanks for the vid!
Absolutely! Unreal Engine is really making it more and more accessible for everyone to use and I love it! :D
@@PittsTake 😣It was still worth the struggle doing it myself 🤷♂️ I've never regretted learning a workflow despite each one being inevitably automated to some degree🤖❤️
Why use C++ when you got ASM...😊
The Unofficial Documentation to PCG Grammar.
Your tutorials are great. It answers questions that naturally comes to my mind.
Hahaha. I'm glad it has helped you. Whenever I figure out something that confuses me I try to make sure I mention something about it in the video. :)
@@Procedural_Minds you are a good teacher. You have the aptitude for it.
@@libshastra Thank you, I'm glad at least you think so. 😅
Thanks for this videos! Amazing channel!
Thank you very much for watching! You're an amazing person! :D
Hey Thank you for the great tutorial! I'm so happy that PCG Grammar is finally here. This is definitely a user-friendly aspect on where Unreal first showed off their: "The Matrix Awakens: Creating a World | Tech Talk | State of Unreal 2022" where they talked about grammar developed at the time.
I never watched that specific tech talk so I didn't realize they mentioned grammar all the way back then. I only learned about it after 5.5 preview came out. lol
@@Procedural_Minds @ethanenglar that project was based on Sidefx's work on GameDev. I am happy Epic ported that within Unreal. Indie devs can forgo that Houdini license for certain aspects.
That is based on Houdini's earlier work on Game Dev. The same team went on to make Matrix. Procedural Generation has rapidly come a long way.
@@libshastra Yup, and it continues to get better each time. I love it! :D
That's pretty cool, i really love your tutorial, can't wait for the next one.
Thank you very much, I hope it won't disappoint. :)
Thanks man, that looks and sounds amazing! Also, very well explained.
Yeah I'm really excited for it, it's going to make certain things so much simpler! :)
In Houdini, you can group a bunch of Vertices and specify a specific grammar to that group. It doesn't seem like you can do that with PCG. I haven't a found a way to retrieve vertex number. Have you?
In case you're confused here's the use case. I want to specify vertex 0 & 1 as the front and the rest of them as the side and back. That way I can have a specific shape grammar for the front and specific one for the rest of the faces.
Why not? As I understand, grammar is just a string attribute. So what stops you from filtering your front points, adding some grammar to them and adding some other grammar to the rest of the points?
@@deyama2012 Hmmm ... lemme try that out.
Grammar isn't for modeling, so it has no mesh information. It's for PCG that is just a point scatter system. You can scatter points on a mesh and use that, but it won't read the mesh itself. For that you need Houdini.
I really like the look of your blueprint! What plugin are you using for it?
What do you mean? I'm using default Unreal, no plugins.
I just opened UE5.5 to explore it further and there's your video.
I made sure to release it now just for you. :P
Hey Procedural Minds! I'd like to ask you something. I'm interested in automatically creating the interior and exterior of a building. Which series of your tutorials would you recommend to start learning in this direction? I've watched a few of your latest videos, but it seems to me that, compared to your older ones, you do it more manually with the editor rather than generating automatically. I'd appreciate your response. Have a nice day, and best regards!
If you're in 5.4 then watch the 5.4 series. It's far more streamlined and uses a lot of the new functionality that makes things easier.
Thanks for sharing this. I had no idea this was a thing!
You are very welcome! 5.5 has some pretty incredible new features! :D
Nice! With the priority version I'm planning to make a brick wall from meshes with leftover space filled with 3/4 bricks, half bricks, 1/4 etc. Good stuff!
Yeah, it'll be perfect for that! :)
Very helpful! Thanks!
You're very welcome! :)
I'm still waiting for dynamic spline mesh deformation on a pcg spline, instead of just populating a static mesh along points. Got a vent system that needs to curve along the spline instead of rotating to just orient along the spline. But grammar seems to be a much needed addition.
It's already out for PCG. I have a video on creating a rope bridge using just that out already. :)
@Procedural_Minds very nice, then I can fully switch over to PCG 😄
OMG, I am so glad that I met your channel. You are so cool! (eng isn't native, grammar typos included)
I am glad you enjoy the content. :)
Thanks for this vid. Another grea tool for PCG like we have on Houdini
Houdini will pretty much never be replaced by PCG, Geometry Scripting, and everything else. But it will make it so a lot of the more simple things won't need Houdini. Which is especially great for everyone that doesn't have Houdini. :)
@@Procedural_Minds yes, the aim isn't to replace Houdini, it's just that I'm happy to have new PCG tools that are closer to what we have, and know in Houdini.
Nice video!
How can you make pillars along a spline and make sure there are sagging wires between the pillars? The slack wires themselves are already in a separate plugin, how can you control one plugin from another plugin?
I don't know what plugin you're referring to or how it's controlled. It is very dependent on the plugins, what is exposed, how it's controlled, etc.
Hey would you do a video on how to add the meshes to the splines in the first two examples?
You can use the exact same method as in the building example. Just copy / paste and adjust.
Cool I’ll have to figure out what I’ve broken (made of copy of the example content to my own content folder, good boy)
@@Procedural_MindsI find that with the spline mesh, it has the correct modules and sizes from the ‘module info’ variable, but it’s just the first mesh in the ‘mesh info’ array variable, propagated along, and you can see the module sizes in action because the mesh is changing size as per the mesh info and the grammar specified. Any idea on how to get the rest of the meshes in the array to propagate in their respective segments?
This is the exact same grammer from houdinis "building from patterns" node. I'ma move from houdini soon...
Oh really? That's really cool! There's still lots of stuff from Houdini missing though. Maybe one day. :)
Oh man this is sooooooo good. Would you be keen to explore for us how you would add behaviour so that (in a spline that has linear segments bit curved) under a certain internal angle between points, a different mesh is selected?
So, if I understand correctly, you want to spawn a mesh depending on the angle of the curve? So if it's straight then A and if bent then B? Something like that? I can definitely look into it, sounds interesting.
@@Procedural_Minds that’s it, but it’s more like if it’s straight or over x deg internally then it’s A, and if it’s less than x deg it’s mesh b. And to take it a step further, (oh heck how do I explain this) mesh b’s rotation would have it face centred (so equal angle either side, in relation to the neighbouring points). I have a monkey brain, but my monkey brain has aspirations haha.
Yeah that’s right. If at a given spline point the angle is
Way convenient! I was intimidated until you showed the syntax! Now I’m excited to not need to buy procedural building generators. I could just make a couple grammar blueprints for different modular kits, and then use a PCG spline to place the blueprints! 😍
Yeah, Grammar intimidated me at first too when I heard programming for PCG. But the syntax is is super simple, it's great! :)
Is it possible to combine square bracket and curly bracket in the same string? i.e. [Fence,Door]{C:2,Fence:1}*[Door,Fence] so you’d always have a Fence and a Door bookending a middle section of randomised C and fence which would scale to soak up the room between?
Yes, all of the syntaxes can be used together. You can take a look at the building setup. I believe they use a combination of them there.
Am I right in thinking there’s currently not a way for meshes to deform along the spline, have certain meshes scale to fill gaps between meshes that shouldn’t scale etc? I know it’s reasonably trivial to have a singular mesh scale and duplicate along a ‘normal’ spline blueprint, but if I could have that functionality but leverage grammar I would be home and hosed!
Yeah, there's spline meshes. I have a recent video on creating a rope bridge using this method.
@@Procedural_Minds Yeah love that video, I'm wondering though, specifically, can you have door not scale, but fence can scale etc?
Here in the building corners are independent to each other. How can it be set to use a common one?
Early on you get the building corners from the spline, so you can just spawn your meshes there if you want them to always be the same in those corners. Or of course you can have the corners as part of the grammar itself so it always starts and ends with the corner pieces.
How do you add meshes to the Fence graph instead of debug . Been trying to figure it out since 2 days
You can just add static mesh spawners. In the building setup you can see how the assets are spawned in so they fit the sizes you specify with grammar.
I've been waiting for this since version 5.5 was released.
Well, hopefully the wait is proven to be worth it. :D
Any chance this is gonna be in the next series?
I ask because I'm already trying to combine it with the building series. Epic hasn't explained how to do rooms in here yet with grammar... I haven't seen anyway
I probably won't do another just regular building series. There wouldn't be much new stuff except how to do the exterior. And the demo level shows how to do that already. Grammar is designed to work along splines, not on interiors so nothing on the inside would change either.
Hard to know where to start given the implications of grammars for procedural.
Absolutely anywhere you want any kind of logic to how things are spawned. The examples Epic provides are great. Fences with gates, buildings where you want specific types of wall / window / door combos, you can spawn pipes with rivets / connections every certain amount, so many options!
@@Procedural_Minds I found some other MIT examples but I noticed that there is no mesh info slot alongside the modules info slot where you mentioned it could be enabled in the spline segment node. I'm trying to give geo to the debug grammar examples.
Amazing... Procedural generation as a regex-like grammar. Super nice.
Yeah it's super great! And surprisingly very straight forward. :)
Hey, where can you access this demo level?
It's in the plugins section. Same as all other Epic demo levels.
I tried it, It's amazing.
It really opens up so many things. :)
Im having flashbacks to trying to figure out REGEX lol
Can't say I know what that's like, but grammar thankfully is pretty simple with only three syntaxes to understand really. :)