Jump to content

Curly Abstract Geometry


caskal

Recommended Posts

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!

 

8516611972_48c8d7079b_b.jpg

tumblr_mz1ccxAUMX1ravlb0o1_500.jpg

swirl01.jpg

swirl04 (1).jpg

swirl04.jpg

  • Like 1
Link to comment
Share on other sites

5 hours ago, f1480187 said:

curlypig2.pngcurlypig.png

 

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

Link to comment
Share on other sites

@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?

  • Like 1
Link to comment
Share on other sites

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.

  • Like 3
Link to comment
Share on other sites

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? 

Link to comment
Share on other sites

  • 4 weeks later...
  • 10 months later...

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 

Link to comment
Share on other sites

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 by f1480187
typo
  • Like 3
  • Thanks 1
Link to comment
Share on other sites

  • 2 weeks later...
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!

 

8516611972_48c8d7079b_b.jpg

tumblr_mz1ccxAUMX1ravlb0o1_500.jpg

swirl01.jpg

swirl04 (1).jpg

swirl04.jpg

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

Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...