This occurs when setting your mantra node to save out diffrent files when the files types are the same as the main output.
To be honest the naming of different files should not take on the VEX variables channel name in anyway unless specfied i.e when a name has been added to the channel name.
I think this comes from the change that allowed us to save out different exr files rather then the one multilayer exr.
I can hazard a guess that the code is checking if the file type is EXR and the extra image planes are saving out diffrent file name with exr its using the channel naming that is used for saving a multilayered exr file.
Seems like this is a bug or we need a RFE. Does anyone know of any work arounds? As I cant see one and its really nasty to be honest, the fact digital fusion doesnt open these correctly with out manualy setting the R G B channel names and they dont open at all in photoshop.
Thanks
Nick
Found 90 posts.
Search results Show results as topic list.
Technical Discussion » Image Planes and Channel Names
- niko3d
- 338 posts
- Offline
Technical Discussion » possible bug? global variables and setEnv
- niko3d
- 338 posts
- Offline
I still think that there is a problem with the global var not updating, outwith the cooking issue that simon describes which i have found also. There is an underlying problem with the setup i have supplied due to how houdni works (discussed below) The problem isnt with the varchange command as it is the global var that doesnt update so varchange becomes useless, as in if the variable doesnt change it wont update anything anyway.
Bug or not.. from what ive been told from support about this method is it really shouldnt be used. This is due to how houdini evaluates the parms and how it cooks nodes.
This is good explaination of how houdini cooks and evaluates parameters that support gave me. Which kinda points to why a set up like this doesnt really “work”.
Cheers for the thoughts on this :¬)
Nick
Bug or not.. from what ive been told from support about this method is it really shouldnt be used. This is due to how houdini evaluates the parms and how it cooks nodes.
This is good explaination of how houdini cooks and evaluates parameters that support gave me. Which kinda points to why a set up like this doesnt really “work”.
all cooking in Houdini is done on a “pull” basis. When a parameter is changed, it is propagated to all nodes and parameters which reference the changed parameter (either directly or indirectly), to only *mark* them as being “dirty”, or “out of date”.
When you have a Viewer pane open, the viewer notices that the nodes it cares about are “out of date”, which then asks for the displayed nodes to recook. Only at this point, do the parameters get evaluated. If there is a spare parameter that isn't used by any node for cooking purposes, it will only ever be evaluated by the Parameter (or some other) pane. For example, nodes do not cook when the .hip file is loaded in hbatch until a ROP is told to render. Also, nothing will cook if you only have a Network pane. You can confirm this yourself by observing the Performance Monitor when changing a parameter with only the Network pane open (ie. with no other panes in your desktop). In short, cooking is only done when *necessary*.
In your scene, the nodes are cooking because if the Parameter pane happens to evaluate the varchange expression/command, that will cause nodes to be marked as “out of date”. Then the Viewer notices that the nodes are out of date and will ask them to recook. If there's no parameter pane that evaluates your spare parameter, then nothing will recook because the varchange expression would not have been run.
Even if using global variables in this way worked the way you're thinking, my gut feeling is that it would make your .hip files harder to debug in the long run. It would become very hard to determine the interdependencies between the nodes since any expression can change the global variable. When channel references are used, these dependencies are explicit, then at least one has a chance to trace them. In programming, it is commonly accepted that using global variables leads to unmaintainable code. In Houdini, I'd imagine the same.
Cheers for the thoughts on this :¬)
Nick
Technical Discussion » Mantra HDA problems and incorrect opengl driver
- niko3d
- 338 posts
- Offline
In regards to extra image planes on mantra digital asset, there does seem to be a bug where they arent propergated from the interface to teh mantra node.
I was given a work around to the bug from support. I was using opcook before which doesnt do anything on a rop network, as nothing cooks as such. So instead to force my mantra node to pick up the extra image planes intial change I was told to use.
root=hou.pwd()
hou.node(root.path()+'/mantra1').parmTuple(“vm_numaux”).eval()
This solves the problem thankfully :¬)
Opengl errors when running certain commands I think are nvidia geforce win 64bit driver problems?? has anyone solved this without changing to a quadro?
Cheers
Nick
I was given a work around to the bug from support. I was using opcook before which doesnt do anything on a rop network, as nothing cooks as such. So instead to force my mantra node to pick up the extra image planes intial change I was told to use.
root=hou.pwd()
hou.node(root.path()+'/mantra1').parmTuple(“vm_numaux”).eval()
This solves the problem thankfully :¬)
Opengl errors when running certain commands I think are nvidia geforce win 64bit driver problems?? has anyone solved this without changing to a quadro?
Cheers
Nick
Technical Discussion » possible bug? global variables and setEnv
- niko3d
- 338 posts
- Offline
Yeah i wanted to avoid hardcoding full/relative paths into assets which is what we reverted to now :¬/ So this global var issue is normal?
Technical Discussion » possible bug? global variables and setEnv
- niko3d
- 338 posts
- Offline
Really would be great to figure out how to set global variables with some stabilty. Im guessing my problem could be a depenedancy issue?
Anyone have any thoughts on how best todo what ive got in my example scene if this is the case?
Thanks
Nick
Anyone have any thoughts on how best todo what ive got in my example scene if this is the case?
Thanks
Nick
Technical Discussion » possible bug? global variables and setEnv
- niko3d
- 338 posts
- Offline
Heres an example hip file of what im trying todo.
Basically Im building a global variable based on the name of the first 2 nodes jim and bob, using $OS .
The fullName node takes the naming results of both nodes and puts them together. Then sets a global var based on the compiled names.
Keep an eye on the alaises and variables windows.
For quickness I added an anooying message pop up to another node based on the gloabl var, so when it cooks etc it displays the $WHOAREYOU variable.
Just play with changing the names of the nodes and it will start not updating the global variable at times, and eventualy stops working completely.
Basically you can see that the names change on the node causes the network to cook and display the message but it hasnt updated the varaible.
Im using windows xp 64 and houdini 9.1.145
Any help with whats going would be great. Im basically wanting to pass some compiled data to a mantra node using global vars and also for overall shader control. Without having to channel reference.
Thanks
Nick
Basically Im building a global variable based on the name of the first 2 nodes jim and bob, using $OS .
The fullName node takes the naming results of both nodes and puts them together. Then sets a global var based on the compiled names.
Keep an eye on the alaises and variables windows.
For quickness I added an anooying message pop up to another node based on the gloabl var, so when it cooks etc it displays the $WHOAREYOU variable.
Just play with changing the names of the nodes and it will start not updating the global variable at times, and eventualy stops working completely.
Basically you can see that the names change on the node causes the network to cook and display the message but it hasnt updated the varaible.
Im using windows xp 64 and houdini 9.1.145
Any help with whats going would be great. Im basically wanting to pass some compiled data to a mantra node using global vars and also for overall shader control. Without having to channel reference.
Thanks
Nick
Technical Discussion » Mantra HDA problems and incorrect opengl driver
- niko3d
- 338 posts
- Offline
Heys guys Ive hit another issue with multiparms in a custom Mantra Digital asset ive built.
When I create My HDA and I bring up the mantra “extra image planes” to my HDA interface, and add my image planes as usual. It Looks to work fine, but when i render, my extra image planes dont output at all. I basicaly can only see the main colour image in mplay.
To fix this issue, I have to dive into the digital asset and jump back up again to cook the interface changes. I then can render and my image planes appear as expected.
I tried using the opcook command but this returns an incorrect opengl driver version error.
So I used pythons hou.Node.cook but this doesnt make a difference. I still need to dive into the HDA to update the imageplanes.
so part of my script that helps with the HDA interface I have this code.
root=hou.pwd()
hou.node(root.path()+'/mantra1').cook()
So I guess my three questions are.
1. Why doesnt my HDA interface update the mantra1 node inside it when I edit the the Multiparm for extra image planes?
2. My self and most others here are getting this wrong opengl driver issues with specfic commands, a good example is the layoutnode commands in python and hscript.
3. If im using
root=hou.pwd()
hou.node(root.path()+'/mantra1').cook()
Why doesnt this cook my mantra nodes interface changes?
Im using houdini 9.1.145 on windows xp 64bit
Thanks
Nick
When I create My HDA and I bring up the mantra “extra image planes” to my HDA interface, and add my image planes as usual. It Looks to work fine, but when i render, my extra image planes dont output at all. I basicaly can only see the main colour image in mplay.
To fix this issue, I have to dive into the digital asset and jump back up again to cook the interface changes. I then can render and my image planes appear as expected.
I tried using the opcook command but this returns an incorrect opengl driver version error.
So I used pythons hou.Node.cook but this doesnt make a difference. I still need to dive into the HDA to update the imageplanes.
so part of my script that helps with the HDA interface I have this code.
root=hou.pwd()
hou.node(root.path()+'/mantra1').cook()
So I guess my three questions are.
1. Why doesnt my HDA interface update the mantra1 node inside it when I edit the the Multiparm for extra image planes?
2. My self and most others here are getting this wrong opengl driver issues with specfic commands, a good example is the layoutnode commands in python and hscript.
3. If im using
root=hou.pwd()
hou.node(root.path()+'/mantra1').cook()
Why doesnt this cook my mantra nodes interface changes?
Im using houdini 9.1.145 on windows xp 64bit
Thanks
Nick
Technical Discussion » possible bug? global variables and setEnv
- niko3d
- 338 posts
- Offline
I will post a simpler example of what im trying to achieve, later on today. Should be alot easier to see whats going on.
Thanks
Nick
Thanks
Nick
Technical Discussion » possible bug? global variables and setEnv
- niko3d
- 338 posts
- Offline
From what i can see its not the nodes picking up the change in variable thats the problem. If i check the variables in the alias and variables window the actual variable hasnt updated.
Could this be down to the expression not cooking when i change the parameter its refrencing?
Cheers
Nick
Could this be down to the expression not cooking when i change the parameter its refrencing?
Cheers
Nick
Technical Discussion » possible bug? global variables and setEnv
- niko3d
- 338 posts
- Offline
Hey guys
I have a problem with my global Variables not updating. I created a HDA that generates global variables based on other HDA parameters by running the setenv hscript command in an expressions. The Variables update the first 2 or 3 times if im lucky then stop completly. Has anyone else had this issue. I also tried using varchange to force the variables to update the nodes that use them but as the variable doesnt update that didnt make a diffrence.
has anyone got any examples of doing this another way. Im channel referencing a parameter inside the setenv command.
Cheers
Nick
I have a problem with my global Variables not updating. I created a HDA that generates global variables based on other HDA parameters by running the setenv hscript command in an expressions. The Variables update the first 2 or 3 times if im lucky then stop completly. Has anyone else had this issue. I also tried using varchange to force the variables to update the nodes that use them but as the variable doesnt update that didnt make a diffrence.
has anyone got any examples of doing this another way. Im channel referencing a parameter inside the setenv command.
Cheers
Nick
Technical Discussion » RFE:digital asset to support paint and comb sops
- niko3d
- 338 posts
- Offline
Something that i dont quite get, HDAs are meant to be static? But through the top level interface we can edit parameters, that link down into the HDA content, changing its values on the nodes.
Take a value that edits a point nodes colour and normal values. This changes the attributes values, in the same way a paint node and comb node will do. What cause the issue I suppose is storing the changes, but this isnt much diffrent to storing changes on an interface just on larger scale i.e storing an array of colour or normal values. But we wouldnt be changing the contents directly ala deleting, reconfigureing the node network.
This is quite specfic issue with mainly edit,paint,sculpt and comb tools i guess. I agree that this would be very usefull to have supported in a HDA.
One method of a work around if i rememeber right(correct me if im wrong) would be to change the paint node inside of the HDA in a take. Other wise you will have to input your painted geomatry externally and object merge into the HDA.
Cheers
Nick
Take a value that edits a point nodes colour and normal values. This changes the attributes values, in the same way a paint node and comb node will do. What cause the issue I suppose is storing the changes, but this isnt much diffrent to storing changes on an interface just on larger scale i.e storing an array of colour or normal values. But we wouldnt be changing the contents directly ala deleting, reconfigureing the node network.
This is quite specfic issue with mainly edit,paint,sculpt and comb tools i guess. I agree that this would be very usefull to have supported in a HDA.
One method of a work around if i rememeber right(correct me if im wrong) would be to change the paint node inside of the HDA in a take. Other wise you will have to input your painted geomatry externally and object merge into the HDA.
Cheers
Nick
Technical Discussion » bug, clearing removing multparm can cause crashes
- niko3d
- 338 posts
- Offline
Is anyone getting crashes when removing multiparms on nodes? Ive customised the interface of a mantra rop and randomly when clearing all the multiparms, removing one or adding one at a time. I get a crash with this error.
1704: Fatal error: Segmentation Fault
Its a repeatable crash on my machine.
Running on windows xp 64bit and houdini 9.1.145
Cheers
Nick
1704: Fatal error: Segmentation Fault
Its a repeatable crash on my machine.
Running on windows xp 64bit and houdini 9.1.145
Cheers
Nick
Technical Discussion » multiparm folder instance number and hscript/python
- niko3d
- 338 posts
- Offline
This sounds like what i need, im basically wanting to use a button to generate a folder structure based on a multiparm file path of the same instance. I will give this a shot
Thanks Mark.
Nick
Thanks Mark.
Nick
Technical Discussion » multiparm folder instance number and hscript/python
- niko3d
- 338 posts
- Offline
Hey im trying to run a buttons call back script that can use the multiparm folder instance number in python or hscript.
Im basically creating a button to do something with a specfic instance of a parameter.
If we cant do this i was thinking one way around the problem is to find out what button called the script? is that possible? I guess something similer to hou.pwd but for the button that is calling the script.
Anyhelp would be great.
Cheers
Nick
Im basically creating a button to do something with a specfic instance of a parameter.
If we cant do this i was thinking one way around the problem is to find out what button called the script? is that possible? I guess something similer to hou.pwd but for the button that is calling the script.
Anyhelp would be great.
Cheers
Nick
Technical Discussion » bug? pythonrc.py and shelf tools
- niko3d
- 338 posts
- Offline
Cool, thanks for the tip on the houdini sessions Mark. I do agree they should have there seperate contexts and can see why that is. Keeping them seperate but still having access to the pythonrc imports sounds like what I expected from the shelf. Hopefully a RFE will get this sorted at some point :¬)
Cheers
Nick
Cheers
Nick
Technical Discussion » bug? pythonrc.py and shelf tools
- niko3d
- 338 posts
- Offline
Abit of a user error on my side there i think. Tho it does still seems alittle long winded to have to import your modules, or importing the pythonrc.py when they are imported automatically when houdini starts.
especailly if your having to do
import pythonrc
pythonrc.blahblah.myfunction(pythonrc.hoha.monkey(01,02))
thanks for clearing that up tho much appreciated.
I cant quite see the advantage of the tools not having access to the imported modules through pythonrc.py
It a shame and caught me off guard abit too.
Cheers
Nick
especailly if your having to do
import pythonrc
pythonrc.blahblah.myfunction(pythonrc.hoha.monkey(01,02))
thanks for clearing that up tho much appreciated.
I cant quite see the advantage of the tools not having access to the imported modules through pythonrc.py
It a shame and caught me off guard abit too.
Cheers
Nick
Technical Discussion » bug? pythonrc.py and shelf tools
- niko3d
- 338 posts
- Offline
hey Graham,
So to access all modules, a simple import pythonrc should cover everything. But when i test it it doesnt like importing pythonrc in the shelf? Or if it does the import call within pythonrc isnt working?
Something seems a little odd with modules and shelfs?
So to access all modules, a simple import pythonrc should cover everything. But when i test it it doesnt like importing pythonrc in the shelf? Or if it does the import call within pythonrc isnt working?
Something seems a little odd with modules and shelfs?
Technical Discussion » bug? pythonrc.py and shelf tools
- niko3d
- 338 posts
- Offline
Hey guys,
Im just wondering why the shelf tools dont recognise that I have imported my python module using the pythonrc.py at start up.
I can run what ever i want in the expression fields, in the shell with out having to import my module but as soon as I place it into the shelf it states its not defined?
I shouldnt have to import my module in the tool if its been imported by using pythonrc.py right?
Cheers
Nick
Im just wondering why the shelf tools dont recognise that I have imported my python module using the pythonrc.py at start up.
I can run what ever i want in the expression fields, in the shell with out having to import my module but as soon as I place it into the shelf it states its not defined?
I shouldnt have to import my module in the tool if its been imported by using pythonrc.py right?
Cheers
Nick
Technical Discussion » python external file refresh
- niko3d
- 338 posts
- Offline
Technical Discussion » python external file refresh
- niko3d
- 338 posts
- Offline
Hey guys,
A quick and pretty simple question. Is there a way to reload a python script after ive imported it into houdini?
I.e
import sopnet
change the external file sopnet.py and import it again to update the changes?
running “import sopnet ” again doesnt do this. So im guessing im missing something.
Thanks
Nick
A quick and pretty simple question. Is there a way to reload a python script after ive imported it into houdini?
I.e
import sopnet
change the external file sopnet.py and import it again to update the changes?
running “import sopnet ” again doesnt do this. So im guessing im missing something.
Thanks
Nick
-
- Quick Links