Jump to content


  • Content count

  • Joined

  • Last visited

  • Days Won


Everything posted by woodenduck

  1. POP inherit point normal from passing a point

    You will need to set the 'radius' and 'maxpoints' channels to something useful... ;D
  2. POP inherit point normal from passing a point

    Try this in a popwrangle inside the popnet. if(@n2 == 0) { float radius = chf("radius"); int maxpts = chi("maxpts"); int handle = pcopen(1, "P", @P, radius, maxpts); v@n2 = pcfilter(handle, "N"); v@N = @n2; }
  3. magnet point snap align

    Is your geometry packed?
  4. attrib wrangle set to run over prims... addpoint(0, @P); removeprim(0, @primnum, 1);
  5. Need advice from Houdini users.

    In my experience, the best way to revise your math is to use Houdini ;D
  6. staggering a carve by primnum

    Hit "create meta import node" on "foreach begin" to allow access to the iteration attribute. Then add the following in to the second u parameter of the carve sop: clamp((1-$T)+(detail("../foreach_begin1_metadata1/", "iteration", 0)/2), 0, 1) Should be good, providing your metadata node is named the same.
  7. Is this in a Wrangle? Has forcescale been declared anywhere?
  8. VDB Cloud

    On the top right of your viewport above where you select your camera, there is a drop-down menu. You can choose how all geometry is displayed. Set to "shaded bounding box". If you wan to control the display per-object, you could use a "bound" sop and set the blue display flag on, while keeping the purple render flag set to the original geo.
  9. Viewport xform Python expression

    Hi, I have created a geo node who's world transforms are matched to those of the current viewport, using the following Python. import toolutils viewer = toolutils.sceneViewer() viewport = viewer.curViewport() xform = viewport.viewTransform() obj = hou.node("/obj").createNode("geo") obj.setWorldTransform(xform) So far so good... Now I want to set these values with Python parameter expressions on the object so that the transforms are updated when the viewport is tumbled. The problem I'm facing is when I try to access the individual components of the xform matrix to set as the object parm I get "the Matrix4 object is not iterable"...??? Any ideas how I can dynamically link an objects transforms to those of the viewport? Thanks for any tips, WD
  10. Viewport xform Python expression

    Thanks @cosku, This is exactly what I was looking for. Cheers! WD
  11. Lots of balls!

    Nice balls, Rafael!
  12. Pre-Roll Pyro Sim

    Cache with an extra 25 frames (from F25 to F83) then timeshift the cache post sim. After your file node that reads the cache from disk, add a Timeshift with an expression in the Frame parameter set to $FF+25.
  13. Have you tried casting @ptnum and @numpt to floats before dividing? (float)@ptnum / (float)@numpt I think VEX will treat them as integers and not divide correctly otherwise.
  14. rbd strange behavior with flip fluid

    I would first check for interpenetrating geometry. MAybe try reducing the penetration threshold on the bullet solver. Are you by any chance using a drag dop in the glass simulation? I had something similar where the drag node caused my bullet sim to go haywire. You could also try whacking the substeps on the solver.
  15. Deforming Packed Gometry

    I'm not entirely sure what are trying to do as the geometry is missing in your scene. The file nodes in your scene should either be locked prior to saving (depending on file size) or you could zip the hip file up with the relevant geo files. But that being said, you can't directly deform packed geometry without first unpacking it. You can transform it, but deformation would require the geometry being fully loaded in to the scene.
  16. resume caching

    No problem! You could also use $F which is the global frame number. $SF is the simulation frame number.
  17. resume caching

    Did you change "start frame" on your dopnet?
  18. resume caching

    Try changing your start frame to 54 and putting the path to the frame 54 sim file in the "initial state" parameter.
  19. resume caching

    Because a simulation evolves based on the values from the previous frame, unlike a sop network which is calculated per frame with no time dependency. In order to get to frame 54 you need to calculate frame 53 and in order to get to frame 53 you need to calculate frame 52... etc etc all the way back to the start frame. These values are not stored when you save a bgeo file, you only save the result. You can save a .sim file which would allow you to start again from frame 54, but they take up a huge amount of space as they have to save all that additional information about the simulation's state.
  20. RBD Objects struggling to interact

    Have you tried it with the RBD solver rather than Bullet?
  21. Isolating active pieces in RBD sim

    Set a rest attribute before you sim. Then compare this to P post sim. Delete pieces that differ.
  22. npoints() evaluating to zero

    add a / before obj. so the path reads - npoints("/obj/geo1/sphere1")
  23. noob vex query

    + rather than *
  24. Flip Fluid collapsing in Bowl.

    Don't have Houdini open right now, but I would first suggest to investigate your collision geometry. Check 'display collsion geo' on the bowl in dops. Make sure it hasn't created a convex hull which encloses your fluid from the start. This would cause undesired results. You may need to switch it to concave. But as I said, I'm not able to open your scene right now, so this is just a guess. Cheers, WD