Jump to content


  • Content count

  • Donations

    0.00 CAD 
  • Joined

  • Last visited

Community Reputation

1 Neutral

About underscoreus

  • Rank

Personal Information

  • Name
  • Location
  1. Get values of parms from within python module

    Hmm, I've never quiet understood what or how the kwargs work. However I am already calling a python function in my callback script. Is the kwargs a variable that can be added to any function/definition? i.e:"def my_test_def(kwargs):" ? Oh yeah! I should really be making my tools "safer" in that regard, either using that syntax or the "try: except:" way to prevent straight up errors. For now I've just been deving/been lazy and not made any safety nets for that kind of stuff. Also, I won't jinx it since it's started to work before and then stopped but I think I found my issue. A very clear user error on the most basic level which has me a little embarrassed. I made the node variable at the top of the script outside any of the definitions I call from the callback script tabs of my parameters... So it was as if the variable was kind of never created to begin with... ... ... so, yeah. Wish I had thought of that sooner. Thanks both of you for replying and bringing up very good points I should improve on stuff though!
  2. Get values of parms from within python module

    Hey, thanks for the post! I skimmed that topic before making this post, but had a more thorough read of it now. This kind of has the same issue as with my previous examples, just using a different syntax. I got the same errors when trying this solution unfortunately. For some reason it seems like Houdini is not able to correctly evaluate hou.node calls when made from inside an HDA's python module. Thanks for the tip though!
  3. Hey guys (and gals)! I'm working on a small project to simulate max style auto backups for Houdini wrapped up in an HDA. For this HDA I have a few functions in the python module that need to be able to read the values of the parameters of the HDA, like a string field where the user can say where to place the auto backups, determine the auto save intervals etc. However I am having some issues reading the parm values. So far I've been trying the normal method of first getting a referance to the node itself and then running: node = hou.node('.') node.parm('parmname').eval() However this is proving to be very unreliable, whenever I save and match definition the hda this approach no longer seems to work and I immediately get errors indicating that the first line trying to get a reference to the node returns none/NoneType. I have even tried to define it with a full path to the node like such: node = hou.node('/obj/autosaver1') But it still seems to encounter the same issue. I have seen some mentions of other methods but I am not really sure I fully get how they work. Any advice on the best and most reliable approach to getting the values from the different parameters of an HDA from within the python module? Thanks for the read! Stay safe out there!
  4. [Solved] How to get interaction between Vellum Hair and Grain

    That is hilarious and awesome that that works! Thanks a lot, o grand master Anim!
  5. [Solved] How to get interaction between Vellum Hair and Grain

    Hmmm, I'll try this out and see how far I can push it! Thanks for the tip! Guess I'll update the thread with whatever hair-brained scheme I come up with if I succeed!
  6. [Solved] How to get interaction between Vellum Hair and Grain

    Hmmm, and this was for when both grain and hair was Vellum?? If so that's a little annoying. Not entirely sure how I can copy geo onto the vellum hair points and still have them work properly in the vellum sim.
  7. Howdy folks! I've recently started looking into Vellum and I am currently trying to create interaction/collision between Vellum grains and Vellum Hair however it does not seem to come as easy as interaction between grains and cloth. I've used the same setup that worked with my grains and cloth example to make this setup however as mentioned above so far I've had no luck in making it work. I am sure that there is something very basic that I am missing here but I can't seem to find it. Any ideas? Screenshots of the setup(Sorry for less than optimal/clean node layout): Scene file as well as base model too if you'd rather dig into it. Vellum_Hair_Grain_Test.zip
  8. [SOLVED] Redshift nodes are "Invalid node type name"

    Heyo, I realize my original post is way to sparse so I'll elaborate more: Issue is as described in the original post. Running on a Linux machine, Ubuntu 18.04, launching houdini with a custom runscript that should add the REDSHIFT_COREDATAPATH aswell as the REDSHIFT_LICENSE to the instance I am launching. Problem turned out to be my in-expirience and lack of knowledge regarding how Linux systems work in general aswell as not paying close enough attention to the error messages in the terminal I was launching Houdini from. Essentially I have all the license files etc for Redshift on a SMB network share that I have mounted on my machine. The problem was that when I transfered the redshift files onto the share I destroyed all of symlink files that houdini apparently uses under the hood to make redshift work (for the uninitiated , like I was a few hours ago, a symlink is kinda like a shortcut for a file in windows. Programs can call that shortcut and get direct access to the file itself. This is very much so a laments terms explanation.) Apparently by copying the files over via command line with some extra flags you can make it work. TBH I don't entierly know why it works now since there are still no symlink files on my server, but the nodes plonk down just fine inside Houdini so I am not going to touch anything else xD Thanks for the reply! Sorry for stirring up stuff.
  9. Heyo guys (and gals), I've run into a slight problem setting up my new workstation in that Redshift does not seem to be working properly. I am able to search for all the Redshift nodes in Houdini and even place down some of them (mainly the Redshift IPR node in ROPS) but for the wast majority I get this kind of error: The attempted operation failed. Invalid node type name Traceback (most recent call last):File "Redshift", line 1, in <module> File "/opt/hfs17.5.460/houdini/python2.7libs/roptoolutils.py", line 9, in createRenderNoderop = hou.node('/out').createNode(rop_type, exact_type_name=True) File "/opt/hfs17.5.460/houdini/python2.7libs/houpythonportion/ui.py", line 850, in decoratorreturn func(args, kwargs) File "/opt/hfs17.5.460/houdini/python2.7libs/hou.py", line 8586, in createNodereturn _hou.Node_createNode(args, kwargs) OperationFailed: The attempted operation failed.Invalid node type name So seems to me like Houdini has access to create the nodes but is missing the definition for the nodes (in laments terms). Anyone encountered something like this before and have some advice on how I can fix it? Any advice is greatly appreciated. Thanks for the read! Stay safe out there!
  10. RedShift motionblur problem

    As an addon to what 6ril said, on the object level node in the first redshift tab there is a checkbox called "Deformations/Instances/Particles blur from velocity attribute". I don't think the V attribute does anything for motion blur unless that is checked. Of course this only applies if the animation is done in SOPS or coming from a particle sim in DOPS.
  11. Restore camera settings after a flipbook

    Hey, Don't know if this is the most efficient method (someone please correct me if there is a better way) but maybe have a look at the hou.appendSessionModuleSource? (https://www.sidefx.com/docs/houdini/hom/hou/appendSessionModuleSource.html) It's made to store variables in the HIP file itself. It's at least what I use when I need to store stuff like that. Essentially stores it as an environment variable that you can later call from anywhere in the HIP file with hou.session.variablename.
  12. Hey guys, I am currently working with bullet soft constraints and am using the angle, distance, force and torque attributes to determine when to break the soft constraints. I am facing an issue through where a lot of the soft constraints attributes are all 0 and they all stay 0 throughout the sim. Usually they will initialize and update even if the constraint stays relatively still so I don't this think is normal behavior. I've been trying to get it working for the past few days as well as googling around but my google-fu and troubleshooting efforts have turned up very little, so I now turn to you guys. The weird thing is that some of the constraints work just fine, but most of them seem to not work properly. I've added my file if someone wants to donate their time to have a look at it. The sim can be found in /obj/Primary_RBD_Sim/dopnet1. The constraints responsible for most of the movement is the "brick-mortar" constraints, so I usually add that to the geo spreadsheet's group field. I have tiried to lock the heaviest cooking nodes (hence the file size), but if the scene cook's a lot when opening or if the geo is missing, have a look at the "Lock"-flag here /obj/Create_House_Constraints/OUT_PRIMARY_RDB_SIM_CONSTRAINTS and /obj/Pre_Fracture_House/OUT_PRE-FRACTURED_BUILDING and obj/Create_House_Geometry/OUT. As a final note, there is a few wrangles that are controlling the stiffness of the constraints here /obj/Primary_RDB_Sim/dopnet1/UPDATING_CONSTRAINTS The file was created using houdini 17.5.173. Thanks for the read. Any suggestions or any thoughts is much appreciated. Soft_Constraint_Attributes_Issues.hipnc
  13. List of fastest vex functions

    Heyo, As the title suggests, I was wondering if there is such a thing as a list of vex functions detailing which ones are the fastest to execute. Looking to writing more efficient vex to hopefully lower cook times of heavier wrangles (heavier in this case meaning having to go over more elements(prims, points etc)). I've had a look at my performance monitor and can see that in my tree the nodes taking up most time are the wrangles. They aren't "that" slow, around 0.2s pr.wrangle, but since there are quiet a few it adds up at the bottom of the node tree. Thanks for the read!
  14. Python - Integer to String

    Don't know if this is a thing in python but I guess it might be worth mentioning, its probably a good idea to refrain from naming your variables stuff like string, int/integer, float, vector etc because this be messing with the internal classes and structs of your coding language and give you hassle later. Don't know if you just named them that in your example for demonstration purposes or not but figured I'd add my 2 cents.
  15. Getting value of string parm hda

    I think you can also do this.parm("nameofparm").eval() to have python evaluate the parameter as it is and give you back a normal value like a float, int, string etc.