Jump to content
RTHMan

Zbrush-like details in Houdini

Recommended Posts

Is it possible to create patterns on a very high decimated triangulated mesh in Houdini similar to these patterns created in Zbrush but with scatter points? file.jpg (600×500) (artstation.com)

Share this post


Link to post
Share on other sites

if you Make in sop Level and bring that in COP than l to MAT, you can make, Old file its working here on 18.5
Have Fun.
 

Share this post


Link to post
Share on other sites

I don't understand it.

Share this post


Link to post
Share on other sites

Do you want to creat the patern from a scattering approach or do you want a "height texture bombing" a model with one of these patterns with scattering?

Both are possible anyway, be Houdini is not the right platform to eat billions of polygons as morning pancake, i don't encourage you to push it too much ...

 

________________________________________________________________

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

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

Share this post


Link to post
Share on other sites
30 minutes ago, vinyvince said:

Both are possible anyway, be Houdini is not the right platform to eat billions of polygons as morning pancake, i don't encourage you to push it too much ...

 

________________________________________________________________

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

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

That's disappointing. Thanks for the advice.

Share this post


Link to post
Share on other sites
#define PI          3.1415926535897931
#pragma label       Theta       "Maximum Theta"
#pragma label       spread      "Overall Spread"
#pragma label       DATA        "Data Points"
#pragma label       kd          "Diffuse"
#pragma label       ks          "Specular"
#pragma label       bump        "Bump"

surface
qrotation_field
(   float   Theta   = 2.0,
            spread  = 3,
            kd      = 1,
            ks      = 0.5,
            bump    = 0.1;
    string  DATA    = "$HIP/../VEX/Reading-Data-Points/_datapoints1.bgeo.sc")
{
    float d, Np, theta, pFratt, factor, pspread;
    vector _P, pP, axis, pVratt;
    vector4 Q;
    string group;
    
    _P = ptransform("space:camera", "space:world", P);

    theta = snoise(_P + 0.9, 1, 0.75, 1)*4.5;
    axis = snoise(_P + 0.05, 1, 0.05, 1);
    Q = quaternion(theta, axis);
    _P = qrotate(Q, _P);
    
    for(int g = 0; g < 2; g++){
        group = concat("group", itoa(g));
        int p[] = expandpointgroup(DATA, group);
        Np = len(p);
        factor = g + 1;
        for (int i = 0; i < Np; i++){
            pP = point(DATA, "P", p[i]);
            axis = point(DATA, "N", p[i]);
            pFratt = point(DATA, "fratt", p[i]);
            pVratt = point(DATA, "vratt", p[i]);
            pspread = pFratt*spread/factor;
            d = distance2(pP, _P);
            d = exp(-d*d/pspread);
            theta = 2*PI*(pFratt*2 - 1)*d*Theta/factor;
            Q = quaternion(theta, axis);
            _P = qrotate(Q, _P - pP) + pP;
        }
    }

    vector outColor = snoise(_P*0.25, 1, 0.25, 1);

    vector Nn = normalize(computenormal(P + min(outColor)*bump, N, Ng));
    
    vector diff = diffuse(Nn)*outColor*dot(normalize(-I), N);

    vector spec = specular(Nn, normalize(-I), fit01(min(outColor), 0.5, 0.1))*0.1;
    spec += specular(N, normalize(-I), 0.05);

    Cf = diff*kd + spec*ks;
}

Make New Asset SHOP_surface and have fun  (you have those files on GITHUB) ...it reads points and attributes that exist on that POINTS ..Just use imaginations ..
Just example ...

Share this post


Link to post
Share on other sites

Hi Robert,
to create procedural scales you could create voronoi cells based on an adaptively triangulated mesh.

scales.jpg.7749d0c82caafd7aa23aaf847efc4327.jpg

If a displacement map is all you want, better skip creating a high resolution mesh and write the cell distances directly to a map.

 

scales.hipnc

Share this post


Link to post
Share on other sites
Posted (edited)

Thank you Konstantin, but there are other things I also want.

1. To use curves to influence the formation of the cells.

2. To add textures to the cells and in between the cells.

3. To edit the radius of the cells.

4. To use different alphas for the cells like these images.

60841978402f1_Sharpshape.jpg.36d4b88f209e199f0d19de39eab8995f.jpg60841980432f3_Roundshape.jpg.a314e7fccccba9305aa8a5a34ab6a82a.jpg60841992da677_Softshape.jpg.f258b64cbb153a88ccdf0b87488f6992.jpg

Edited by Bennell
  • Downvote 1

Share this post


Link to post
Share on other sites
1 hour ago, Bennell said:

Thank you Konstantin, but there are other things I also want.

1. To use curves to influence the formation of the cells.

2. To add textures to the cells and in between the cells.

3. To edit the radius of the cells.

4. To use different alphas for the cells like these images.

Well, then you have quite a bit of research ahead of you. Maybe this helps:

  1. orient along curve SOP + primuv() can sample tangent directions from curves.
  2. 'texture bombing' adds structures based on image maps
  3. editing the pscale attribute along with pcfind_radius() changes radii
  4. the smooth()-function allows for different roll-offs.

I have published lots of examples here and also some tutorials about this.

  • Like 1

Share this post


Link to post
Share on other sites
1 hour ago, konstantin magnus said:

I have published lots of examples here and also some tutorials about this.

Wow, thanks!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×