Hey Matt, Did you try to build this setup in 2013 or are you just testing with rigs created in 7.5 and loaded in 2013. Not ideal but maybe you can store the deformers name at some point in a userdatablob or or property during the rig creation.
I'm wondering if envelopeOp.Deformers() is not accessible when you re-import you rigs, or if it's not accessible right from the beginning even after you created the envelope the first time. my 2c Jeremie On 18 December 2012 10:31, Matt Lind <[email protected]> wrote: > Perhaps you didn’t read my post. Envelopes.Deformers is not accessible.** > ** > > ** ** > > ** ** > > Matt**** > > ** ** > > ** ** > > ** ** > > *From:* [email protected] [mailto: > [email protected]] *On Behalf Of *Fabricio Chamon > *Sent:* Tuesday, December 18, 2012 6:03 AM > *To:* [email protected] > *Subject:* Re: how to determine which deformers an envelope operator is > looking for**** > > ** ** > > Here on a simple scene it works ok...(cylinder enveloped to a 2-bone chain) > **** > > ** ** > > logmessage (selection(0).envelopes(0).deformers.getAsText())**** > > // INFO : cylinder,bone,bone1,eff**** > > ** ** > > funny thing is the cylinder itself got logged, also the effector that was > not picked as deformer.**** > > ** ** > > 2012/12/18 Adam Sale <[email protected]>**** > > envelope > Select deformer from envelope? **** > > ** ** > > On Mon, Dec 17, 2012 at 10:26 PM, Matt Lind <[email protected]> > wrote:**** > > We are trying to upgrade from Softimage 7.5 to Softimage 2013 SP1 and ran > into a speed bump during testing.**** > > **** > > Our workflow for character work is to create a master character rig which > contains the skeleton and body (flesh) geometry. We use separate models > for clothing and other accessories which the character needs to wear. This > means the clothing geometry is enveloped to deformers in the master > character rig. When a clothing model is imported into a scene, if the > deformers are present (e.g. master character rig is in the scene) they > activate and deform as expected. If the deformers are not present, then > the geometry sits still in the default rest pose as if no envelope existed. > This workflow has been working for the past 5 years.**** > > **** > > When these scenes and models are imported into Softimage 2013 SP1, the > envelopes stop working, and sometimes Softimage crashes. When clothing > geometry is inspected in the weights editor, the deformer names are > displayed as “invalid”.**** > > **** > > Digging into the SDK I got some basics. For each enveloped piece of > clothing geometry:**** > > **** > > X3DObject.Envelopes(0) returns valid envelope**** > > Envelope.Weights.Array returns valid envelope weight data.**** > > Envelope.Deformers throws ‘invalid pointer’ error, or returns an empty > collection of deformers.**** > > **** > > In essence, I have the weight values and the number of deformers in the > envelope, but not the names of the deformers mapped to the weight values. > I need the deformer names.**** > > **** > > I have worked around the problem in Softimage 7.5 by using > Envelope.GetDeformerWeights( SceneObject ) and testing with every object in > the scene. I record each object which does not throw an error as well as > the returned deformer weight data. The end result is a collection of > deformers and envelope data to rebuild the envelope. I remove the original > envelope and replace it with a new one using the accumulated data. Works > well.**** > > **** > > When I try this technique in Softimage 2013 SP1, > Envelope.GetDeformerWeights() throws an ‘invalid argument specified’ error > on every object in the scene – including the true deformers of the envelope > (in controlled tests).**** > > **** > > How can I determine which deformers an envelope is looking for so the > envelope can be rebuilt?**** > > **** > > Matt**** > > **** > > **** > > **** > > ** ** > > ** ** >

