Jump to content


  • Content count

  • Donations

    0.00 CAD 
  • Joined

  • Last visited

  • Days Won


Stalkerx777 last won the day on February 12 2021

Stalkerx777 had the most liked content!

Community Reputation

166 Excellent

About Stalkerx777

  • Rank
  • Birthday 03/02/1984

Contact Methods

  • Skype

Personal Information

  • Name
    Alex Rusev
  • Location
    Vancouver, Canada

Recent Profile Visitors

10,431 profile views
  1. I suggest you to rethink what you're trying to do, because when you reach out to threading and hdefereval in Python SOP that's a red flag right there unless you're just toying around. Python runs on the main thread and other parts of Houdini can't see the result of it until it's completed. For example you could replace your for loop with ForEach-family of SOPs.
  2. Import external script to python panel

    Try using relative import istead. from . import projWindow
  3. I had issues with .asCode in the past not being able to correctly export node contents in full, but hscript opscript -rVG /path/to/operator worked great for me.
  4. How to change HDA asset name?

    Asset Manager -> Right Click-> Duplicate
  5. Noob Syntax question

    This is called casting in C/C++ more specifically a static upcast. This form is an old C style casing, C++ also adds static_cast syntax which does the same. parent = static_cast<OP_Network*>(OPgetDirector()->findNode("/obj")); Static means it's a compile time procedure and upcast means you get a pointer to the the parent base class which is higher in class hierarchy (therefore upcast). This is very common in C++.
  6. Houdini Engine as a javascript library?

    Houdini Engine is a C API, so it's possible to write a Node.js extension, but it won't be possible to use it in a browser because the engine uses Houdini dynamic libraries, and browsers can't load arbitrary user libraries. You would need to build a front end in JavaScript and a backend in any language that can talk to Houdini Engine.
  7. Getting Houdini Global Vars With Python

    Aaha, nice!
  8. Tree panel from HOU module

    hou.ui.selectFromTree() https://www.sidefx.com/docs/houdini/hom/hou/ui.html
  9. Getting Houdini Global Vars With Python

    I don't think there's a way to get the list of hip variables. A quick and dirty solution that comes in mind is parsing the text block of the hip file. In shell it would be: strings scene.hip | grep 'set -g' Same can be done from within Houdini with Python given the hip has been saved: import re with open(hou.hipFile.path(), 'rb') as f: for var, val in re.findall(r".*set -g (.+?)\s=\s\'(.*)\'", f.read()): print(var, val)
  10. OPmenu issue

    labelExpression should be used when you want to dynamically show/hide menu items, main script should go under scriptCode or scriptPath tags
  11. How to compile vfl library files to use in wrangles

    Drop a SOP/Attribute VOP and check out the Compiler parameter. All wrangle nodes compile you code once and it's very fast. You won't get any execution performance benefits from pre-compiling. I don't know the size of your code, but the one I once worked with was a couple of thousand LOC in a header file and wrangle nodes chewed them almost instantly. Cheers.
  12. How to compile vfl library files to use in wrangles

    cvex is sort of generalized context ( computational vex - not sure if it's real of I made this up ) it could be useful for some times to abstract from context (SOP, DOP, Shaders) but if you don't have a strong requirement to make it so general, just stick to regular functions, save them to a .h file and then #include it. Houdini will compile it for you. You won't get any benefits from pre-compile your code manually with vcc For reference: https://www.sidefx.com/forum/topic/41253/
  13. Howdy!

    Hey old-timers It's been 13 years since I joined, oh man, time flies huh?
  14. Listen globally for display flag event

    https://www.sidefx.com/docs/houdini/hom/hou/nodeEventType.html FlagChanged is what you're looking for. Also, read "Node event handler files" section from here https://www.sidefx.com/docs/houdini/hom/locations.html and use OnCreated.py instaed of pythonrc.py
  15. How to get a callback event on cook?

    You might want to use Object/Python Script or Sop/Python SOP nodes for this. Or create a new "Python based" operator via File -> New Asset > Python type and you'll be able to put your cooking code into the Code section of the operator