caskal Posted August 29, 2016 Share Posted August 29, 2016 Hey guys, hows going? I'm trying to figure out how to do this kind of stuff, as you already may know, these artists are Cristoph Bader, and Simon Holmedal, two genius. I know there's an easy way to do in cinema 4d, with x-particles, a followsurface node and a turbulent noise, but the more I learn Houdini, the less I want to go back to my older apps, and the more I want to study fractals, nature, maths (always a hard thing for me since I'm a designer), but proceduralism is da bomb! Sam welker posted a tut on creating swirly patterns on a plane, entagma has some on fractals, as well as for loop subdivision depending on attributes. My questions, are these done with particles and solver? I really want to achieve this kind of complexity, If someone has a good tutorial or resource on stuff like "this particle goes here, and when spot this one the next do this" and stuff, pop behaviors explained for a 1 month houdini user, could be also a ray sop involved here to get the shapes?, at the same time they are uniform, noise?, trying to figure out but its driving me crazy, some key words to google would be very helpful, lately I'm more in abstract stuff than anything, started looking nature more closely, probably there's VEX involved here, thats my biggest fear, I guess I'll had to learn if I want to make power stuff. Thanks for reading! 1 Quote Link to comment Share on other sites More sharing options...
Popular Post f1480187 Posted August 29, 2016 Popular Post Share Posted August 29, 2016 Use VDB point advection to output geometry. You need to compute a velocity vector, it's up to you. For example, just a curl noise (first image) is a good starting point, as well as cross product of @N and position delta using point cloud (second image, some noise applied also). It may be anything you could imagine, from fluid trails to volume thickness. curlypig.hipnc 20 3 Quote Link to comment Share on other sites More sharing options...
caskal Posted August 29, 2016 Author Share Posted August 29, 2016 5 hours ago, f1480187 said: Use VDB point advection to output geometry. You need to compute a velocity vector, it's up to you. For example, just a curl noise (first image) is a good starting point, as well as cross product of @N and position delta using point cloud (second image, some noise applied also). It may be anything you could imagine, from fluid trails to volume thickness. curlypig.hipnc Dude, you are a beast, I was actually waiting for your comment, you helped me in all my posts and I really appreciate that, gonna analize that file now, and then, search all your posts, you share amazing stuff, thanks again man, cheers from Argentina Quote Link to comment Share on other sites More sharing options...
caskal Posted August 29, 2016 Author Share Posted August 29, 2016 @f1480187 Finally got (the simple setup lol) A question about the simplest point wrangle // Project onto a tangent plane. @v = @v - @N * dot(@v, @N); //@v = normalize(@v); Googled tangent and readed its the rect that touches a curve in a certain point (as I said math is not my fort), is this what this snippet is doing? Why we have to rest the velocity by the normal? and what does the "dot(@v,@N)" stuff does? Understanding this first setup will be enough for now, I get some parts of the other point wrangle, but I better start reading more the tokeru cgwiki, I hate coding, but its needed for achieve the results Im looking for, plus is multithreaded. Btw, how old are you? 1 Quote Link to comment Share on other sites More sharing options...
bonsak Posted August 29, 2016 Share Posted August 29, 2016 (edited) @v = @v - @N * dot(@v, @N); This projects the "noisey" velocity vector back into the tangent of the surface. Take a look at the file and compare wrangle A and B. (Remember to enable Visualizer "Vel") -b tangent.hip Edited August 29, 2016 by bonsak 2 Quote Link to comment Share on other sites More sharing options...
caskal Posted August 29, 2016 Author Share Posted August 29, 2016 3 hours ago, bonsak said: @v = @v - @N * dot(@v, @N); This projects the "noisey" velocity vector back into the tangent of the surface. Take a look at the file and compare wrangle A and B. (Remember to enable Visualizer "Vel") -b tangent.hip @bonsak perfect, got it now! thanks for the sample file! Quote Link to comment Share on other sites More sharing options...
f1480187 Posted August 29, 2016 Share Posted August 29, 2016 In fact, you don't have to project anything, you can still use VDBs. Compute Closest Point from the surface SDF (not v) using VDB Analysis node and then use it as a third input of VDB Advect Points SOP, switching it to Constrained Advection mode. It doesn't allow for jittered input, but it can be added later by pushing points along N on random distance computed from primitive number. 3 Quote Link to comment Share on other sites More sharing options...
caskal Posted August 30, 2016 Author Share Posted August 30, 2016 13 hours ago, f1480187 said: In fact, you don't have to project anything, you can still use VDBs. Compute Closest Point from the surface SDF (not v) using VDB Analysis node and then use it as a third input of VDB Advect Points SOP, switching it to Constrained Advection mode. It doesn't allow for jittered input, but it can be added later by pushing points along N on random distance computed from primitive number. I'll try this later today, I "think" I get the whole process. One question it comes to my mind, so using vdbs, like in this sample were a curl noise is projected on a surface, it is possible for example, if I made a pattern, lets say some geometric pattern in illustrator and then import to houdini, can I use this workflow to project the pattern on the surface?, but not the way the ray sop does, instead making a certain pattern/design follow the velocity vector to get some crazy abstract shi*. The way it comes to my mind is insead of using a curl noise in point vop, importing a pattern/curve, is this possible? Quote Link to comment Share on other sites More sharing options...
f1480187 Posted August 30, 2016 Share Posted August 30, 2016 You need uvs and input geometry dense enough to capture details. To bring values, use Attribute from Map node. Remap the color from 0..1 to -1..1 range and use it to create velocity VDB. Should be sufficient enough to reveal pattern. 1 Quote Link to comment Share on other sites More sharing options...
Slimesunday Posted September 26, 2016 Share Posted September 26, 2016 @caskal here is another set up using a point vop and curl noise, giving you some more control over the noise on the surface. curlshiznat.hiplc 2 Quote Link to comment Share on other sites More sharing options...
caskal Posted September 26, 2016 Author Share Posted September 26, 2016 6 hours ago, Slimesunday said: @caskal here is another set up using a point vop and curl noise, giving you some more control over the noise on the surface. curlshiznat.hiplc Thanks @Slimesunday just checked your hip, nice result!, cheers! 1 Quote Link to comment Share on other sites More sharing options...
sebkaine Posted September 26, 2016 Share Posted September 26, 2016 4 Quote Link to comment Share on other sites More sharing options...
Rival Consoles Posted August 13, 2017 Share Posted August 13, 2017 Hey f1480187 Beautiful solution using advect points. Checking the wrangle nodes in your scene, some of the code lines don't make sense to me. That said, would you know where i can grab more info about how you came up with that solution? 1 Quote Link to comment Share on other sites More sharing options...
f1480187 Posted August 13, 2017 Share Posted August 13, 2017 Hi @Marcola. You can ask here. Which lines make no sense? There is no definitive source, I think. It's a compilation of techniques learned from the multitude of examples made by odforce users. Quote Link to comment Share on other sites More sharing options...
Rival Consoles Posted August 13, 2017 Share Posted August 13, 2017 Thanks for the info, @f1480187. This forum seems to be one of, if not the best, resources out there for Houdini. Great stuff! My question is more regarding where to begin understanding VEX. I'm fairly new to wrangling but almost 20 of 3D and also do have a little background in python. You know, one can spend days, maybe years researching programming languages but I wanted to know what would be a good way to start learning geometry manipulation through Houdini or where to start, at least, learning more about how to use VEX in Houdini and how to use that data to manipulate geometry (i.e.: extrusion with ramp, grid creation, for each loops etc.). I've been watching Jeff Wagner's and Rohan Dalvi's videos but i'm catching myself watching them repeatedly. They are definitely good materials and are helping a lot. Houdini's learning curve is pretty steep but i'm impressed with what this software can do, incredible. Regarding the coding lines on your example, i didn't quite understand lines 4 and 5. What is the delta for? What the cross function is doing? Is it acting on the particle velocity channel? Last, what is the reason for using the "fit" function on the noise, how come @P * 25 ? Newbie questions....any help would be appreciated. Thanks Quote Link to comment Share on other sites More sharing options...
f1480187 Posted August 13, 2017 Share Posted August 13, 2017 (edited) VEX is very simple, it's like basic C. No need to spend years to master it. Try @mestela's wiki. Help has a good basic reference too. I would recreate examples for 5-6 weeks, and gain critical mass of basic knowledge, before trying to make something I personally wish. I suppose you are talking about this snippet: vector near = point(1, "P", nearpoint(1, @P)); vector delta = @P - near; delta = normalize(delta); @v = cross(@N, delta); @v += fit01(vector(noise(@P * 25)), -1, 1); "delta" is a common variable name for things like difference between two positions. Here it will output radial directions from points towards scattered centers. cross() function outputs vector perpendicular to both arguments. It is commonly used to compute transform matrices or just to get something perpendicular. Here it redirects deltas to be concentric. Fit functions (there are fit and shortcuts fit01, fit10, fit11) remap values from old range to the newer range. I computed pretty frequent vector noise. Therefore noise's "xyz" argument was multiplied by 25, which is same as using any VOP noise and set it's frequency to 25. The noise return positive values within 0..1 range, it is not suitable for randomizing vectors in all directions. So it need to be mapped to -1..1. This allow to get random evenly distributed direction. Then I randomized velocity using resulting noise. For debugging, you should output variables to attributes and visualize them. Older and simplest way is to visualise with @Cd and @N. I usually create visualizers using gear menu at Parameters pane, it allows to quickly setup visualizer to the current node. Edited August 14, 2017 by f1480187 typo 3 1 Quote Link to comment Share on other sites More sharing options...
Rival Consoles Posted August 15, 2017 Share Posted August 15, 2017 Thank you so much for the explanation, really clear and easy to understand. I'll keep digging Houdini and will definitely check Matt Estela's website, great material in there too. Many thanks to Matt for putting all of that together! Quote Link to comment Share on other sites More sharing options...
Jks27 Posted August 29, 2017 Share Posted August 29, 2017 On 29/08/2016 at 11:26 AM, caskal said: Hey guys, hows going? I'm trying to figure out how to do this kind of stuff, as you already may know, these artists are Cristoph Bader, and Simon Holmedal, two genius. I know there's an easy way to do in cinema 4d, with x-particles, a followsurface node and a turbulent noise, but the more I learn Houdini, the less I want to go back to my older apps, and the more I want to study fractals, nature, maths (always a hard thing for me since I'm a designer), but proceduralism is da bomb! Sam welker posted a tut on creating swirly patterns on a plane, entagma has some on fractals, as well as for loop subdivision depending on attributes. My questions, are these done with particles and solver? I really want to achieve this kind of complexity, If someone has a good tutorial or resource on stuff like "this particle goes here, and when spot this one the next do this" and stuff, pop behaviors explained for a 1 month houdini user, could be also a ray sop involved here to get the shapes?, at the same time they are uniform, noise?, trying to figure out but its driving me crazy, some key words to google would be very helpful, lately I'm more in abstract stuff than anything, started looking nature more closely, probably there's VEX involved here, thats my biggest fear, I guess I'll had to learn if I want to make power stuff. Thanks for reading! Do you mind sharing the last image's .hip file? @caskal It's very interesting to learn the flow or you could replace it with a basic sphere. Thanks Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.