Jump to content

Stalkerx777

Members
  • Posts

    455
  • Joined

  • Last visited

  • Days Won

    15

Stalkerx777 last won the day on February 12 2021

Stalkerx777 had the most liked content!

About Stalkerx777

  • Birthday 03/02/1984

Contact Methods

  • Skype
    alexx_houdini

Personal Information

  • Name
    Alex Rusev
  • Location
    Vancouver, Canada

Recent Profile Visitors

11,167 profile views

Stalkerx777's Achievements

Newbie

Newbie (1/14)

168

Reputation

  1. It's easier to use a String type parameter (with a menu) for this instead of ordered menu. This way, eval() will return a string.
  2. Yeah you pretty much answered your own question, VEX can do A LOT these days. It wasn't that far ago when it could only iterate over points and that was it. Now you have vertex, primitive, detail, volume iteration. Wrangle SOPs also didn't exist then. These days, C++ operators are used primarily for proprietary studio data exchange. Over more than a decade, we at Imageworks wrote hundreds of custom DSOs for Houdini, many of which we still support out of necessity and artist habits, but we haven't written a single new C++ operator for the last ~5 years I think. One thing that you still C++ for is multidimensional sparse matrices for some advanced solver hackery, which are lacking in VEX.
  3. 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.
  4. Try using relative import istead. from . import projWindow
  5. 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.
  6. Asset Manager -> Right Click-> Duplicate
  7. 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++.
  8. 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.
  9. hou.ui.selectFromTree() https://www.sidefx.com/docs/houdini/hom/hou/ui.html
  10. 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)
  11. labelExpression should be used when you want to dynamically show/hide menu items, main script should go under scriptCode or scriptPath tags
  12. 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.
  13. 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/
  14. Hey old-timers It's been 13 years since I joined, oh man, time flies huh?
×
×
  • Create New...