Daz animation to Blender
Noam
Posts: 0
Hey,
I am trying to export Daz animation to Blender.
I export the animation to FBX and import it in Blender from FBX.
I followed guides and youtube videos, and every time I keep getting only one frame.
Would appreciate any kind of help!
Comments
Diffeo can import animations
http://diffeomorphic.blogspot.com/p/daz-importer-version-15.html
I'm still not clear on whether to use Diffeo or Sagan to import animations to Blender from DAZ Studio. I keep meaning to try both and compare but other stuff keeps delaying my experimentation (and/or I'm just scared). The issues I have in my head, prior to any testing, are these:
1. DIffeo seems to have a complex import procedure for geografts, geometry shells and custom morphs and my figures (and animations) use them all extensively.
2. Sagan doesn't import a rigged figure so it would be impossible to tweak the animation - all the pose tweaks would need to be done in DAZ Studio and then exported.
3. I'm also unclear about animations with clothing. If an animation done in DAZ Studio and containing dForce animated clothing, how would it look in the (Diffeo) imported animation? Using the Blender cloth sim seems to be problematic so the alternative would probably be some kind of workflow involving Marvelous Designer. That intorduces other probelms such as importing dForce clothing into MD. That leads to alternative options such as only using MD created (or compatible) clothing which then excludes the huge library of DAZ clothing many of us have bought over the years. Nevertheless, a quick look at the ArtStation marketplace will confirm that there are lots of reasonably priced garments for sale which are indeed MD compatible.
4. In the tests I have done so far, using Eevee requires a lot of tweaking to get it to look acceptable after import (Sagan uses Diffeo for material conversion so this applies to either). I'm assuming that animators would want to use Eevee for animations with 100s or 1000s of frames. I'm not sure if it is possible to set up the materials for the whole animation or whether each frame would need to be adjusted individually. Otherwise, there may be ways to speed up Cycles but I've noticed that most of the ways require an RTX GPU which I don't have yet and am unlikely to buy until the prices come down to sensible levels.
5. Ideally and eventually I would like to be able to import and animate in Blender but there is a lot to learn about rigging, posing, IK and FK in Blender and I am still intimidated by that learning curve. I mostly use Blender for creating morphs.
Rendering an animation in Blender would not require a material set up for each frame no matter what method you used to import the assets.
No animation rendering software works this way.
Diffeo can import some G8 animations, exported from Daz studio, But many will have the arms & legs flailing all over the place so Alembic is likely your best option for reliable G8 animation production in Blender unless you are a masochist or actually plan to learn to manually animate a converted MHX rig.
I have zero useful advice for people using geo shells/grafts and expecting posability etc outside of Daz studio as I am not aware of any external software that will fully support this Daz genesis feature, including the Reallusion/CC3 suite .
There is a fantastic addon for Blender called Simply Cloth Pro that works like Marvelous Designer directly inside Blender. It's a paid addon, but still less expensive than MD and works extremely well for clothing and other cloth purposes.
Setting up Eevee materials is very simple, but Daz products usually have tons of material zones, so that's the only time-consuming thing. Once you tweak the material to work with Eevee or Cycles, it will work for the entire duration of the animation. You should never need to change materials on each frame. As Wolf359 said, no software would ever require you to do that.
Eevee is probably one of the best solutions to render animated output because the results can be made to look extremely high quality and still render 3 to 4 times faster than Cycles.
So Simply Cloth will drape the DAZ (made-for-dForce) clothing in Blender? Or is it still a case of creating clothing inside Blender?
I've watched tutorials for Eevee but it is difficult to find anything that explains adapting DAZ Iray materials for Eevee. My Eevee efforts still look like flat cardboard cutouts and that thing about having to do each surface separately is a real PITA . At least with DAZ Studio surfaces I can multi-select all the skin surfaces and make adjustments to all. Diffeo does a fine job with Cycles, however.
If you import a figure/ prop via Diffeo your EEVEE materials will already be 95 percent correct .
If you Have any serious notion of rendering Genesis 8 animations Blender you should endeavor to learn how to adjust materials for EEVEE.
The volume based SSS that Diffeo creates in emulating "Iray Skins" in Blender is going to give you Iray render times as you are simply trading one brute force path tracer-( Iray) for another -(Cycles).
Except Cycles has a far superior Denoiser that will allow for slightly lower samples per frame.
If you are willing to endure Iray render times per frame In Blender you may as well invest in a Bigger NVIDIA GPU and render your animations In DAZ studio Iray where all of you Geograft/shells etc will function as designed.
@marble As for Diffeo vs Sagan.
Diffeo is primarily designed to import daz assets then animate and render in blender. Then there's support to import daz poses and animations, but this doesn't include dforce simulations. As for geografts and shells they are supported fine, but yes, it requires some manual work to import them. Then diffeo is limited with HD figures, since it supports the HD shape, but not the HD jcms.
Sagan is primarily designed to animate in daz studio then export the animation to blender, and it relies on Diffeo for materials. Sagan correctly bakes both HD figures and dforce simulations, so it is the best choice if you want to animate in daz studio then render in blender with cycles or eevee.
Yep, that just about sums up my conclusions perfectly. Either way, there are drawbacks. It is a great pity that Filament is not the DAZ Studio equivalent of Eevee. It is a great pity that the DAZ Studio animation implementation has feet and limbs jerking about instead of staying where they are pinned. Otherwise, I'm getting quite used to working with my old investments in Keymate and Graphmate (I'm not sure that the DAZ versions of those are ready yet).
I have saved for a new GPU but am waiting for the prices to stabilise and the rumoured RTX 3080ti 20GB to make an appearance. Or, better, a 3070 with 16GB. I can't afford the prices they are demanding right now and I'm not going to pay all that for another 8 or 10GB GPU if there are better options waiting behind the curtain.
@marble Export your zeroed figure as BVH and import it into Blender. Adjust the bone shapes to make eye-balling animation easier, especially the fingers, add IK, and animate it with Blender's tool. Then merge the BVH back onto your figure in DS (don't forget to turn of locks and limits) and export back to Blender with Sagan. Boom.
How clever .. I would not have thought of that. I have never attempted animation in Blender so a bit to learn there but that's a really good option, thanks. I'm not sure what you mean by "adjust the bone shapes" though.
There are options for how Blender displays bones. You can change them so that there is less difference between looking at your armature and looking at the skinned character for when you have close interaction between the character and objects or between characters. BVH, of course, doesn't bring the skin with it. You could, of course, bring in your character's skin as an obj and rig it with default weights, which would give you a decent visual reference, but I find that just looking at the skeleton is usually enough to get an animation looking perfect and the viewport is much more responsive if Blender doesn't have to deform the skin mesh.
Blender can understand a BVH exported from DS, and DS can understand a BVH exported from Blender. So you can export an armature (a single frame BVH) to Blender, do your animation with all of Blender's bells and whistles, and then merge it back onto your character in DS. Once back in Daz, you can export back to Blender with Sagan.
After all the silly things that should work but don't, we deserved something that is actually as easy as it should be.
Ahh, right. Trouble is that I'm not only animaring bones. I'm trying for some soft-body effects too which involve morphs. For example, I use muscularity morphs quite a lot as well as many of the Zev0 shaping and posing morphs which mostly work on the "fleshy" bits.
@marble I don't see any reason why HD morphs and simulations should not work after getting back the bvh to daz studio. What Donald suggests is for animating the figure itself. Unless for some reason you need a very precise mesh reference to animate the armature, that may happen for example when figures need to touch.
Yes, sure - I see what you mean. Just animate the BVH for the figure movement and add the soft body stuff later. Maybe that would work/
Are there any sample videos avialable of Daz Genesi 8 characters that have been animated via imported BVH Data generated in Blender?? or is this advice to Marble theoretical??
What are the import/ export settings in Blender for this process
. I tried this with a simple arm and torso bending animation hand keyed in blender ,and the resulting BVH import back into Daz studio was, not surprisingy, a horror show!!.
Retargeting does NOT work this way!!
There is a reason why Iclone 3Dxchange Needs a retargeting mapping profile (buit-in or manually assigned) before it can export a usable BVH for a Daz or poser figure or max biped etc
There is a reason why the mighty Autodesk Motionbuilder needs to "Characterize" an imported rig before retargeting Maya or human mocap motion data to it and export usable BVH/FBX back to the original rig in its native application.
On a related note, the solid foot planting you get in applications like Iclone/MOBU are not really baked to FK in BVH files as they are in complete FBX exports.
BVH Cant retain Fk baked restraints
I have six years of Iclone BVH to Daz studio ,producing galactus rising, that proves this.
I believe the first part of that is: Export in BioVision format. Correct?
I'll second that question. If not and someone can explain it to be, I'll make a video. I am on macOS and Linux though, so I might be SOL a bit.
...
.
@Brainmuffin. There are so many reasons why this BVH from Blender back to Daz studio method will not work.
I suggest others try it for themselves ( both programs are free).
From my personal literal experimentation, for anyone Exporting G3/8 to Blender with the intention of animation, the best method is Diffeo import/Convert to MHX and learn to animate an MHX rig with Blenders professional tools.
Even after Diffeo conversion to MHX,The "import action" feature of Diffeo can import your facial animation from Daz studio as well as Some pre animated .duf files from DS although many will fail for reasons unknown
Or use Genesis 2 or earlier create all of your animation with the Daz timeline/animate2/mimic etc and FBX export out a Daz studio animated genesis 2 or earlier. They will work in Blender,I have tested animated Millenium 3 figures 'exported to blender, via FBX from DS
A separate diffeo export will get your G2 textures imported correctly and the Control-L data transfer feature in Blender will snap them on to the Genesis 2 figure you imported via standard FBX .
the advantage of this method is that addtional animations can be later applied to the existing Mill 3-G2 figures in blender via the Blender action editor by simply importing a bare bones figure with the new animation
this is how my Iclone /CC3/Blender pipeline works except that CC3 can attach multiple Imotion data files to ONE FBX export allowing me to easily have multiple Iclone motions loaded& stored in the the blender action editor and switch between them at will
. Or create all of your G8 animation with the Daz timeline/animate2/Facemojo etc and use the Sagan Alembic exporter Again use Diffeo to harvest the corrected textures. Or do as @Benniwoodell does and render everything in DS Iray if you have a really Big GPU
.
Hi Wolf. No, not theoretical. The point of exporting the BVH is so that Blender has the armature exactly as it is. There is no retargeting.
As for the horror show, did you forget to turn off locks and limits? :)
I'm not sure what you mean by "BVH Cant retain Fk baked restraints" What is BVH other than a format for describingbaked FK constraints? If you explain what you mean, I might learn something...
Ha ha, you guys are going to kill me... I forgot about an extremely important detail :)
Because Daz is a left handed coordinate system but Blender is a right handed coordinate system, the offsets and angles in the exported BVH from Blender are slightly off, i.e. the Y and Z axes are swapped and the Y values are the negative of what they should be. I wrote a program to swap and invert these values, and then it imports perfectly. I have a script that does this automatically, and so I never see it and forgot about it.
I guess I'll be writing another plugin :)
But this works, it's how I do anyting that I manually key.
Edit: Added proof for the doubters
FBX is definitely the superior file format overall, as it has the ability to transfer almost all the scene information, including some PBR materials and textures that other file formats aren't capable of. FBX also does a great job of transferring rigging and animation information, including vertex weights. BVH is only the skeleton (bones) data as far as I know and doesn't contain the skinning and weighting information. If you're just transferring the motion only, then BVH should be fine, but if you're transferring the entire character with bones and animated data, then FBX is easier. With BVH you'll have to paint the weights all over again.
The only problem with FBX is that the compatibility can be wonky with some software packages that don't keep up with the SDK. I know that Daz Studio's support for FBX features is shaky at best, and Poser's is practically non-existant.
I suppose that might be generally true, if Blender can grok everything in the FBX file, and there is an excellent FBX importer/exporter addon, but the point of this excersize is based on the idea that in order to animate and export back to Daz Studio, all you actually need is the armature; even one you bind to the character exported via OBJ with default weights is good enough.
And also, BVH is an extremely simple format in ASCII text, and therefore it is infinitely easier to hack, which I proved by writing the app the fix the coordinate system. There's the same argument between MDD vs Alembic: Alembic is far superior technically, but if I'm just trying to mess with the vertex info, MDD is much, much preferrable. For example, if I couldn't have just opened the BVH file in a text editor, I NEVER would have noticed that the export actually works, but the coordinate systems were just different.
In these senses, BVH is perfect and FBX brings complexity and compatibility questions with zero benefit.
Well, BVH is certainly the more simple solution for that method, you've got a point there. I just couldn't imagine rendering animations in Iray, to begin with. Especially if it's going to be HD or UHD with a high frame rate. Iray may just be the least optimized render engine for animation available right now unless you have multiple high-end RTX GPU's working together to crank out frames. The denoising in Iray is slower and requires more samples, etc., etc.,
Point taken. I can't see rendering in IRay either. After getting the animation back into DS, I immediately export it back out with Alembic.
Re: BVH vs FBX.
Yes BVH can import recorded bone positions for the limbs However you lose any human IK based contact solving/restraining that was created back in your animation app like Iclone or MOBU. for example when I create an animation with endoprhin and use its constraint system to have a figure holding tight to a railing to prevent being sucked out into space during a decompression ( a ragdoll animation) the exported BVH brought into DS or poser the contrained hand will move all over the place unless I have some DS or poser native IK constraint pinning it in place. (which it never does entirely as we have seen).
If you have seen "Galactus Rising" Most of the walking scenes are shot above the knees because the perfect foot planting that I had back in Iclone is not truly transfered to the Daz via BVH from Iclone 3DX.
Even in your posted example There is no Foot/floor contact solving as the figure just glides across the floor made only possible with a NON native script you created yourself, to fix the BVH import.
So for someone like @Marble, who does not have your script, using Blender to generate BVH motion for Daz Genesis 8 is not really a viable solution .
Also animating just a bone rig , with no mesh for a reference, assumes that no one will ever use a Character outside of some ideal body mass index or have the Character interact with anything else
So a pot bellied male Character or large breasted female will not show your bodyparts passing thru each other or scenes props like table edges etc until you get the BVH back into Daz studio where you will have to manually fix those mistakes with the Daz tools anyway.
Also animatiing a raw BVH skeleton without the rig controlers &FK/IK switchers you get with Rigify or MHX is a masocistic exercise in self flaggelation which is why animators pay for Autodesk Subscriptions or hundreds of dollars for Iclone or thousands for human mocap suits instead of just using blender for this purpose.
I don't experience this, and am not sure why it would happen if the armatures are exactly the same. In truth, I don't understand how BVH could not preserve the IK constraints; once the rotation values are calculated via IK or FK, they have no memory of how they were calculated. I suspect that something else is happening, like the before and after armatures are not the same.
Open the two exported BVH files. You'll see that while the motion data section is, of course, different, the header information that describes the armature is exactly, byte for byte, the same, apart from the swapped/inverted values because of the different coordinate systems. If you perform the same test with some of your data, I think you will find that they differ, either in bone positions or rotation order.
I just put together a quick example to show the export does work. If I had IK, it would have worked as well. The script doesn't "fix" anything, it just accounts for the fact that Blender is Z-Up and Daz is Y-Up.
But anyone who is willing to install Windows Subsystem for Linux, or already runs Linux, can have the utility now. Anyone else can wait a little while for the plugin. If this is not a viable option, then neither is Sagan nor Diffeo.
I already noted that you can, if you need to for the reasons you stated, import the character via OBJ and bind it to the armature with default weights. It will look terrible, but is usually good enough to eyeball things.
I'm sorry, I still don't understand what any of that has to do with the exported BVH, which is going to bake all of that in. I don't know what your workflow is, but I suspect that the armature you import in to the apps you use is not the same as the armature you export back out, for some reason. And a retargetter like Maya, MoBu, or iClone (or Houdini 18.5, which is FREE to individuals, and I'm going to pay someone on upwork.com to work out the workflow) is only necessary when the armatures are different. With this method, they are exactly the same. Of course, with mocap data, the armatures are always different, and so that is not the context we're talking about.