Jump to content


  • Content count

  • Donations

    0.00 CAD 
  • Joined

  • Last visited

Everything posted by garf

  1. Grain RBD Active/Deactive

    unbelievable - thanks Sepu
  2. Grain RBD Active/Deactive

    Morning all, I've got a basic Grain RBD setup of a box filled with grains I would like to settle and then stop movement until a collider is introduced. I 've used a pop wrangle to deactivate the grains below a velocity threshold but would like them to be reactivated once the collider is in close proximity. I thought a simple SOP Solver with an attribute transfer would do the job but, although the spreadsheet says their active value = 0 - they are clearly still active and the SOP Solver appears to be overriding the POP Wrangle completely. Any suggestions on either why this doesn't work or a better alternative. Thanks basicGrainRBD.hip
  3. Geo to Maya Mblur

    Foolishly, I realised it's a changing point count issue with Arnold.
  4. Geo to Maya Mblur

    I've copySOP'd a bunch of geo and exported it to Maya via Alembic - the velocities look good in Houdini but rendering in Arnold/Maya the mblur is all over the place. I've tried exporting with subsamples too but theyre still wrong Any ideas?
  5. Floating windows on Linux

    When I was on Linux I did exactly that. Created a workspace which spanned two monitors. Customise it so the timeline and other bits only span one monitor.
  6. Volume Displacement on Rest

    I'm trying to add some detail to a smoke sim - logically it feels like I should be able to displace/multiply noise into the density using the rest field but I don't know how to use it in the volume vop. Can someone give me some clues?
  7. VEX: If statement

    Nice one. Thanks.
  8. VEX: If statement

    How do you run an 'if' statement on a string in vex? if(@id==0){ @Cd = set(1,1,1); } will work but if I were to run it over a string attribute it errors with 'invalid assignment from string to float' if(@shape=='box'){ @Cd = set(1,1,1); } I know that running @shape="box" blast works so I tried it with just a single '=' also, but this errors too.
  9. vop accel attribute

    Thanks - that seems to do the business. But, for curiosities sake, is there a way without running through a time shift?
  10. Possibly a stupid question. In older versions of Houdini there was access to the 'accel' attribute in vops. Where's it gone? I'm using H15.0.416
  11. Python code in the channels?

    Stick a return statement at the end to return your value file= r'C:\myFolder\myFile.bgeo.sc' return file
  12. Create HDA using python

    Not used it myself but these might help you http://www.sidefx.com/docs/houdini/hom/hou/HDADefinition.html
  13. Python - Create Operator Path

    Thanks This helped a lot:
  14. Hello, What's the class to create an "Operator Path" parameter in python? group.addParmTemplate(hou.FloatParmTemplate("myparam", "My Param", 1)) will create a float type parameter What would create an Operator Path parameter?
  15. Is it possible to interrogate a keyframe animate curve to find it's maximum and minimum values? I want to be able to pipe these values into a fit range in VOPs
  16. Curve Force on Cloth / FEM

    OK got it. field force with a sopvectorfield plugged into it.
  17. Curve Force on Cloth / FEM

    Hiya, How does one get a curve force or other such custom force into a cloth sim? Trying to push some cloth grids along a custom velocity field. I found this setup but it doesnt appear to work in H15 Cheers
  18. Pin it to stop it changing.
  19. Matching Curves

    Hello, I have two sets of curves - the first has a lot of points and the second is a lower-res resample of the first. Ideally I would like to simulate the lo-res and then match the hires back to the lo-res. I'm thinking I need to find the nearest uv location on the lo-res for the hi-res points (on a rest frame) and then transform each of the hi-res points via that matrix in order to match them. Is this the right methodology and how do I go about doing this? Any pointers greatly appreciated.
  20. Matching Curves

    Sure. matchCurves.hip
  21. Matching Curves

    I was over thinking it. This will do the job. prim attribute = P
  22. Matching Curves

    Pointdeform almost gets me there but it's not a match - templated (grey) is what I want it to be. I've tried a setup using nearpoint on rest frames and then using that point number's point position on the animated geo to set my point positions. This almost works too but with some random points crossing over to other curves:
  23. hou.hipFile.save but stay in the same session.

    import os.path as op import hou activeSession = hou.hipFile.name() print activeSession # Fetch tuple with index of pressed button and input text. choice, text = hou.ui.readInput('Type comments message', help='Type comments description.', title='Commented HIP', buttons=('OK', 'Cancel'), default_choice=1, close_choice=1) # If OK was pressed with some non-empty text. if choice == 0: # save tmp file tmp = ('').join(hou.hipFile.name().split('.')[0]) + '_tmp.hip' hou.hipFile.save(tmp) # set path name to the current session name path = activeFilename # Replace existing comment. if text: dir, name = op.split(path) name = op.splitext(name)[0] name = name.rsplit('.', 1)[0] name = '%s.%s.hip' % (name, text) path = op.join(dir, name) path = op.normpath(path) # save off the newly commented version hou.hipFile.save(path) # load the tmp file hou.hipFile.load(tmp) # rename it to the original session name hou.hipFile.setName(activeSession) print(path) It's clunky - but it does what you want it to
  24. hou.hipFile.save but stay in the same session.

    I guess you would want to save the current session as temp file before running this script. Then once this script has run open the temp file.
  25. How to create a custom deep channel

    The default Pz pass will give you this information