Welcome to od|forum

Register now to gain access to all of our features. Once registered and logged in, you will be able to contribute to this site by submitting your own content or replying to existing content. You'll be able to customize your profile, receive reputation points as a reward for submitting content, while also communicating with other members via your own private inbox, plus much more! This message will be removed once you have signed in.


  • Content count

  • Joined

  • Last visited

  • Days Won


Everything posted by woodenduck

  1. In my experience, the best way to revise your math is to use Houdini ;D
  2. 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.
  3. Is this in a Wrangle? Has forcescale been declared anywhere?
  4. 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.
  5. 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
  6. Thanks @cosku, This is exactly what I was looking for. Cheers! WD
  7. Nice balls, Rafael!
  8. 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.
  9. 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.
  10. 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.
  11. 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.
  12. No problem! You could also use $F which is the global frame number. $SF is the simulation frame number.
  13. Did you change "start frame" on your dopnet?
  14. Try changing your start frame to 54 and putting the path to the frame 54 sim file in the "initial state" parameter.
  15. 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.
  16. Have you tried it with the RBD solver rather than Bullet?
  17. Set a rest attribute before you sim. Then compare this to P post sim. Delete pieces that differ.
  18. add a / before obj. so the path reads - npoints("/obj/geo1/sphere1")
  19. + rather than *
  20. 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
  21. Go to the particle fluids tab and press "whitewater". Done ;D
  22. Render it separately. Glow in comp.
  23. In an attribute vop, take a 'relative to bounding box' vop and run this through a 'compare' vop set to greater than 0.5. You can plug the result of the 'compare' in to a 'switch' vop with time and negated time as the 2nd and 3rd inputs. Plug that in to the x component of a 'float to vector' vop and plug the result in to the offset of your noise vop. You should see the noise on one half of the sphere moving in positive x and the other half in negative x.
  24. Have you tried subdividing only the front and side polygons? output front group and side group on the polyextrude. Then on the subdivide node set extrudeFront extrudeSide in the group parameter. Don't have Houdini right now, but this might be worth a try. Cheers, WD
  25. The problem is the changing topology, your primnum attribute is going to change so attribute interpolate will not yield the desired result. If you use a point deform on a timeshifted mesh you can take the movement from the simulation points and apply it to that mesh. You can then do the scatter/interpolate step in this topologically consistent mesh. I can't upload a file right now but here's what you can do. timeshift after dopimport1. particlefluidsurface after timeshift. Drop down a pointdeform. wire the pointdeform inputs like this. 1 particlefluidsurface, 2 timeshift, 3 dopimport. Then do the timeshift/scatter/attribute interpolate process.