The goal is to have my daz characters rigged with autorig pro for easy unreal export.
There are many tools and workflow for this, but none of them are perfect.
Anyway: daz characters have very good weigth paint/boneplacement already, so Iād like to keep that somehow. Especially the matching weigth paint on character and clothes is a plus.
First thing I tried was to generate an autorig rig and then replace the weigth paint from the original daz character. It kinda worked actually, the problem is that weigth painting and boneplacement must match or it wonāt be perfect. So using the daz rig as reference I can move the ref-rigās bones in edit mode⦠it takes a bit time, but the result is usable.
Next I thought: I have the original daz armature⦠there are addons which convert that to rigify metarig, and the metarig is very similar to the autorigās refrig. So I tried to replace this refrig with a modified metarig. (renaming bones, deleting and copying necessary other bones). It worked somehow, but as it was expected the bone rolls are also important and who knows what elseā¦
maybe a better approach would be to just use the metarig as reference and adjust the ref-rig in edit mode. Iām sure a script can be made for that but I canāt code too wellā¦
Any help/ idea is appreciated⦠maybe a built in support could be given for daz an other characters (makehuman, mb lab, iclone etc) at some point.
Thank you for your answer, I really appreciate it.
I tried everything after reading your reply, but it seem like my CPU is bottlenecking with my character after all. At most I could get 24 FPS but since Iām exporting my animations for Unreal I really needed them to be playbacked at 30 FPS.
The reason I removed my post was that I rigged another character just to make sure, except this one is low poly, and it works like a charm. So I concluded my PC isnāt able to handle the high poly character ā I just didnāt expect to get an answer so fast haha
and selecting Unreal -> Humanoid (with root motion checked) in export panel.
I have around 7 animations on my character but only one is exported. It seems gltf exports multiple animations only if pushed as NLA strips. I have already pushed animations into the NLA strip on the main rig but it seems it should also be pushed on humanoid rig also upon export?
It seems gltf exports multiple animations only if pushed as NLA strips.
Yes, absolutely. Gltf has a different system to export actions.
Sorry but Gltf wonāt be officially supported in ARP before a few months, iāve been in touch with its developer and there are a few concerns that must be addressed first. Ideally Iād like to support the same level of features as the Fbx export, and itās unfortunately not possible currently.
Just wanted to give it a try to see if I can solve this. Maybe this can be solved by pushing actions at NLA strip after baking them in #Humanoid Export.
# Bake Actions?
if context.scene.arp_bake_actions and len(bpy.data.actions) > 0:
_bake_all(self.armature_name, "rig_humanoid", self)
I am not familiar with Blender API so not sure how to put them as NLA strip. Going to investigate more on this.
Meanwhile, will appreciate any help
@Ali-RS Great if you have found a workaround for this, and thanks for sharing it!
Honestly I havenāt investigated this specific NLA/Actions problem yet with GLTF export. Iām very willing to support this format with ARP though, but the developer of the GLTF export addon advised me to wait for the next version, heās currently making a lot of improvement to it. This way, it should be possible to make it compliant with the various export options of ARP such as selective action export, animated shape keys for multiple actions which is not yet supported.
Hmm, I opened a fresh character and re-rigged it with the smart tool, and remapped BVH animation on it and this time remapping works just fine.
My previous character was rigged with the old version of the addon in blender 2.7 and has been updated to the new version using this update button provided by ARP:
To convert your DAZ rig, you might like to contribute to my little copyrig project. The code is pretty dumb. Look at the MHDefault class. Itās more or less a typing exercise⦠@lucky It would be way nicer if Auto Rig Pro had a plugin interface to create a ref rig. With that users could supply rig support for any rig. Just an interface to register a converter with a convert function that produces a dictionary of ref bones. So you you donāt have to maintain support for a ton of rigsā¦
Hi! Iām not exactly sure to understand the meaning of āan interface to create a ref rigā, but there are plans to add user defined limbs and armature presets. Practically, this means users should be able to save new armature presets like the built-in humanoid/dog/horses, and this should allow to save custom limbs as well (the āAdd Limbsā menu). However custom limbs wonāt be able to work with reference bones, this requires programmable instructions.
Sorry, it was late.
Right now, when you have a rigged character from one of the character generators out there, and you want this character with an auto rig pro rig - maybe just because it is awesome - you delete the old rig and create a new one with ARP. So letās say, some ppl are lazy, so their first thought is: āWouldnāt it be: great, if the rig generation process in ARP could somehow magically make use of the rig, that already exists in my character? Replace somehow the old rig with the ARP rig - or at least preposition the bones in the ARP ref rig?ā
The latter is, what my plugin does: it just takes every bone in a make human rig that has a somewhat similar bone in the ARP ref rig and places the bones in the ref rig accordingly. This works pretty ok and helps especially with annoying stuff like finger placement. But it does that in a pretty inconvenient way. It would be way nicer if there was a button to do this in ARP itself. Something like ācreate from input rigā or something.
As there are a couple of tools to create said characters and for whatever reason they all create a different rig it would be very much a maintaining hell.
So why not have a plugin for a plugin? Just give us an interface where one can register a converter for MyInsaneRig to a ARP (ref) rig and we could have a shiny button inside ARP and you wonāt have to maintain loads of rig types. The interface is most likely a base class with a function to detect a known rig so you know which converter to call and a converter that could maybe output a (partial) ARP ref rig definition as dictionary, that you can then use to place these bones in your ref rig.
The partial rig part is crucial as some rigs just have a lot less bones that your ref reg and others have bones that differ so much from your rig that they canāt be converted reliably.
I hope, this makes the idea a little bit clearerā¦
I think it could work almost like the already implemented remap feature. We could create a bone mapping and then the mapped ref rig bones would be positioned according to the source rig. if there is a different structure then some manual editing still would be required.
As a next step the objects vertex groups could be renamed to match the ARP convention.
I did these steps manually⦠I mean positioned the ref-rig to match my imported meshās original armature. After renaming the appropriate vertex groups it worked well⦠except I did not do this manual refining of the fingers, but used the arp auto detection⦠which was not 100% compatible with the original weigth painting so the finger deformation is not perfect. Having the option to automaticly align the refrig to alread existing rig could save quite a lot of work.
Then we could sa that ARP has native support to rerig Daz, Iclone, makehuman etc characters once the presets are made.
Ok, so as far as I understand, itās about quickly generating a rig based on simple existing rig/bones.
This is a pretty neat idea and Iāve received many requests for this. I know this is a popular demand.
I may work on it at some point, itās duly noted. But this is a rather important amount of work to make it properly and there are a few other waiting features on my todo list to complete first.