Jump to content


Popular Content

Showing most liked content on 04/25/2018 in all areas

  1. 1 point
    >>> n.setDeleteScript("aaa", hou.scriptLanguage.Hscript) >>> n.setDeleteScript('setenv x = "hello"', hou.scriptLanguage.Hscript) >>> hou.getenv('x') 'hello' This works. You can also take a look at this Particularly the Script Variables section. You can set a script that will trigger whenever any node or a specific node is triggered
  2. 1 point
    Hi! check out my scene file. I created a procedural way of do some parent/child relationships between pieces(prims) at sop level, and also per prim transformations of course. You'll be able to create your own rules for the transformation point position, transform operations and hierarchies description. Here is the link and a Video in which I tried to explain some of the features that it has, pardon my poor english and have fun! Scene File: https://gum.co/polyops Good Luck!
  3. 1 point
    spammers will spam, that's the nature of the interwebs. We've turned on first post moderation for now, which will shield everyone from the spam. Hopefully it dies down soon and we can turn it off again. M
  4. 1 point
    Hello, here you can download my files from softbody week-6 : You can use my files for your jobs or just for fun/learn/make tutorial/ whar ever . It's free BUT Keep in mind i am not a professionnal, so pay attention : i'm quite sure my way to work is not the best way to work in production/studio. cheers ! Yohann upres-shirt.hiplc balloon-v2.hiplc baloons-grain solver.hiplc upres-attribtransfer.hiplc upres-curvature.hiplc
  5. 1 point
    to get a plasticity effect by replacing @baseP with @P when @potentialdensity is high enough. cloth+baseP+potentialdensity+multisolver.hiplc
  6. 1 point
    Basic: // Primitive wrangle. int pts[] = primpoints(0, @primnum); vector rest = point(0, "P", pts[0]); vector prev_pos = rest; matrix3 frame = ident(); for (int i = 0; i < len(pts); i++) { vector pos = point(0, "P", pts[i]); rotate(frame, 0.1, {0, 0, 1}); vector new_pos = (pos - rest) * frame + prev_pos; rest = pos; prev_pos = new_pos; setpointattrib(0, "P", pts[i], new_pos); } Advanced: // Primitive wrangle. #define TWO_PI 6.2831852 addpointattrib(0, "N", {0, 0, 0}); int pts[] = primpoints(0, @primnum); int npt = len(pts); // Loop variables. vector rest = point(0, "P", pts[0]); vector prev_pos = rest; matrix3 frame = ident(); for (int i = 0; i < npt; i++) { vector pos = point(0, "P", pts[i]); vector delta = pos - rest; rest = pos; // Make normal. Point normals could be used instead. vector normal = normalize(cross(cross({0, 1, 0}, delta), delta)); if (length(normal) == 0) { normal = {0, 0, 1}; } // Drive a shape with ramps and multipliers. vector axis; float ramp, angle; // Twist the bend axis. axis = normalize(delta); ramp = chramp("twist_profile", (float) i / npt); angle = fit01(ramp, -TWO_PI, TWO_PI) * ch("twist") / (npt - 1); rotate(frame, angle, axis); // Bend the curve. axis = normalize(cross(normal, delta)); ramp = chramp("bend_profile", (float) i / npt); angle = fit01(ramp, -TWO_PI, TWO_PI) * ch("bend") / (npt - 1); rotate(frame, angle, axis); // Compute new position and normal. vector new_pos = delta * frame + prev_pos; prev_pos = new_pos; setpointattrib(0, "P", pts[i], new_pos); setpointattrib(0, "N", pts[i], normal * frame); } curl.hipnc