Output PATH with "Paste Relative Reference" not working (HOUDINI)

Hello peeps,

I am on a weird case and I would like some light or help on that.
When I render straight out of my Houdini ROPoutput with the following outputPATH:

It creates an intermediate folder as expected.
When I render it via my deadline node, it does not create the intermediate folder and just right the files at the path location minus the Relative Reference.

Any idea why ? I got the feeling that it is because of the Python nature of deadline node not recognizing the reference as a python code ? If the case, that is a big issue in my point of view. Deadline node should take wahtever is in the ROP attached to it no ?

Tanguy

Any ideas or nobody want to answer a basic obvious question ?
Here is the path:
/mnt/Clients/BlackCrown/RnD_Houdini/_RENDERS/“chs(”…/…/obj/null1/sku")’/TestROP.png

Tanguy

Hi
It looks like the quotes surrounding the chs-expression is not of the same type. The first one is double and the second is a single. Maybe that causes the problem?

Regards
Bonsak

1 Like

They should both be backticks ( ` ), not single ( ’ ) or double ( " ) quotes. Also make sure that the parameter is set to hscript style expression evaluations.

with this output :slight_smile:

/mnt/qnap/Clients/_BlackCrown/RnD_Houdini/_RENDERS/‘chs("…/…/obj/null/folder")’/testROP.png

It is not working, I had it right but I typed it wrong,
Deadline is not creating the intermediate folder specified with ‘chs("…/…/obj/null/folder")’

What would be the equivalent command to run in python instead of hscript ? I am wondering if the issue is not coming from there

FYI you still have single quotes, not backticks in the expression (which might be a limitation of the sw running this forum). And also you have triple-dots instead of double-dots – should be …/…/obj/null/folder

I assume you’ve tried MMB clicking on the parameter in Houdini to make sure it evaluates to the right place. One way to test is to temporarily replace it with an expanded string. Another step is to put the chs("…/…/obj/null/folder") into a custom parameter, e.g. ‘foldername’, so that your resulting expresssion is somewhat simplified to:

/mnt/qnap/Clients/_BlackCrown/RnD_Houdini/_RENDERS/chs("foldername")/testROP.png

Yeah, backtick on the forums is the code for preformatted text, hah!

Hi Antoine, thank you for taking the time.
I do have my relative reference properly pasted in my ROP output, when I run the ROp render straight of the ROP node, it creates automatically the right folder.
I think it is an issue with how Deadline reads the ROP value, but I am not sure.
I was wondering of switching to python my ROP node would help, but I don’t know yet how to manage that in python.
My actual relative reference is a string I add onto a NULL object and I feed that from there to any parameters I need in my setup.

Is it what you mean for custom parameter or is it something else ?

Thank you !

Sooo. It looks like I found a work around by adding double " instead of single.
Instead of :
/mnt/qnap/Clients/_BlackCrown/RnD_Houdini/_RENDERS/chs("../null1/folderName")/testROP.png

I used:
/mnt/qnap/Clients/_BlackCrown/RnD_Houdini/_RENDERS/chs(""../null1/folderName"")/testROP.png

and it workls but give me an error in return on the deadline node but the render works and goes trhough.

I’d bet that what’s causing this is the path mapping that Deadline does – it goes through your .hip file and changes paths, and I suspect it’s getting tripped up with an old-school `chs()` expression.

There’s an updated hrender_dl.py from AWS Thinkbox, but I believe it only puts the file into manual cook mode, then does the path mapping. I commented out all the path mapping business in our own hrender_dl.py to avoid the 10+ minute startup times on sims cooking on the queue.

– Antoine

P.S. finally figured out how to get backticks ( ` ) into these forums – prepend with a backslash, e.g. \`

1 Like

But I noted as well that if I call a relative reference in OBJ from OUT, it is erroring, so I succeeded by migrating my relative reference null inside OUT, so I got a …/ and mot a …/…/

As a workaround, do you absolutely need to use a relative reference? Couldn’t you just do an absolute reference, e.g.

`chs("/obj/null1/myparmstring")`

The only time I use relative references is within an OTL. I have plenty of them in various OTLs and they seem to be working ok with DL. I never try to reach across networks with a relative reference.

1 Like
Privacy | Site terms | Cookie preferences