Jump to content


  • Content count

  • Donations

    0.00 CAD 
  • Joined

  • Last visited

Community Reputation

17 Good

About ftaswin

  • Rank

Personal Information

  • Name

Recent Profile Visitors

2,027 profile views
  1. Viewport | no cam position

    __import__("toolutils").sceneViewer().curViewport().viewTransform().extractTranslates().x() __import__("toolutils").sceneViewer().curViewport().viewTransform().extractTranslates().y() __import__("toolutils").sceneViewer().curViewport().viewTransform().extractTranslates().z() Map them in vector3 parm respectively (x,y,z). It will update automatically
  2. Number of Prims in a group?

    // in detail wrangle : int prims[] = expandprimgroup(0,"primgroupname"); string pieces[] = {}; foreach(int p;prims) { string nm = prim(0,"name",p); if(find(pieces, nm) < 0) { append(pieces, nm); } } s[]@nm = pieces;
  3. POP Force Mass Remap

    Use vexpression is used to dynamically adjust one or more parameters you see in the node, NOT updating point attribute individually. To do the later use pop wrangle/ geometry wrangle. To use vex in pop force you can enable the top vexpression and use something like this: force *= fit(@P.x, -2,2,.5,2); those particles on one side will have half the force settings and on the other will have twice the strength
  4. int pts[] = expandpointgroup(0,”groupname”); if(len(pts) > chi(“max_limit”)) { foreach(int pt; pts) setpointgroup(0, “deleteme”, pt, 1);}
  5. Change default file paths

    look into OnCreated.py
  6. VEX points edge selection issue.

    if(relpointbbox(0,@P)[0]%1==0 && relpointbbox(0,@P)[2]%1==0) @group_edges = 1;
  7. You can filter and "smooth" the direction(N) you use to "peak" your surface. pcopen-pcfilter will do that just fine. in vex: int handle = pcopen(0, "P", @P, ch("radius"), chi("max_points")); @P = pcfilter(handle,"P"); You can do similar in Vop too.
  8. how to add points to a curve?

    There is also vex version, but yes, no easy way
  9. how to add points to a curve?

    The simplest answer I can think of is to rebuild the input curve and turn it into a single curve node (very easy to do with python). From there, do whatever you want. node = hou.node('/obj/geo1/alembic_curves_unpacked') parent = node.parent() pos = node.position() geo = node.geometry() prims = geo.prims() for prim in prims : crvnode = parent.createNode("curve") pts = prim.points() tmppos = "" for pt in pts : tmppos += ",".join([str(x) for x in pt.position()]) + " " crvnode.parm("coords").set(tmppos) crvnode.setPosition(pos) crvnode.move([0,-1]) pos = crvnode.position()
  10. in the parameter editor, if you click the cog icon - add spare input, it will add a string parameter where you can plug a node path you can reference to. So instead of detail(1,"iteration",0),detail(2,"iteration",0),detail(3,"iteration",0) referring to the node connected on input 2,3 and 4, You can use detail(-1,"iteration",0),detail(-2,"iteration",0) referring to the spare parm you just added (-1 is the first spare parm, -2 is the second and so on)
  11. Node presets environment variable

    In your case, it would be D:/stuff mapped as HOUDINI_PATH the presets folder inside will be recognized
  12. Hierarchy in FBX's Export

    From H18.0.5xx onward I believe you can export FBX with path attribute like alembic.
  13. Curve Attributes Access

    node = hou.pwd() geo = node.geometry() points = geo.points() x,y,z = points[0].attribValue("P")
  14. Listing nodes of a particular type?

    hou.nodeType(hou.objNodeTypeCategory(), "cam").instances()
  15. Houdini UI Python Library

    It still does, @Stalkerx777. Thanks again