Thanks for the quick reply, Mark, but I'm new to packed primitives and so am not clear on how your suggestion solves my problem. If the files are saved as a sequence of bgeo files with naming like I indicated, I would still need to get them into the application, and so far it seems the only way to do that is thru the fileMerge, which can handle files named "scn02_sh06_${CLUSTER}_$F4.bgeo .
Apologies if I'm missing something - am reading up on packed prims now so maybe I'll understand your suggestion better in a day or two.
Found 21 posts.
Search results Show results as topic list.
Technical Discussion » Delayed Load Procedural shader and fileMerge question
- NYU_Animation
- 21 posts
- Offline
Technical Discussion » Delayed Load Procedural shader and fileMerge question
- NYU_Animation
- 21 posts
- Offline
Hello all,
I've got a smoke trail written out as a bgeo sequence, but it was created using clusters through HQUEUE, so AFAIK the files can only be read back in using a fileMerge. The file naming for the fileMerge is scn02_sh06_${CLUSTER}_$F4.bgeo, with the Merge Variable set to “CLUSTER”.
Does anyone know if there is a way to get the Delayed Load Procedural to read this sequence in? I've tried a number of variations for the FileName syntax but figure it's not working because the DLP can only read one file at a time.
Thanks for any tips!
I've got a smoke trail written out as a bgeo sequence, but it was created using clusters through HQUEUE, so AFAIK the files can only be read back in using a fileMerge. The file naming for the fileMerge is scn02_sh06_${CLUSTER}_$F4.bgeo, with the Merge Variable set to “CLUSTER”.
Does anyone know if there is a way to get the Delayed Load Procedural to read this sequence in? I've tried a number of variations for the FileName syntax but figure it's not working because the DLP can only read one file at a time.
Thanks for any tips!
Technical Discussion » Mantra command line arguments and IFD
- NYU_Animation
- 21 posts
- Offline
Hi Glassman3d, I just heard back from SESI and they suggested this:
import mantra
def filterInstance():
name = mantra.property('object:name')
if name == ‘/obj/grid_object1’:
mantra.setproperty('renderable', 0)
… which makes sense now that I see it.
Thanks for all your help!!
*EDIT* Anyone wanting to pass additional commands along through the Deadline Mantra submission script, don't start the command with “mantra”, start it with the first argument. Mine looks like
-P //Server/MainDirectory/pythonScript.py
import mantra
def filterInstance():
name = mantra.property('object:name')
if name == ‘/obj/grid_object1’:
mantra.setproperty('renderable', 0)
… which makes sense now that I see it.
Thanks for all your help!!
*EDIT* Anyone wanting to pass additional commands along through the Deadline Mantra submission script, don't start the command with “mantra”, start it with the first argument. Mine looks like
-P //Server/MainDirectory/pythonScript.py
Technical Discussion » Mantra command line arguments and IFD
- NYU_Animation
- 21 posts
- Offline
This is the simple snippet I came up with (thanks to your code!) but it's not quite there…
import os, errno, mantra
def filterGeometry():
mantra.setproperty('object:renderable', “/obj/geo1”, “0”)
but I get the error
RuntimeError: mantra: Expected 2 arguments for ‘setproperty’
This is getting me closer
import os, errno, mantra
def filterGeometry():
geo = “/obj/geo1”
mantra.setproperty('object:renderable', 0)
It hides ALL the geometry (cooking with gas now!).
The final piece, then, is how to make this “apply” to just the geo1 node.
import os, errno, mantra
def filterGeometry():
mantra.setproperty('object:renderable', “/obj/geo1”, “0”)
but I get the error
RuntimeError: mantra: Expected 2 arguments for ‘setproperty’
This is getting me closer
import os, errno, mantra
def filterGeometry():
geo = “/obj/geo1”
mantra.setproperty('object:renderable', 0)
It hides ALL the geometry (cooking with gas now!).
The final piece, then, is how to make this “apply” to just the geo1 node.
Technical Discussion » Mantra command line arguments and IFD
- NYU_Animation
- 21 posts
- Offline
glassman3d
You can call this command by saving the above in a python file called say “myFilters.py” then you can call
mantra -P myFilters.py - as your one line command in Deadline
are you familiar with python?
Thank you again! I'm certainly no Python expert, but I think I'm getting the gist of how your script works. I'll use it in tandem with the Python page you pointed out earlier and will see if I can cobble something together.
Thanks!
Technical Discussion » Mantra command line arguments and IFD
- NYU_Animation
- 21 posts
- Offline
glassman3d
i believe the best fit for hiding/unhiding would be to set the object as renderable or not using for the following property from the docs:
Houdini name vm_renderable
IFD name object:renderable
What a help, thanks glassman3d! I had seen that Properties page (should have mentioned it) but how to assemble the bits into a snippet of code is what's tripping me up. Not sure if you're familiar with Deadline but the Mantra entry window for addition commands is one line, so it appears I'd be limited in terms of what I can add to the submission window.
Technical Discussion » Mantra command line arguments and IFD
- NYU_Animation
- 21 posts
- Offline
Hi all,
I'm hoping someone can tell me if the following is possible:
I've got a sequence of IFD files (of a cloudy sky) that I want to submit as a Mantra render via Deadline. The Deadline submitter allows the user to specify command line arguments - I want to be able to set certain items in the IFD file as visible or not visible thru the command line so that I don't have to create a new IFD sequence for each “take”.
To make it clearer, as the Mantra engine consumes each IFD file in my sequence, I want to tell Mantra to hide Geo1 or show Geo2. Then with the same IFD sequence, I want to render a second pass but this time hide Geo2 and show Geo1.
I know I could break this up into takes and generate more than one IFD sequence but because I'm creating IFDs of volumes it takes a while to generate the IFDs and they're pretty hefty in terms of file size.
If this sounds possible, any command line examples you can share would be greatly appreciated! I saw this page (http://www.sidefx.com/docs/houdini13.0/render/batch) [sidefx.com] but I don't see any commands for “phantom” or “forceobject”.
I'm hoping someone can tell me if the following is possible:
I've got a sequence of IFD files (of a cloudy sky) that I want to submit as a Mantra render via Deadline. The Deadline submitter allows the user to specify command line arguments - I want to be able to set certain items in the IFD file as visible or not visible thru the command line so that I don't have to create a new IFD sequence for each “take”.
To make it clearer, as the Mantra engine consumes each IFD file in my sequence, I want to tell Mantra to hide Geo1 or show Geo2. Then with the same IFD sequence, I want to render a second pass but this time hide Geo2 and show Geo1.
I know I could break this up into takes and generate more than one IFD sequence but because I'm creating IFDs of volumes it takes a while to generate the IFDs and they're pretty hefty in terms of file size.
If this sounds possible, any command line examples you can share would be greatly appreciated! I saw this page (http://www.sidefx.com/docs/houdini13.0/render/batch) [sidefx.com] but I don't see any commands for “phantom” or “forceobject”.
Technical Discussion » HQUEUE client on OS X
- NYU_Animation
- 21 posts
- Offline
Thanks again, TK. That was a helpful article.
I had set up /Main Directory to load as a login item, so after restarting the machine it did show up in the /Volumes list as /Main Directory.
I assume I am right to format the file path in the Hqueue node as “/Volumes/Main Directory…” and not just “/Main Directory…” I'm just not getting how a user would set off a render on a PC, for instance, with the path to the hip file looking like “//Server/Main Directory…” and expect the Mac client machines to understand the path.
Thanks again for the help, tho!
I had set up /Main Directory to load as a login item, so after restarting the machine it did show up in the /Volumes list as /Main Directory.
I assume I am right to format the file path in the Hqueue node as “/Volumes/Main Directory…” and not just “/Main Directory…” I'm just not getting how a user would set off a render on a PC, for instance, with the path to the hip file looking like “//Server/Main Directory…” and expect the Mac client machines to understand the path.
Thanks again for the help, tho!
Technical Discussion » HQUEUE client on OS X
- NYU_Animation
- 21 posts
- Offline
Thanks so much, TK, that definitely helped! Hqueue now reports that it's finding Houdini but unfortunately I'm getting a different error when the clients try to open the file.
Here's the Hqueue command output:
The Houdini 13.0.343 environment has been initialized.
ERROR: Cannot open file /Volumes/MainDirectory/SubDirectory/hqueue_mac_test.hipnc
The file lives on a Windows Server machine.
I can access the file from any of the render client machines without issue.
When I use “ls” on the “/Volumes” directory I see “MainDirectory” in the list.
Any ideas? Thanks again for the help earlier!
Here's the Hqueue command output:
The Houdini 13.0.343 environment has been initialized.
ERROR: Cannot open file /Volumes/MainDirectory/SubDirectory/hqueue_mac_test.hipnc
The file lives on a Windows Server machine.
I can access the file from any of the render client machines without issue.
When I use “ls” on the “/Volumes” directory I see “MainDirectory” in the list.
Any ideas? Thanks again for the help earlier!
Technical Discussion » HQUEUE client on OS X
- NYU_Animation
- 21 posts
- Offline
Hi all, I am hoping I can get some help on setting up a Mac hqueue farm. I've set up an hqueue farm for an all-Windows network and it works great.
It may be worth noting that on the Windows farm, whenever we submit a job to Hqueue server via an Hqueue ROP we set the Target HFS directory to “C:\Program Files\Side Effects Software\Houdini 13.0.343” so that (I guess) the client machine finds the Houdini installation. I did not bother setting up a shared directory where client machines could download Houdini from a central location.
For the Mac farm, I've got Hqueue Server running on an OS X machine and have added three Macs as clients. They show up in the Hqueue Clients page and are available to render. Houdini runs just fine on all of them
The problem I'm having happens after submitting from the Hqueue ROP. At first I tried setting the Target HFS directory to
/Applications/Houdini 13.0.343/. That resulted in the error “No Such File or Directory”. I then removed the space so it read /Applications/Houdini13.0.343/ (and changed all the Houdini directories to match) and that sort of worked but not in the right way. Now the Hqueue Server error reads /houdini_setup: No such file or directory.
I looked in the Houdini install directory on the Windows machines and such a file exists, but on the OS X machines, “houdini_setup” does not exist, so the error makes sense and confirms that at least I've formatted the path correctly.
Is the only way to get the Mac clients to work is to set up the Shared directory and place a Houdini installation in that shared folder? I definitely haven't tried that yet but I just figure if Houdini is already installed on the client machines, why make them download it from a shared directory?
Thanks for any help/suggestions!
It may be worth noting that on the Windows farm, whenever we submit a job to Hqueue server via an Hqueue ROP we set the Target HFS directory to “C:\Program Files\Side Effects Software\Houdini 13.0.343” so that (I guess) the client machine finds the Houdini installation. I did not bother setting up a shared directory where client machines could download Houdini from a central location.
For the Mac farm, I've got Hqueue Server running on an OS X machine and have added three Macs as clients. They show up in the Hqueue Clients page and are available to render. Houdini runs just fine on all of them
The problem I'm having happens after submitting from the Hqueue ROP. At first I tried setting the Target HFS directory to
/Applications/Houdini 13.0.343/. That resulted in the error “No Such File or Directory”. I then removed the space so it read /Applications/Houdini13.0.343/ (and changed all the Houdini directories to match) and that sort of worked but not in the right way. Now the Hqueue Server error reads /houdini_setup: No such file or directory.
I looked in the Houdini install directory on the Windows machines and such a file exists, but on the OS X machines, “houdini_setup” does not exist, so the error makes sense and confirms that at least I've formatted the path correctly.
Is the only way to get the Mac clients to work is to set up the Shared directory and place a Houdini installation in that shared folder? I definitely haven't tried that yet but I just figure if Houdini is already installed on the client machines, why make them download it from a shared directory?
Thanks for any help/suggestions!
Houdini Lounge » hwatermark working for anyone??
- NYU_Animation
- 21 posts
- Offline
mark
If there are spaces in the path (i.e. $HH has “Program Files”, you have to be very careful with quoting of command line arguments.
Thanks Mark. So is this to say we should use simple paths so as to avoid quotes altogether?
FWIW I went back to my earlier Houdini wedge file and messed around a bit more. I'm finally at the point where it adds the text to the image as in the example.
In the small chance it might be helpful to others reading this post, part of the problem had to do with the text I was trying to stamp. Apparently there must not be any spaces between the quotes after the “-m” flag, so something like
unix hwatermark -m “hello world” `chs(“vm_picture”)` `chs(“vm_picture”)` “$HH/fonts/DejaVuSans” 20
failed every time for me, while
unix hwatermark -m “Hello_World” `chs(“vm_picture”)` `chs(“vm_picture”)` “$HH/fonts/DejaVuSans” 20
worked just fine.
The same goes for the Prefix channel of the Wedge render node should a user choose to fill in something besides WEDGE - no spaces between words. Surely obvious to some but maybe not all?
So going back to the initial command syntax I posted, here is the syntax that works, with the change you suggested highlighted:
unix hwatermark -x 4 10 -m “$WEDGE” `chs(“vm_picture”)` `chs(“vm_picture”)` “$HH/fonts/DejaVuSans” 20
Thanks again for your help!
Houdini Lounge » hwatermark working for anyone??
- NYU_Animation
- 21 posts
- Offline
markNYU_Animation
Hi Mark, any other thoughts? If it's working on your end I don't understand why it wouldn't on mine unless a problem with the Houdini version(s) I'm using?
I've been able to run the sample .hip file on Linux and Windows without getting a crash.
What happens if you replace the “ip” with another disk file name (like test.jpg). Does it still crash? Is the file created properly?
Does mplay work on your system?
Are you able to run hwatermark outside of Houdini?
My guess is that it's a configuration or system problem, but that's just a guess.
Thanks for your response, Mark. Maybe it is a configuration issue after all. On one of our machines I was able to run the command as you'd printed it and the image did indeed pop up in mplay. Only when I included the full path to Mandril.pic did it work on my problem machine.
I also tried running hwatermark from the shell and used the same syntax for the command:
hwatermark -m “Hello world” “C:\Program Files\Side Effects Software\Houdini 12.5.562\houdini\pic\Mandril.pic” “C:\watermark.pic” “$HH/fonts/DejaVuSans” 20
I still get the “Error: Cannot open resource” message, but at least hwatermark is working in Houdini so that's a big plus!
Houdini Lounge » hwatermark working for anyone??
- NYU_Animation
- 21 posts
- Offline
Hi Mark, any other thoughts? If it's working on your end I don't understand why it wouldn't on mine unless a problem with the Houdini version(s) I'm using?
Houdini Lounge » hwatermark working for anyone??
- NYU_Animation
- 21 posts
- Offline
Thanks Mark. Unfortunately it crashes mplay each time I hit Render. I replaced “ip” with “watermark.pic” in the command (no quotes of course) but nothing got written out.
Houdini Lounge » hwatermark working for anyone??
- NYU_Animation
- 21 posts
- Offline
mark
[I had an extra space between the path ($HH/fonts) and the font name (DejaVuSans). I've edited my original post.
So now I've tried
hwatermark -m “Hello world” Mandril.pic Watermarked.pic $HH/fonts/DejaVuSans 12
but still get the error in H12.5.526 & 13.0. I cracked open an earlier version of hwatermark (Houdini 11.0.658) and at least I don't get the error, but no watermark.pic file gets written.
Houdini Lounge » hwatermark working for anyone??
- NYU_Animation
- 21 posts
- Offline
Mark
hwatermark was changed to support TTF fonts. So you need to pass the path to a TTF font (and specify the size). The usage is now: Usage: hwatermark <srcimg> <dstimg> <fontfile> <fontsize>
Where the src.pic is the image to watermark, dst.pic the file to
save the result to, and fontfile the full path to the file to use as thefont.
Options:
-m text : Message to composite onto the image (required)
-c r g b : Specify color (0-255) for text. Default: 255 255 255
-a value : Specify alpha (0-255) for compositing text. Default: 255
-S offset : Shadow offset (in pixels). 0 to disable. Default: 0
-s r g b : The color (0-255) of the shadow Default: 0 0 0
-B r : The radius of the shadow blur Default: 2.0
-A alpha : Specify alpha of shadow (0-255) Default: 128
-x x y : Specify location of text in pixels. (0, 0) is bottom left
-j : Right justify the text
-o : Overwrite alpha on the destination image.
-q : Suppress all text output
So, for example, you might call it like this: hwatermark -m “Hello world” Mandril.pic Watermarked.pic $HH/fonts /DejaVuSans 12
Thank you for the quick reply, Mark. Unfortunately I still get the same error (“cannot open resource”).
FWIW I tried your code as written and when that didn't work I added the source and dest path to the file (CMandril.pic CWatermarked.pic (file copied to C:\)), with and without quotes and using backwards and forwards slashes. Apologies if I'm missing something obvious!
Houdini Lounge » hwatermark working for anyone??
- NYU_Animation
- 21 posts
- Offline
Hi all,
I was following the SESI tutorial on wedging just fine until I entered the command for stamping the image with the wedge name. The help card lists the command as
unix hwatermark -x 4 10 -m “$WEDGE” `chs(“vm_picture”)` `chs(“vm_picture”)` $HFS/houdini/fonts_texture/Fixed-Bold.24
My renders failed every time this text was in the post-frame script box. I soon realized there's no “font_texture” folder any longer so I changed that to “font” would help but no go.
I tried using hwatermark independently on a simple .pic file on the C drive using many variations of
hwatermark -m “test text” -x 4 10 “Cwedge.pic” “Cwedge.pic” “CProgram Files/Side Effects Software/Houdini 12.5.562/houdini/fonts/Courier-Bold.24”
or
hwatermark -m “test text” -x 4 10 “Cwedge.pic” “Cwedge.pic” “CProgram Files/Side Effects Software/Houdini 12.5.562/houdini/fonts” Courier-Bold.24
… with quotes, without quotes, backwards and forwards slashes, etc., but it either shows me the options (which I take to mean I didn't enter the command correctly) or I get “Error: cannot open resource” . Not sure if “resource” means the file or hwatermark.
Any ideas?
BTW, I tried this in Houdini 12.5.562 and 13.0.198
I was following the SESI tutorial on wedging just fine until I entered the command for stamping the image with the wedge name. The help card lists the command as
unix hwatermark -x 4 10 -m “$WEDGE” `chs(“vm_picture”)` `chs(“vm_picture”)` $HFS/houdini/fonts_texture/Fixed-Bold.24
My renders failed every time this text was in the post-frame script box. I soon realized there's no “font_texture” folder any longer so I changed that to “font” would help but no go.
I tried using hwatermark independently on a simple .pic file on the C drive using many variations of
hwatermark -m “test text” -x 4 10 “Cwedge.pic” “Cwedge.pic” “CProgram Files/Side Effects Software/Houdini 12.5.562/houdini/fonts/Courier-Bold.24”
or
hwatermark -m “test text” -x 4 10 “Cwedge.pic” “Cwedge.pic” “CProgram Files/Side Effects Software/Houdini 12.5.562/houdini/fonts” Courier-Bold.24
… with quotes, without quotes, backwards and forwards slashes, etc., but it either shows me the options (which I take to mean I didn't enter the command correctly) or I get “Error: cannot open resource” . Not sure if “resource” means the file or hwatermark.
Any ideas?
BTW, I tried this in Houdini 12.5.562 and 13.0.198
Houdini Lounge » HQUEUE clients stalling
- NYU_Animation
- 21 posts
- Offline
Thanks to a suggestion from “johner” over at odforce, upgrading to 12.5.562 solved the issue.
http://forums.odforce.net/topic/19220-hqueue-clients-stalling/ [forums.odforce.net]
http://forums.odforce.net/topic/19220-hqueue-clients-stalling/ [forums.odforce.net]
Houdini Lounge » HQUEUE clients stalling
- NYU_Animation
- 21 posts
- Offline
Hi all,
I'm trying to sim an exhaust trail via a distributed cluster simulation to my HQUEUE server. Once I submit the render things seem to work fine - clients are assigned their respective clusters etc.
The problem is that once a client machine is finished with the “heavy lifting” it seems to stall and stop calculating its cluster.
To put it another way, for a frame range of 1-100, perhaps the first 60 frames get simulated (represented by 2KB file sizes leading up to the heavier file sizes (which indicate density) then back down to 2KB file sizes once the density has dissipated. But then the client stops simulating and I have to cancel its job to move it on to the next. Of that 100 frames it was supposed to render, perhaps it only gets through 66.
In the DOP network a gas resize fluid DOP is fed into the second input of the pyro solver (as normal). Does anyone know off-hand if that's a “no-no” when used in a clustering sim?
To get around the stalling problem I was hoping I could maybe code something in Python to run in the background and check clients' status and if they're still simming after so many minutes it would cancel their current job, but the Python API doesn't appear to include commands for Hqueue. Anyone know if this is possible?
Thanks for any insight you can share!
I'm trying to sim an exhaust trail via a distributed cluster simulation to my HQUEUE server. Once I submit the render things seem to work fine - clients are assigned their respective clusters etc.
The problem is that once a client machine is finished with the “heavy lifting” it seems to stall and stop calculating its cluster.
To put it another way, for a frame range of 1-100, perhaps the first 60 frames get simulated (represented by 2KB file sizes leading up to the heavier file sizes (which indicate density) then back down to 2KB file sizes once the density has dissipated. But then the client stops simulating and I have to cancel its job to move it on to the next. Of that 100 frames it was supposed to render, perhaps it only gets through 66.
In the DOP network a gas resize fluid DOP is fed into the second input of the pyro solver (as normal). Does anyone know off-hand if that's a “no-no” when used in a clustering sim?
To get around the stalling problem I was hoping I could maybe code something in Python to run in the background and check clients' status and if they're still simming after so many minutes it would cancel their current job, but the Python API doesn't appear to include commands for Hqueue. Anyone know if this is possible?
Thanks for any insight you can share!
Technical Discussion » HqueueServer won't start in Windows 7
- NYU_Animation
- 21 posts
- Offline
Just to follow up, it looks like this was solved by simply installing from a more recent build of Houdini. Basically neither HqueueServer nor Client installed from the 12.5.376 build worked in all my tests, but the server and client installed from 12.5.469 worked on the first try.
-
- Quick Links