Jump to content

How to creat subdivision pattern ?


aoisaki

Recommended Posts

I saw this awesome video yesterday.

 It's so cool!!!!! But i can't find any information for doing this in houdini.

I want creat some stuff like this so much,Can you guys give me some idea or 

some information for how to creat stuff like this! Thank you very much!!!!!!

Link to comment
Share on other sites

Interesting stuff. It consist of four types of triangle subdivision, applied recursively. They all are built in or possible to recreate in Houdini:triangle_subdivide.PNG

  1. Edge Divide + Divide (Avoid Small Angles turned on);
  2. TriDivide;
  3. Subdivide (OpenSubdiv Loop);
  4. Subdivide.

First is the tricky here, since I don't understand what logic was used in this particular video to select which side of triangle to divide. And the whole idea behind driving setup is unclear for me also.

 

triangle_subdivide.hipnc

 

Ok, after a bit of thinking it seems like a matter of deciding which kind of subdivision to use in 3-4 repetitions in a row. Try it first.

... and after another bit of watching actual video, I don't see "Subdivide" type anymore, the type creating three quads. It wasn't used, I guess.

Edited by f1480187
  • Like 5
Link to comment
Share on other sites

I think C4D, as Max, has some nifty selection tools where you can select points/edges/polys by pattern, using default selection sets provided by the tool. You should be able to recreate them by grouping edges by pattern, even grouping more than once and combining, then start playing with the different subdivision types - as well as with the selection patterns.

I think this is a good example on a feature implemented in a 3D app as you couldn't create it using the tools of the app, that you have to recreate yourself in Houdini because you can create it using the tools in Houdini. It reminds me of one of the first things I wanted to do, learning Houdini. I wanted to rotate a particle around its velocity axis, a feature available as "standard" in Pflow and Thinking Particles. In Houdini you gotta build that in a VOP (or using VEX), not very easy if you don't know what a quaternion is. This feels kinda similar to that. ;)

Edited by Farmfield
Link to comment
Share on other sites

18 hours ago, Farmfield said:

I think C4D, as Max, has some nifty selection tools where you can select points/edges/polys by pattern, using default selection sets provided by the tool. You should be able to recreate them by grouping edges by pattern, even grouping more than once and combining, then start playing with the different subdivision types - as well as with the selection patterns.

I think this is a good example on a feature implemented in a 3D app as you couldn't create it using the tools of the app, that you have to recreate yourself in Houdini because you can create it using the tools in Houdini. It reminds me of one of the first things I wanted to do, learning Houdini. I wanted to rotate a particle around its velocity axis, a feature available as "standard" in Pflow and Thinking Particles. In Houdini you gotta build that in a VOP (or using VEX), not very easy if you don't know what a quaternion is. This feels kinda similar to that. ;)

I think c4d didn't have this kind tool.

The creater say it's all built in python.

  • Like 1
Link to comment
Share on other sites

23 hours ago, f1480187 said:

Interesting stuff. It consist of four types of triangle subdivision, applied recursively. They all are built in or possible to recreate in Houdini:triangle_subdivide.PNG

  1. Edge Divide + Divide (Avoid Small Angles turned on);
  2. TriDivide;
  3. Subdivide (OpenSubdiv Loop);
  4. Subdivide.

First is the tricky here, since I don't understand what logic was used in this particular video to select which side of triangle to divide. And the whole idea behind driving setup is unclear for me also.

 

triangle_subdivide.hipnc

 

Ok, after a bit of thinking it seems like a matter of deciding which kind of subdivision to use in 3-4 repetitions in a row. Try it first.

... and after another bit of watching actual video, I don't see "Subdivide" type anymore, the type creating three quads. It wasn't used, I guess.

Thank you very much!

Link to comment
Share on other sites

5 hours ago, aoisaki said:

I think c4d didn't have this kind tool.

The creater say it's all built in python.

Well, it was so long since I used C4D I shouldn't really comment about it, but I know 3ds Max has - and that's in regard to the pattern selection tools, the subdivision part I'm unsure of, but probably not so much. 

