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****
>>
>> ** **
>>
>> ** **
>>
>> ** **
>>
>
>

Reply via email to