Hey guys,
SideFX hasn't added a node to create array attributes in H20 and as noted in one of Max Rose's videos about the new tags system for apex, setting array attributes in vex is slow and cumbersome.
That's why I've built the first version of what could be an attribute adjust array (sop) node, and I'm sharing it here since it may be useful for others as well, the same way Max Rose's videos helped me.
Any feedbacks and bug submissions are always welcome.
Here's a quick video showing how it works:
Found 184 posts.
Search results Show results as topic list.
Rigging » Attribute Adjust Array
- guilhermecasagrandi
- 263 posts
- Offline
Solaris and Karma » Karma Shadow Matte
- guilhermecasagrandi
- 263 posts
- Offline
Mirko JankovicI think you'll have to dig into the background plate (if you want to do that without the bkg plate), but the workflow remains the same, just use the background plate to set the shadow matte output. Not it works with XPU too.
Hello!
Wondering if there is any progress on this topic? I've started another topic as well and just run into this one too. Seems a bit cumbersome not to have proper shadow catcher as it is such a basic thing to have?
Edited by guilhermecasagrandi - Nov. 16, 2023 08:34:29
Technical Discussion » Inspecting FBX files by code [?]
- guilhermecasagrandi
- 263 posts
- Offline
Ended up using the dirty solution of importing the file on sops using the fbx animation to get the clipinfo attribute with the info I need (frame-range and fps). Let's see if this workflow will hold....
Technical Discussion » Inspecting FBX files by code [?]
- guilhermecasagrandi
- 263 posts
- Offline
edward
There's no other tools, Houdini uses the FBX SDK directly in C++ code. And obviously, there would be issues with us shipping the FBX SDK
Thanks, I'm not sure about how is the fbx licensing this days. But I found this: https://pypi.org/project/py-fbx/ [pypi.org]
Technical Discussion » Inspecting FBX files by code [?]
- guilhermecasagrandi
- 263 posts
- Offline
edward
I've never tried it but there's the FBX python module that comes with the FBX SDK:
- https://download.autodesk.com/us/fbx/20112/fbx_sdk_help/index.html?url=WS1a9193826455f5ff453265c9125faa23bbb5fe8.htm,topicNumber=d0e8312 [download.autodesk.com]
- https://aps.autodesk.com/developer/overview/fbx-sdk [aps.autodesk.com]
Great, thanks, but what about the package SESI uses for their tools? I thought we could access that
Technical Discussion » Inspecting FBX files by code [?]
- guilhermecasagrandi
- 263 posts
- Offline
Hi,
We have a lot of tools to work with ABC files, like stand-alone tools or python libraries that ships with Houdini, but what about FBX files? I haven't found anything...
We have a lot of tools to work with ABC files, like stand-alone tools or python libraries that ships with Houdini, but what about FBX files? I haven't found anything...
Houdini Lounge » Integrating Pycharm with houdini tutorial?
- guilhermecasagrandi
- 263 posts
- Offline
indigosm
so in the newer pycharm, they moved stuff around in the python interpreter / project structure windows. has anyone found how you're supposed to add the hou library now?
i thought adding the python3.7libs dir to the 'project structure' and then marking the dir as 'sources' would get it to work, but nope. if i type in hou., i get no real autocompletes.
I'm using vscode and I'm quite happy (for several years now). The hou module works (somewhat) ok, since it doesn't always knows the type of instance you are referring to. Plus, we have a VEX extension for function autocompletion.
On vcs code, you should add (preferences->python->python settings) "$HFS\\houdini\\python3.9libs" on "python.analysis.extraPaths" list.
If you really need to use PyCharm, It'd probably have a similar way to add the path to the python environment.
Technical Discussion » Remove HDA from TAB search
- guilhermecasagrandi
- 263 posts
- Offline
jsmack
you could name the tool with untypeable characters to make it impossible to use type ahead filtering.
That would be my last resort, but I prefer a less hacky solution! haha.
Technical Discussion » Remove HDA from TAB search
- guilhermecasagrandi
- 263 posts
- Offline
Hi,
I need to remove some low-level tools from the TAB Search, but keep them showing in the submenu. Is it possible to have both behaviors happening together?
I need to remove some low-level tools from the TAB Search, but keep them showing in the submenu. Is it possible to have both behaviors happening together?
PDG/TOPs » Topnet freezes before cooking
- guilhermecasagrandi
- 263 posts
- Offline
send at least a picture of your network, please. It's hard to find the solution without further understanding what's happening.
Technical Discussion » Node pasted event callback?
- guilhermecasagrandi
- 263 posts
- Offline
jparker
I've just implemented it for a project I'm working on. I tried both pasting and alt-dragging and my callbacks still work. This is Houdini 19.5 in Linux.
The code in that file is pretty simple:import my_callback import my_object if hou.isUIAvailable(): my_callback(kwargs['node'], my_object)
Thanks for letting me know. I'll give it another try.
Technical Discussion » Node pasted event callback?
- guilhermecasagrandi
- 263 posts
- Offline
jparker
If you specifically want an action done when pasting, can't you use the "OnLoaded" event type?
https://www.sidefx.com/docs/houdini/hom/locations.html#event-types [www.sidefx.com]
If you put it in "$HOUDINI_PATH/scripts/OnLoaded.py" it should run any time a node is loaded or pasted.
-Jon
Have you tried that? Because in my tests this action was not triggered when (alt + drag) copying.
Solaris and Karma » Viewport OGL Render?
- guilhermecasagrandi
- 263 posts
- Offline
malexander
Use the OpenGL ROP. It handles LOPs and OBJs.
Sorry about that, I've missed that one.
Thanks!
Solaris and Karma » Viewport OGL Render?
- guilhermecasagrandi
- 263 posts
- Offline
Hi,
Is it possible to render the ogl from the resulting USD or from the in-memory USD using rops? Something like the ogl render or even the USD render ROP, but with the ogl delegate?
I'm trying to avoid the viewport capture.
Thanks!
Is it possible to render the ogl from the resulting USD or from the in-memory USD using rops? Something like the ogl render or even the USD render ROP, but with the ogl delegate?
I'm trying to avoid the viewport capture.
Thanks!
Technical Discussion » Node pasted event callback?
- guilhermecasagrandi
- 263 posts
- Offline
graham
Unless things have changed in recent versions, unfortunately there's no proper form of callbacks to easily tap into in regards to network editor actions which means you're pretty much forced to implement it on your own via a custom node graph event handler similar to this:
https://github.com/captainhammy/Houdini-Toolbox/blob/master/houdini/python3.7libs/nodegraphhooks.py [github.com]
It's been a while since I messed with any of that stuff and mostly don't recall how it works anymore. That file basically registers a custom handler that will do certain things otherwise defers the default Houdini handler. I believe that due to the way the default Houdini handler stuff was implemented it was pretty much impossible to just call their code while adding in your own hooks so it required making a copy of a bunch of the Houdini code to handle the actual pasting the way they do (nodegraph.handle_houdini_paste_event) and then eventually doing something that you want to do, which in this case was me emitting a callback for my own crappy callback system.
I recall it was a bit of a pain to figure out and a lot of diving into various places but we eventually figured out something that worked well enough for our goals.
Thanks for the great info, although the news is a bit sad! haha.
Technical Discussion » Node pasted event callback?
- guilhermecasagrandi
- 263 posts
- Offline
Hi,
I'm doing some hdas for pipeline stuff, and I need to run some python code when a node is created. It works well when the node is created but not when It's copied and pasted (by ctrl+c->ctrl+v or alt drag). Since a new node is being created, shouldn't the onCreated callback be called in the situation or I am missing something here?
I haven't found any suitable callback either.
I'm doing some hdas for pipeline stuff, and I need to run some python code when a node is created. It works well when the node is created but not when It's copied and pasted (by ctrl+c->ctrl+v or alt drag). Since a new node is being created, shouldn't the onCreated callback be called in the situation or I am missing something here?
I haven't found any suitable callback either.
PDG/TOPs » Port (parameter) evaluation dirtying work items
- guilhermecasagrandi
- 263 posts
- Offline
Hi,
I have an hda that I'm using parameters to update some work item attributes. For that, I've duplicated the parameters from the hda to the python script node inside, and than I referenced the parameters using hscript channel references.
When I evaluate the hda, with the python script node reading the attributes using the pdg port method, It makes the work item dirty right after evaluation (in-process). Just after a second cook, It will change the WI state as cooked (bright green).
I've done the same thing, but instead reading the channels using the hou module, and the behavior changes. The work item is marked as cooked (bright green) right in the first cook.
Am I missing something here or It's a bug? Shouldn't It mark as cooked (bright green) in the first cook using both methods?
I have an hda that I'm using parameters to update some work item attributes. For that, I've duplicated the parameters from the hda to the python script node inside, and than I referenced the parameters using hscript channel references.
When I evaluate the hda, with the python script node reading the attributes using the pdg port method, It makes the work item dirty right after evaluation (in-process). Just after a second cook, It will change the WI state as cooked (bright green).
I've done the same thing, but instead reading the channels using the hou module, and the behavior changes. The work item is marked as cooked (bright green) right in the first cook.
Am I missing something here or It's a bug? Shouldn't It mark as cooked (bright green) in the first cook using both methods?
Technical Discussion » Output connection changed callback (?)
- guilhermecasagrandi
- 263 posts
- Offline
Hi,
Do we have any callback option for when the output connector of a node changes?
Basically, I'm developing some TOP tools and I want a different behavior when the node has an output node connected to It.
At least in the HDA callbacks, I didn't find any option, nor in the python callback functions.
Do we have any callback option for when the output connector of a node changes?
Basically, I'm developing some TOP tools and I want a different behavior when the node has an output node connected to It.
At least in the HDA callbacks, I didn't find any option, nor in the python callback functions.
Solaris and Karma » Dashes in prim paths?
- guilhermecasagrandi
- 263 posts
- Offline
mtucker
I also can't find it in the USD docs, but dashes are not valid in USD primitive paths:>>> from pxr import Sdf >>> Sdf.Path.IsValidIdentifier('foo-bar') False
Thanks mtucker!
I'll change the paths to take that into account and avoid future problems.
Solaris and Karma » Dashes in prim paths?
- guilhermecasagrandi
- 263 posts
- Offline
Hi,
I've been developing the next big upgrade in our studio's pipeline to conform with Autodesk's Shotgrid defaults.
The thing is: SG uses underlines as path separators, so using dashes (-) is allowed with some effort.
Therefore, we've changed all our defaults to start using dashes as opposed to camelCase, since in our opinion, improves readability.
We've tested that with alembics and everything was OK, but It was a surprise when we noticed that in solaris the primitive's paths dashes were being replaced by underlines.
I didn't find anything in the USD docs so far, but is that something in the usd definition, or It's just in Solaris?
I've tested saving an alembic and sublayering It, and Solaris does change It too, not just the sop path attribute.
So, I really want to know if I need to change my paths from dashes to underlines at some point or if there is some way to use dashes in the prim paths.
I've been developing the next big upgrade in our studio's pipeline to conform with Autodesk's Shotgrid defaults.
The thing is: SG uses underlines as path separators, so using dashes (-) is allowed with some effort.
Therefore, we've changed all our defaults to start using dashes as opposed to camelCase, since in our opinion, improves readability.
We've tested that with alembics and everything was OK, but It was a surprise when we noticed that in solaris the primitive's paths dashes were being replaced by underlines.
I didn't find anything in the USD docs so far, but is that something in the usd definition, or It's just in Solaris?
I've tested saving an alembic and sublayering It, and Solaris does change It too, not just the sop path attribute.
So, I really want to know if I need to change my paths from dashes to underlines at some point or if there is some way to use dashes in the prim paths.
-
- Quick Links