Priority Delay on Stacking Skin Deformers
-
RE: I've asked our specialist and it's seem to be a limitation
Yes, this is what I am afraid ofRE: You can add an expression based operator between two skindeformer.
I'm not sure I understand, isn't the Python Tag I used already theexpression based operator between two skindeformer
==============
Hypothetically speaking, can I instance the default skin deformer and create a new one with a hardcoded generator priority? Currently, it is set to Generator -1. How about I hard code it as Generator -10 on creation.
Will that work? I believe it involves C++ so I haven't tried it yet.
-
@bentraje said in Priority Delay on Stacking Skin Deformers:
RE: You can add an expression based operator between two skindeformer.
I'm not sure I understand, isn't the Python Tag I used already the expression based operator between two skindeformerSorry i mean "you can't add" the negation is important on that case.
cheers,
Manuel -
@m_magalhaes
Ah gotcha. I guess there is no way around this, yet.Thanks for the confirmation.
-
Hi,
Any update on this one on the latest release (S24)?
-
hi,
it's still a limitation.Cheers,
Manuel -
Gotcha.
Thanks for the response. Will close this thread for now. -
@m_magalhaes Hello! I just want to add to this and say that this limitation is REALLY holding back C4D for rigging and thereby character animation. I would very much hope that the developers will allow the Skin Deformer's Priority to be set. It is my understanding that the Neutron node-based version of C4D will not have Priorities (THANK GOD!) but I don't know how long we will have to wait to be able to use it for character rigging.
-
Hi, @m_magalhaes & the rest,
Joints & skins work a bit differently than setting priorities in the usual way..
Basically, only the first line changes @ the "declaration" of pd.Hope this helps, Jochem
for item in items: # .. a list with objects or tags.. # prioGeneric pd = item[c4d.EXPRESSION_PRIORITY] pd.SetPriorityValue(c4d.PRIORITYVALUE_MODE, 4) # 4 = Generators (as an example..) pd.SetPriorityValue(c4d.PRIORITYVALUE_PRIORITY, 412) item[c4d.EXPRESSION_PRIORITY] = pd for j in joints: # .. a list with joints.. # prioJoints pd = j[c4d.ID_CA_JOINT_OBJECT_PRIORITY] pd.SetPriorityValue(c4d.PRIORITYVALUE_MODE, 4) pd.SetPriorityValue(c4d.PRIORITYVALUE_PRIORITY, 413) j[c4d.ID_CA_JOINT_OBJECT_PRIORITY] = pd for s in skins: # .. a list with skins.. # prioSkins pd = s[c4d.ID_CA_SKIN_OBJECT_PRIORITY] pd.SetPriorityValue(c4d.PRIORITYVALUE_MODE, 4) pd.SetPriorityValue(c4d.PRIORITYVALUE_PRIORITY, 414) s[c4d.ID_CA_SKIN_OBJECT_PRIORITY] = pd
-
Hmmm… some extra notes: Although it’s possible to change the priority of skin deformers - it’s of no use.
The documentation states that priorities only will be applied if the “Force” option under “Include” is turned on.
But that’s not for polygon objects.So in my case, I wanted to set skin deformers after dynamics had been applied, but that’s a no-go.
The only alternative I found was to add an extra pythonTag (Gen.412), which updated all meshes.
This means that on render time all works well, but in the viewport it will still lag 1 frame -
Hello @jochemdk,
thank you for reaching out to us. I am not sure if your postings are questions, please remember to open a new thread for questions of your own. @m_magalhaes is also currently on vacation, so he will not respond here any time soon.
Thank you for your understanding,
Ferdinand -
Hi @ferdinand, I was working on a similar topic, trying to change the prio of skin deformers to "after dynamics"... (didn't want to start a new thread, thx for replying anyway:)
-
Hi,
for me you still have the issue of priority. Does it solve the problem?
Cheers,
Manuel -
Hi @m_magalhaes,
No there's still a problem, but for now it seams to be unsolvable.. It would be nice if C4D would allow for priority changes on the skin deformer - for polygon objects.
-
Hi,
Just checking if this is now resolved in the current version of C4D (2023).