
Outlawed
Members-
Content count
16 -
Donations
0.00 CAD -
Joined
-
Last visited
Community Reputation
1 NeutralAbout Outlawed
-
Rank
Peon
Personal Information
-
Name
David
-
Location
Canada
-
Possible to map full frame to a specific tile?
Outlawed replied to Outlawed's topic in Lighting & Rendering
I'll have a look at those. Here's a summary of what I'd like to do: After seeing the Katana 4.0 sequence overview stuff (https://youtu.be/RcU4pqwEmTc?t=78) I thought I'd try and see if something similar was possible in Solaris. Using context options, you could easily loop through a handful of shots and hit the ‘Render to Mplay’ Button. To display all the running renders at the same time though seems to be the tricky bit. A couple of approaches crossed my mind; 1. Use COPs to pull in the renders as they are happening (currently only works with Mantra, and only 1 render at a time) 2. Use the MPlay window to display the renders using the 4x4 layout (have to manually choose which square the active render goes to) 3. Tiling the cameras (would need some mechanism for getting the whole camera frame to render to a single tile) 4. Save the image file somewhere, and pull the finished renders into into a Mosaic COP (defeats the idea of seeing the renders progress in real time) -
Obviously this goes against the concept of what tiled renders are used for, but I was wondering if it's possible to somehow render the entire camera frame inside only one tile of a tiled render? And then map a separate camera to the next tile and so on. Thoughts?
-
Tips to speed up environment lights on volumes? Old-school tricks?
Outlawed replied to Nicholas Ralabate's topic in Lighting & Rendering
Some tips here: https://www.sidefx.com/forum/topic/76269/?page=3#post-327292 -
Python getting a node name vs getting an instance?
Outlawed replied to Outlawed's topic in Scripting
Argh so simple. Thanks Tomas! -
Python getting a node name vs getting an instance?
Outlawed replied to Outlawed's topic in Scripting
Okay, I converted it to a tuple, but it still throws an error. you can see that when it prints the type, they both say <type 'tuple'> but mytup has quotation marks when it prints - is this what's causing it to not successfully run the hou.copyNodesTo command? if(hou.selectedNodes()): selected = hou.selectedNodes() nodeToCopy = repr(hou.node('/obj/geo1')) a = [nodeToCopy] mytup = tuple(a, ) w = type(selected) x = type(mytup) print selected print w print mytup print x #print "Selected is " + str(selected) #print "Node to copy is " + str(mytup) objlevel = hou.node("/obj") low = hou.copyNodesTo(mytup, objlevel) -
Python getting a node name vs getting an instance?
Outlawed replied to Outlawed's topic in Scripting
Looks like I need to somehow convert the nodeToCopy to a tuple. Is that correct? -
Python getting a node name vs getting an instance?
Outlawed replied to Outlawed's topic in Scripting
That is EXACTLY what I was after! Thanks Tomas! Although one returns a tuple, and the other returns a single instance Taking it the next step however, gives an error: if(hou.selectedNodes()): selected = hou.selectedNodes() nodeToCopy = repr(hou.node('/obj/geo1')) print "Selected is " + str(selected) print "Node to copy is " + str(nodeToCopy) objlevel = hou.node("/obj") low = hou.copyNodesTo(nodeToCopy, objlevel) -
Ok, this is a simple question, but I've been out of python for so long, I've lost touch. I have a node called geo1. When I run the following script, i'd like the "Node to copy is" to give the same result of "Selected is" ( I think one is called 'getting an instance', and the other is just returning the node name). Noob question I know. if(hou.selectedNodes()): selected = hou.selectedNodes() nodeToCopy = hou.node('/obj/geo1') print "Selected is " + str(selected) print "Node to copy is " + str(nodeToCopy) Instead it returns: Selected is (<hou.ObjNode of type geo at /obj/geo1>,) Node to copy is geo1 How do I get the same return when giving an explicit node path?
-
Is there a button on the node to execute the operation? You might need something like pressButton() For example, if I was executing a ROP to press the 'Render to Disk' button: hou.parm('/out/mantra/execute').pressButton() I don't have Hou 17 in front of me to test
-
Here's something I wrote a while ago, should be what you're looking for ####################################################################### ## Create a node and connect it to the selected node ## ####################################################################### ''' "xform" is the node().type().name() "transform" is what I want to call the name. ''' if(hou.selectedNodes()): sopnode = hou.selectedNodes()[0] # print sopnode parentpath = sopnode.parent().path() myxform = hou.node(parentpath).createNode('xform','transform') next_input = sopnode.outputs() orig_pos = sopnode.position() new_pos = (orig_pos[0]-1, orig_pos[1]-1) # print next_input for i in next_input: file_node = i.inputs() for p in file_node: myxform.setFirstInput(sopnode) myxform.setPosition(new_pos) #xform.moveToGoodPosition() #######################################################################
-
You can write a .py file to load a hipfile, set render frame ranges etc, and execute the ROP ( pressButton() command ). Save that .py file on disk, then just run: hython /path/to/your/file.py Hython is the non-gui python version of Houdini. Just like how hbatch is the Hscript non-GUI version of Houdini.
-
This will select the OBJ-level nodes that have their Display Flag set to True" OBJ = hou.node("/obj") objnodes = OBJ.children() mylist = [] for n in objnodes: print n if n.isDisplayFlagSet() == True: mylist.append(n) print mylist for i in mylist: hou.ObjNode.setSelected(i, 1)
-
Locate the Network Editor Screen Position ( but Not Zoom on it )
Outlawed replied to gemini's topic in Scripting
Drag your network view pane tab into the python shell. It will say something like hou.ui.findPaneTab('panetab7') Something like the following should get you started: a = hou.ui.findPaneTab('panetab7') b = hou.NetworkEditor.screenBounds(a) hou.NetworkEditor.setVisibleBounds(a, b, transition_time=0.0, max_scale=0.0, set_center_when_scale_rejected=False) -
hou.node("/obj/geo1/file1").type().name() Drop that in the python shell. it will return the operator type name. Or just hou.node("/obj/geo1/file1").type()
- 2 replies
-
- createnode
- code
-
(and 1 more)
Tagged with:
-
But the USD issue still stands. Or can it take .abc and internally convert it on the fly?