Okay in case I can’t get out a render tutorial, I’ll try and give you some tips. So if you’re rendering the grass close up to camera, instead of copying the lines to each point, you could create your own simple blade of grass and copy that to the points. Mix it with different colors and render with a principled shader applied. You should adjust the roughness on the shader. If you not rendering close to camera you can render the curves as lines and just adjust the line width by dropping down a “resample” node and toggling on the curveu attribute. Then after the resample drop down a point wrangle and you could in vex set an attribute “f@width = .01;” Mantra or Karma will recognize this attribute at render time. In order to art direct your width, you could in that same point wrangle type another line: “f@width *= chramp(“width_ramp”,f@curveu);” Then click the button to the side of the vex snippet to execute the code and a ramp parameter should be created. You can then adjust the width with the ramp. - I know that’s a mouthful, but just take it bit by bit, and if you still need help just reply here.
Thank you for this tutorial. I would love to see how to create a grass with a soil looking like the one on thumbnail of this video. Would be great if you could create such tutorial (may be paid).
I've actually been heavily considering that. Perhaps in the coming months I may be able to do something like that. I've been occupied with other projects currently so I haven't been able to post lately, but once I get some free time I'll see what I can do.
Great tutorial. I’m trying to incorporate Houdini into my environment art workflow. I’m curious how you would approach making procedural grass like this for realtime in UE4? Is it that fur approach you mentioned at the beginning?
Thanks. That's actually a really good question that to be honest, I'm not quite sure. I haven't done really anything with UE4, since work on the film side of things...but I've definitely wanted to start that soon. I am pretty sure UE4 already has like a standard library of grass tools to use, but I could be wrong on that. You'd have to do some digging. I'd be interested to see though if you find anything cool.
Auto Naught dude it is hard to get started, but trust me once you get used to it, man it’s SO powerful. I remember when I first started I kind of hated it, but so glad I stuck with it.
in situations like where you used lerp to interpolate between the incoming Cd value and a second colour value, there must be a better way to specify the second colour than dialing in rgb values... how can I get the Houdini colour picker or at least HSV controls involved at this stage of the node tree?
If you want to use the color picker instead of RGB values (I did that mainly for speed, not usability) then in your point wrangle you navigate to the icons above the code snippet -- there should be 5 icons, a gear, the letter H, a magnifying glass, the letter i, and a question mark -- click on the gear and it will drop down a list of menu items. Click "edit parameter interface". It will open up a new menu where on the left you can drag a Color button from the left panel to the middle panel which represents your point wrangle. Make sure you give your new Color button a Label and a name. The name will be how you access it in vex. Let's say you name it "color". So then hit apply. After that in your code snippet you can type "vector color = set(ch("colorx"),ch("colory"),ch("colorz"));" and then that color vector will correspond to whatever you choose in your new color picker button. ----I know this seems like a lot, but it's the best I can do by typing this instead of being able to demonstrate it. Let me know if it works.
I found this very insightful! One question: Why it was needed to do the color variation with the bilinear interpolation function lerp, and not like you did previously with pscale without typing the lerp function.? Just trying to grasph a deeper understanding, if you would be kind to explain that :). Cheers!
I did that because I wanted to blend the colors using noises, and be able to repeat the process several times, in order to layer color on color to produce an interesting looking grass. The pscale vop approach was just using noise, and multiplying it by the noise values. Lerp helps blend attributes, since I didn't want to multiply the color values, but blend them. Does that make sense?
Hey I made a tutorial about how I rendered it here: ua-cam.com/video/MO3568F1eoI/v-deo.html Basically just lines at render time. You can control the thickness of your lines instead of sweeping geo across them. Or at least that's how I did it.
For the dirt I used a tri-planar projection method to project a dirt texture onto my dirt square shape. And then with several attributes I used those to control variation in color and texture at render time using Redshift (It's a 3rd party renderer). I could in the future go over render practices if that seems like something that would be interesting?
@@TonysMind yeah I probably should do that. I was fighting time, and I also know there are many different renderers. For example I rendered mine in Redshift with Houdini. Some people use Renderman, some use Arnold, V-Ray, and even mantra. So in an attempt to not over complicate things I decided not to go over the rendering. However, in the future if I do I may try that out just using Mantra, since everyone using Houdini will at least have Mantra.
mrbennelson I understand your point. I think that the majority of people watching are freelancer or (like me) students witch can find useful to see how to render with a GPU renderer. I think that at least you should show how you did it. I use octane for example but I’d watch your Redshift version because in the end they are similar.
I explain rendering in Redshift here: ua-cam.com/video/MO3568F1eoI/v-deo.html If you are rendering with Mantra (Houdini's Native Renderer) then you'd want to add an attribute called "thickness" to the lines.
@@ivaniliev2272 sorry I was wrong, it is width not thickness. There sometimes are so many to keep track of it gets confusing. You can also introduce "v@scale" for each point, which will affect the scale (x,y,z) components for each point. By default it is internally set to (1,1,1), but you can adjust this at your will.
Thank you so much But note, at the beginning of the video, you set an example 0:07 In the explanation, you made the grass only !! Please complete the work, as shown in the introduction, so that it is a reference and credibility. thank you a lot
2 years old and still solid. Great tut!
thanks, glad it was helpful. The day I get some more free time I'll try and post more.
Amazing! Thank you for explaining so clearly!
glad it was helpful!
Thanks for your efforts... Keep those tutorials going.
Wow!! Great tutorial!! Thanks for sharing!! this video is so clear and straightforward!!
Thanks man, there will be more to come!
nice tutorial! helped me reinforce my knowledge of the houdini instancing workflow, thanks.
sweet, glad it could help!
Thx man.Would love to see the render setup.
Дмитрий Дмитров what renderer do you use?
@@mrbennelson I am still on Apprentice,so Mantra or Karma
Okay in case I can’t get out a render tutorial, I’ll try and give you some tips. So if you’re rendering the grass close up to camera, instead of copying the lines to each point, you could create your own simple blade of grass and copy that to the points. Mix it with different colors and render with a principled shader applied. You should adjust the roughness on the shader. If you not rendering close to camera you can render the curves as lines and just adjust the line width by dropping down a “resample” node and toggling on the curveu attribute. Then after the resample drop down a point wrangle and you could in vex set an attribute “f@width = .01;” Mantra or Karma will recognize this attribute at render time. In order to art direct your width, you could in that same point wrangle type another line: “f@width *= chramp(“width_ramp”,f@curveu);” Then click the button to the side of the vex snippet to execute the code and a ramp parameter should be created. You can then adjust the width with the ramp. - I know that’s a mouthful, but just take it bit by bit, and if you still need help just reply here.
awesome tutorial, exactly what I needed! thank you :) :) :)
glad to hear it.
Thank you for this tutorial. I would love to see how to create a grass with a soil looking like the one on thumbnail of this video. Would be great if you could create such tutorial (may be paid).
I've actually been heavily considering that. Perhaps in the coming months I may be able to do something like that. I've been occupied with other projects currently so I haven't been able to post lately, but once I get some free time I'll see what I can do.
@@mrbennelson Thank you for considering this.
Thank you for the nice tutorial video.
How did you create the soil part?
Another cool one ! Thanks ! 👍
It's very useful, thank you
Great tutorial. I’m trying to incorporate Houdini into my environment art workflow. I’m curious how you would approach making procedural grass like this for realtime in UE4? Is it that fur approach you mentioned at the beginning?
Thanks. That's actually a really good question that to be honest, I'm not quite sure. I haven't done really anything with UE4, since work on the film side of things...but I've definitely wanted to start that soon. I am pretty sure UE4 already has like a standard library of grass tools to use, but I could be wrong on that. You'd have to do some digging. I'd be interested to see though if you find anything cool.
mrbennelson I’ll let you know if i do!
@@bs_art3625 sweet!
@@bs_art3625 Any suggestions so far? :)
thank you
Quand je fait un rendu je ne vois pas l'herbe comment puis-je faire ?
Jesus houdini is HARD... Yet so attractive
Auto Naught dude it is hard to get started, but trust me once you get used to it, man it’s SO powerful. I remember when I first started I kind of hated it, but so glad I stuck with it.
thanks for sharing
great
in situations like where you used lerp to interpolate between the incoming Cd value and a second colour value, there must be a better way to specify the second colour than dialing in rgb values... how can I get the Houdini colour picker or at least HSV controls involved at this stage of the node tree?
If you want to use the color picker instead of RGB values (I did that mainly for speed, not usability) then in your point wrangle you navigate to the icons above the code snippet -- there should be 5 icons, a gear, the letter H, a magnifying glass, the letter i, and a question mark -- click on the gear and it will drop down a list of menu items. Click "edit parameter interface". It will open up a new menu where on the left you can drag a Color button from the left panel to the middle panel which represents your point wrangle. Make sure you give your new Color button a Label and a name. The name will be how you access it in vex. Let's say you name it "color". So then hit apply. After that in your code snippet you can type "vector color = set(ch("colorx"),ch("colory"),ch("colorz"));" and then that color vector will correspond to whatever you choose in your new color picker button. ----I know this seems like a lot, but it's the best I can do by typing this instead of being able to demonstrate it. Let me know if it works.
I found this very insightful!
One question: Why it was needed to do the color variation with the bilinear interpolation function lerp, and not like you did previously with pscale without typing the lerp function.? Just trying to grasph a deeper understanding, if you would be kind to explain that :).
Cheers!
I did that because I wanted to blend the colors using noises, and be able to repeat the process several times, in order to layer color on color to produce an interesting looking grass. The pscale vop approach was just using noise, and multiplying it by the noise values. Lerp helps blend attributes, since I didn't want to multiply the color values, but blend them. Does that make sense?
how did u render this? Did you use sweep? Thanks
Hey I made a tutorial about how I rendered it here:
ua-cam.com/video/MO3568F1eoI/v-deo.html
Basically just lines at render time. You can control the thickness of your lines instead of sweeping geo across them. Or at least that's how I did it.
can u make tutorial on how to prepare the material until render.
just posted it today
if you could also show the other parts of the ground if its not to complex that would be nice
For the dirt I used a tri-planar projection method to project a dirt texture onto my dirt square shape. And then with several attributes I used those to control variation in color and texture at render time using Redshift (It's a 3rd party renderer). I could in the future go over render practices if that seems like something that would be interesting?
@@mrbennelson Yeah. 2 part of 10 minutes: from scratch to render :D
@@TonysMind yeah I probably should do that. I was fighting time, and I also know there are many different renderers. For example I rendered mine in Redshift with Houdini. Some people use Renderman, some use Arnold, V-Ray, and even mantra. So in an attempt to not over complicate things I decided not to go over the rendering. However, in the future if I do I may try that out just using Mantra, since everyone using Houdini will at least have Mantra.
mrbennelson I understand your point. I think that the majority of people watching are freelancer or (like me) students witch can find useful to see how to render with a GPU renderer. I think that at least you should show how you did it. I use octane for example but I’d watch your Redshift version because in the end they are similar.
@@TonysMind Good point. I'll have to do that in later videos. Thanks for the feedback.
Can someone show or redirect example of VOP network that will control grass line thickness? Sharp ends, randomization off stroke width, etc....
I explain rendering in Redshift here:
ua-cam.com/video/MO3568F1eoI/v-deo.html
If you are rendering with Mantra (Houdini's Native Renderer) then you'd want to add an attribute called "thickness" to the lines.
@@mrbennelson i added attribute randomize "width" and there was ramp parameter. It is working for me. But I will try with "thickness". Thank you.
@@ivaniliev2272 sorry I was wrong, it is width not thickness. There sometimes are so many to keep track of it gets confusing.
You can also introduce "v@scale" for each point, which will affect the scale (x,y,z) components for each point. By default it is internally set to (1,1,1), but you can adjust this at your will.
Thank you so much
But note, at the beginning of the video, you set an example 0:07
In the explanation, you made the grass only !!
Please complete the work, as shown in the introduction, so that it is a reference and credibility.
thank you a lot
don't be a brat
@@n000Face hahaha thanks bro :)
OMG it's so heavy :)
This tutorial is not for beginners