Shape Correction Limitation / Bug? 2005-04-06 - By Oscar Juárez
Back for that to work you should put the saved shape clip in the mixer to be the whole lenght of the animation, on the clip properties use parent clipping.
and put the weight of it to 1, right now since you saved the shape key, xsi animated the weight of the clip. so just remove that animation and put it to constant 1.
or the other alternative would be, do the deformations on secondary shape modeling and instead of saving a new shape, move all the operators to the animation stack just above the envelope operator.
but you keep with some operators on the stack...
i think the shape would work better but if not... theres the other option
Oscar
Jabbar Raisani wrote:
> Hello, > > I am trying to do some shape correction on an object after is has been > animated. > Essentially I want the shape correction to happen after the Envelope > Operator. > If I switch to Secondary Shape Modeling mode and move points to make > my correction > everything works great. Now I want to save that correction out as a > shape that is applied > after the envelope op. I can't seem to find a way to get this type of > functionality. If I use > Save Shape Key, the mesh looks the same on the frame that the save > shape key was > applied, but not on all of the other frames. I have also tried moving > the Envelope Operator > underneath the Cluster Shape Combiner, but this gives me a different > shape that isn't the > one that I want. > > At the bottom of this email is a script that will recreate the > situation I am referring to. > > Any Suggestions. Thanks in advance, > > -Jabbar > > > > > > NewScene(null, null); > > CreatePrim("Sphere", "MeshSurface", null, null); > > Create2DSkeleton(0, -4.0240106737179, 2.11615939152983, 0, > 4.66715683959918, -1.45631506687308, 0, 90, 0, 4, null, null); > > ActivateObjectSelTool(null); > > ActivateObjectSelTool(null); > > DeselectAll(); > > SelectObj("sphere", null, true); > > SetValue("Context.constructionmode", 2, null); > > ApplyFlexEnv("sphere;bone,eff", false, 2); > > ActivateVertexSelTool(null); > > ActivateVertexSelTool(null); > > SelectGeometryComponents("sphere.pnt[14,15,21,22,28,29]"); > > Translate(null, 1.77524985665421, 0, 0, siRelative, siGlobal, siObj, > siXYZ, null, null, null, null, null, null, null, null, null, 2); > > Undo(); > > Translate(null, -1.35337857256848E-16, 3.75417294953933, > 2.21030793829245, siRelative, siView, siObj, siXYZ, null, null, null, > null, null, null, null, null, null, 2); > > ActivateObjectSelTool(null); > > ActivateObjectSelTool(null); > > SelectObj("bone", null, true); > > Undo(); > > Undo(); > > Undo(); > > SetValue("Context.constructionmode", 3, null); > > Translate(null, -1.33764161242234E-16, 3.98559456971641, > 2.18460668319603, siRelative, siView, siObj, siXYZ, null, null, null, > null, null, null, null, null, null, 3); > > ActivateObjectSelTool(null); > > ActivateObjectSelTool(null); > > SelectObj("sphere", null, true); > > SelectObj("bone", null, true); > > Rotate(null, 0, 0, 66.6621366768366, siRelative, siLocal, siObj, > siXYZ, null, true, null, null, null, null, null, 3); > > Undo(); > > SaveKey("bone.kine.local.rotx,bone.kine.local.roty,bone.kine.local.rotz", > 1, null, null); > > SetValue("PlayControl.Current", 100, null); > > Rotate(null, 0, 0, -41.982738824779, siRelative, siLocal, siObj, > siXYZ, null, true, null, null, null, null, null, 3); > > SaveKey("bone.kine.local.rotx,bone.kine.local.roty,bone.kine.local.rotz", > 100, null, null); > > SelectObj("sphere", null, null); > > SetValue("PlayControl.Key", 100, null); > > SetValue("PlayControl.Current", 100, null); > > Duplicate("sphere", null, 2, 1, 1, 0, 0, 1, 0, 0, null, null, null, > null, null, null, null, null, null, null, 0); > > Duplicate("sphere1", null, 2, 1, 1, 0, 0, 1, 0, 0, null, null, null, > null, null, null, null, null, null, null, 0); > > SelectObj("sphere1", null, null); > > SelectObj("sphere.polymsh", null, null); > > //ERROR : Object doesn't support this property or method - [line 59] > > SelectObj("sphere", null, null); > > SetValue("sphere.Name", "No_Shapes", null); > > SetValue("No_Shapes.Name", "No_Shape_Correction", null); > > SelectObj("sphere1", null, null); > > SetValue("sphere1.Name", "Shape_Correction", null); > > SaveShapeKey("Shape_Correction", null, null, 100, null, null, null, > null, siShapeLocalReferenceMode); > > SetValue("PlayControl.Key", 8, null); > > SetValue("PlayControl.Current", 8, null); > > SelectObj("sphere2", null, null); > > SelectObj("Shape_Correction", null, null); > > SetValue("Shape_Correction.Name", > "Shape_Correction_EnvOp_After_ClsShapComb", null); > > SelectObj("sphere2", null, null); > > SaveShapeKey("sphere2", null, null, 8, null, null, null, null, > siShapeLocalReferenceMode); > > SelectObj("sphere2.polymsh.envelopop", null, null); > > CopyPaste("sphere2.polymsh.envelopop", null, > "sphere2.polymsh.modelingmarker", 1); > > SelectObj("sphere2", null, null); > > SelectObj("Shape_Correction_EnvOp_After_ClsShapComb", null, null); > > SetValue("Shape_Correction_EnvOp_After_ClsShapComb.Name", > "Shape_Correction_EnvOp_After_ClsShapComb", null); > > SelectObj("sphere2", null, null); > > SetValue("sphere2.Name", "Shape_Correction_EnvOp_Before_ClsShapComb", > null); > > ActivateObjectSelTool(null); > > ActivateObjectSelTool(null); > > DeselectAll(); > > MakeLocal("Shape_Correction_EnvOp_Before_ClsShapComb.display", > siNodePropagation); > > SetValue("Shape_Correction_EnvOp_Before_ClsShapComb.display.wirecol", > 15, null); > > MakeLocal("No_Shape_Correction.display", siNodePropagation); > > SetValue("No_Shape_Correction.display.wirecol", 242, null); > > MakeLocal("Shape_Correction_EnvOp_After_ClsShapComb.display", > siNodePropagation); > > SetValue("Shape_Correction_EnvOp_After_ClsShapComb.display.wirecol", > 656, null); >
--- Unsubscribe? Mail Majordomo@(protected) with the following text in body: unsubscribe xsi
|
|