daz3d animation to 3delight standalone
phomlish
Posts: 6
I have tried a few things and browsed the forums, but I can't get it to work and can't verify through the forums that it should be able to work. Is it possible to create a rib of a daz3d animation and send it over to 3delight standalone?
Thanks.
Post edited by Richard Haseltine on
Comments
I had to kill this fly with a sledgehammer.
I have an old server laying around with 8 cores and 6 Gig RAM but no OS. I bought a copy of W7 and installed it on there. I then installed DAZ3D on there. Now I can edit on my mac and save the scene with animations, then follow my workflow notes to load the scenes up over on the w7 machine to render. Only really bad part- the old machine uses about $30 a month in electricity. Seriously the lights dim in the house when I boot it up. Oh well.
Minor bad part- windows and mac treat the content folders differently. I share the content over an nfs/samba share on linux to the windows and mac. But windows and mac have different ways of dealing with case, and when one platform can find the file often the other can't due to a case difference.
I've already cleaned the blood off my sledgehammer as DAZ3D seems to require this tool quite often.
Paul
i installed the standalone, but don't know how to use it. can you send straight from DS or needs a command line to launch?
I started here but tweaked because I used linux for the standalone. To summarize the thread, I think everyone agrees to render to a rib file and have 3delight render that. But rendering to a rib file doesn't seem to work for an animation- only one frame is in the rib.
I never got anywhere as I gave up when i saw that the rib created by DAZ3D only contains one frame. I guess I should have tested to see if it would even render one frame but didn't.
If you use DS in linux (with wine, like i do), there is a solution; when exporting an animation to a rib file, each frame is written, but each frame is output to the same file, so earlier frames are overwritten. Only the last frame remains. So all i do is letting DS write the rib to a named pipe instead of a file, which effectively results in a large rib file with all the frames concatenated. I use gawk to split that large file into segments and also let each segment render to a different image file (the default is only "render.tiff"):
The above code is for rendering to a file named test.rib. The sleep is necessary to hold the pipe open till the last frame. Kill it after DS is finished exporting the animation. It could work on Mac, too (i did not try it), i have no idea if a similar thing exists in Windows.
Thanks Millighost. I didn't get DAZ3D to run in Ubuntu Linux with Wine. I did try, it did install, but then it threw an error when I tried to run it. I checked the wine apps list here and saw someone had success with OpenSuse and had prepared to install that to the server before I went down the W7 route. I am rendering with the w7 machine to an NFS mount so maybe I can run your script on the linux server that owns the mount.
A question if you please on the script. I've been using linux for 20+ years and thats a duzzy you crafted there. I admit my awk isn't as developed as yours. But even the
sleep 1000 > test.rib &
has me stumped. sleep 1000 does not output anything, so when you redirect it to test.rib it seems to want to clear it.
then the
echo sleep: $!
is foreign to me. Probably the colon after sleep. Is that what somehow makes the script loop?
Like I said, the gawk is not my strong suit, but it seems to want to search the file for the header and then write it out to a new filename when it finds one.
So my question is how does this loop. Seems like you bring up the script before you start the render.
Any clarification you could provide would be sincerely appreciated.
Paul
This line simply outputs "sleep: 1234", with 1234 being the process id of the sleep. Since the sleep does not terminate before 17 minutes have passed, the gawk will not see an end-of-file for that duration. So it will sit there, waiting for input for 17 minutes. The DS export is likely finished long before that. So to shorten that time, the gawk must get an end-of-file. Terminating the sleep (with kill 1234) closes the writing end of the pipe, generates and end-of-file and lets the gawk write its internal buffers.