And it doesn't surprise me it's scripted, the more you learn Houdini the more you reach for VEX, it's all about that low level control, and my experience is the cooler the stuff you see, the more VEX (or Python, Maxscript, MEL) is in it. 

One thing that strikes me, though, is how you create selection patterns like this on generic triangulated meshes where you don't really have a pattern in the poly/edge numbering. I'm guessing it's the same math/methodology as doing polywalk setups, you start at one point and spread out from that. I feel I really have some way to go before I'm at that point where I can set that up, doing unfolds and alike, the stuff that F1, Pavel, Andrew and their likes can do in their sleep. :D 

Edited by Farmfield
Link to comment
Share on other sites

First off, wowness. Damn, F1, that is really cool.

In regard to animation, in the video in the first post, seems like he's just using color noise to control subdivision iterations, not very complicated if you got the base for the subdivisions themselves. But I would propose you could do some seriously cool animations with this using it in conjunction with a polywalk or unfold setup.

Link to comment
Share on other sites

Naeh, just the techniques in themselves, couldn't find a Houdini example of unfolding, but this is an extreme one done in C4D... 

As for polywalk, Andrew Melnychuk did a series about it here. This one is on my todo list, so to speak. ;)

 

Edited by Farmfield
Link to comment
Share on other sites

  • 4 years later...
On 03/08/2016 at 4:46 AM, aoisaki said:

Man,you are awesome!

learn a lot!!!!!!

Really interesting thread here.

Recently, our brilliant friend Akira Saito came out with the generation of some splendid forms. 

I though it wirth a share

My assumption is he is using fractal and recursive subdivision iterations using nonstationary weights based on custom division patterns.

Found it was worth to share

 

EigRFz3UYAAV3wH.jpg

EiN9u87VoAAMr9j.jpg

EiNGblcUMAEc7TI.jpg

EiNHVqlVkAA3D-o.jpg

Eip1R7RXsAAX0QE.jpg

EiRlpPqUYAElDzZ.jpg

EiYBFvrU0AMwVuG.jpg

  • Like 1
Link to comment
Share on other sites

Started to get some cool things myself for a project, using my own ways, still feel a limited to code my own subdivision rules

Obviously how not to mention master Michael Hansmeyer here?

_______________________________________________________________

Vincent Thomas   (VFX and Art since 1998)
Senior Env and Lighting  artist & Houdini generalist & Creative Concepts

 http://fr.linkedin.com/in/vincentthomas

(Available soon, feel free to contact for reel and resume=

Archaic-Antidote-2.jpg

  • Like 2
Link to comment
Share on other sites

v@P = set(v@uv.x, v@uv.y, 0.0);
------
v@P = primuv(1, "P", i@hitprim, v@hitprimuv);
-----------------------------------
//f@r = sqrt(v@P.z * v@P.z + v@P.x * v@P.x);
f@r = length(v@P);
//f@r = length2(v@P);

f@phi = atan2(v@P.x, v@P.z);

v@P_cartesian = v@P;

v@P.x = f@phi;
v@P.z = f@r;
-------------------------------------------
over primitives
int edge[];
float longest = 0.0;
int vertices[] = primvertices(0, @primnum);
for(int i=0; i<len(vertices); i++)
{
    int vtx1 = vertices[i];
    int vtx2 = vertices[(i + 1) % len(vertices)];
    
    int pt1 = vertexpoint(0, vtx1);
    int pt2 = vertexpoint(0, vtx2);
    
    vector p1 = point(0, 'P', pt1);
    vector p2 = point(0, 'P', pt2);
    
    float dist = distance(p1, p2);
    
    if(dist > longest)
    {
        longest = dist;
        
        int e[];
        push(e, pt1);
        push(e, pt2);
        edge = e;
    }
}
if(len(edge) != 0)
{
    s@edges = ' p' + itoa(edge[0]) + '-' + itoa(edge[1]);
}
----------------------------  

projection Ray projection Ray l-system or vice versa..

Your approche @vinyvince?

02f.jpg

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...