That's what I meant. Brain fart. However, I shouldn't have to do that. When I set weight data using the Object Model, it should set the data as-is, not apply additional processing which only adds errors.
Matt From: [email protected] [mailto:[email protected]] On Behalf Of Alan Fregtman Sent: Thursday, June 20, 2013 12:59 PM To: XSI Mailing List Subject: Re: Limiting deformer weights per vertex You don't need to use Smooth btw, Add 0% influence works just fine -- not that there's a difference, but just pointing it out. Here's the Python snippet I use for normalizing my weights. You can select meshes or envelope ops, or a mix of both: Application.OpenUndo("Normalize envelope(s)") frz = [] for obj in Application.Selection: if obj.Type == 'envelopop': envelopes = [obj,] obj = obj.Parent3DObject else: envelopes = obj.Envelopes for env in envelopes: envCls = (p.Target2 for p in env.InputPorts \ if p.Target2.Type == "envweights").next() # Add 0% influence for the first deformer. Application.SIModifyFlexEnvWght( envCls.FullName, env.Deformers(0).Name, obj.FullName+".pnt[*]", 2, 0.0) # Find construction history and freeze any relevant ops: frz.extend([x for x in envCls.NestedObjects \ if Application.ClassName(x) == 'Operator' and \ x.Type == 'ModifyEnvWghtPropOp']) if frz: Application.FreezeObj(frz) Application.CloseUndo() On Thu, Jun 20, 2013 at 1:54 PM, Matt Lind <[email protected]<mailto:[email protected]>> wrote: Those specs sound eerily familiar ;-) I had to write a command to clamp the weights on our envelopes as a final step before exporting to our engine. The only problem I ran into was Softimage insisting on modifying whatever data I insert into the envelope by a very small amount - enough to cause vertices to be flagged as being underweighted. I had to add code to work around that problem by forcing a smooth with 0% influence. I cannot share the tool as it belongs to my employer. Matt From: [email protected]<mailto:[email protected]> [mailto:[email protected]<mailto:[email protected]>] On Behalf Of Jonny Grew Sent: Thursday, June 20, 2013 8:48 AM To: [email protected]<mailto:[email protected]> Subject: Limiting deformer weights per vertex I'm working on a job that delivers an enveloped mesh for use with an online gaming engine. There's a list of specs that need to be considered... ie polygon count, number of envelope deformers etc. One of these limitations is that there can not be anymore than 4 deformer weights per point. Does anyone know of a way of limiting this or a script that might remove all but 4 of the weights with the most influence on a point?! Smoothing the weights has a lovely result but could leave me with a very laborious task should I need to go through point by point over half the mesh before I mirror the weights. Cheers

