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.

woodenduck

Members
  • Content count

    262
  • Joined

  • Last visited

  • Days Won

    1

Community Reputation

29 Excellent

About woodenduck

  • Rank
    Illusionist

Personal Information

  • Name Joe
  • Location Vancouver
  1. Thanks @cosku, This is exactly what I was looking for. Cheers! WD
  2. 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
  3. Nice balls, Rafael!
  4. 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.
  5. 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.
  6. 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.
  7. 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.
  8. No problem! You could also use $F which is the global frame number. $SF is the simulation frame number.
  9. Did you change "start frame" on your dopnet?
  10. Try changing your start frame to 54 and putting the path to the frame 54 sim file in the "initial state" parameter.
  11. 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.
  12. Have you tried it with the RBD solver rather than Bullet?
  13. Set a rest attribute before you sim. Then compare this to P post sim. Delete pieces that differ.
  14. add a / before obj. so the path reads - npoints("/obj/geo1/sphere1")
  15. + rather than *