Mailing List
Home
Forum Home
Softimage
Carrara
trueSpace
Dir3d-l
Maya - a powerful 3D animation and visual effects software
Macromedia Flash Development
Subjects
Cameras
scaleDown command
black out solved
Aircraft Tutorial
Mathematical XYZ ?
Its done This vs That
Its done first week
recommendations for screen video captures?
3DExplorer "Oddity "
New Director
ProTeam renewals
Fuel 's new websites (X post)
Blue peter create a make toy
targeting groups question
XPost: Shockwave 3D game ( sort of )
RES: RES: RES: Fish Modeling
Emitting particles from object intersection
Fuel 's new websites (X post)
Texturing
Big Break Contest Videos
New Plugins
Models and Texture on my updated site
Error Installing Patch tS6 6
Plasma?
Looking for Inspiration
Weird EMail Q
It 's done first week ?
Cherry not cranberry
New game
Camera Animation Problem
Particle plugins?
 
Shape Correction Limitation / Bug?

Shape Correction Limitation / Bug?

2005-04-06       - By Jabbar Raisani

 Back
Reply:     1     2     3     4  

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);

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859 (See http://iso-8859.ora-code.com)-1">
<META content="MSHTML 6.00.2800.1491" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Arial size=2>Hello,</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>I am trying to do some shape correction on an
object after is has been animated.</FONT></DIV>
<DIV><FONT face=Arial size=2>Essentially I want the shape correction to happen
after the Envelope Operator.</FONT></DIV>
<DIV><FONT face=Arial size=2>If I switch to Secondary Shape Modeling mode and
move points to make my correction</FONT></DIV>
<DIV><FONT face=Arial size=2>everything works great.&nbsp; Now I want to save
that correction out as a shape that is applied</FONT></DIV>
<DIV><FONT face=Arial size=2>after the envelope op.&nbsp; I can't seem to find
a
way to get this type of functionality.&nbsp; If I use</FONT></DIV>
<DIV><FONT face=Arial size=2>Save Shape Key, the mesh looks&nbsp;the
same&nbsp;on the frame that the save shape key was</FONT></DIV>
<DIV><FONT face=Arial size=2>applied, but not on all of the </FONT><FONT
face=Arial size=2>other frames.&nbsp; I have also tried moving the Envelope
Operator </FONT></DIV>
<DIV><FONT face=Arial size=2>underneath the </FONT><FONT face=Arial
size=2>Cluster Shape Combiner, but this gives me a different shape that isn't
the</FONT></DIV>
<DIV><FONT face=Arial size=2>one that I want.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>At the bottom of this email is a script that will
recreate the situation I am referring to.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>Any Suggestions.&nbsp; Thanks in
advance,</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>-Jabbar</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT size=2>
<P>NewScene(null, null);</P>
<P>CreatePrim("Sphere", "MeshSurface", null, null);</P>
<P>Create2DSkeleton(0, -4.0240106737179, 2.11615939152983, 0, 4.66715683959918,
-1.45631506687308, 0, 90, 0, 4, null, null);</P>
<P>ActivateObjectSelTool(null);</P>
<P>ActivateObjectSelTool(null);</P>
<P>DeselectAll();</P>
<P>SelectObj("sphere", null, true);</P>
<P>SetValue("Context.constructionmode", 2, null);</P>
<P>ApplyFlexEnv("sphere;bone,eff", false, 2);</P>
<P>ActivateVertexSelTool(null);</P>
<P>ActivateVertexSelTool(null);</P>
<P>SelectGeometryComponents("sphere.pnt[14,15,21,22,28,29]");</P>
<P>Translate(null, 1.77524985665421, 0, 0, siRelative, siGlobal, siObj, siXYZ,
null, null, null, null, null, null, null, null, null, 2);</P>
<P>Undo();</P>
<P>Translate(null, -1.35337857256848E-16, 3.75417294953933, 2.21030793829245,
siRelative, siView, siObj, siXYZ, null, null, null, null, null, null, null,
null, null, 2);</P>
<P>ActivateObjectSelTool(null);</P>
<P>ActivateObjectSelTool(null);</P>
<P>SelectObj("bone", null, true);</P>
<P>Undo();</P>
<P>Undo();</P>
<P>Undo();</P>
<P>SetValue("Context.constructionmode", 3, null);</P>
<P>Translate(null, -1.33764161242234E-16, 3.98559456971641, 2.18460668319603,
siRelative, siView, siObj, siXYZ, null, null, null, null, null, null, null,
null, null, 3);</P>
<P>ActivateObjectSelTool(null);</P>
<P>ActivateObjectSelTool(null);</P>
<P>SelectObj("sphere", null, true);</P>
<P>SelectObj("bone", null, true);</P>
<P>Rotate(null, 0, 0, 66.6621366768366, siRelative, siLocal, siObj, siXYZ, null
,
true, null, null, null, null, null, 3);</P>
<P>Undo();</P>
<P>SaveKey("bone.kine.local.rotx,bone.kine.local.roty,bone.kine.local.rotz", 1,
null, null);</P>
<P>SetValue("PlayControl.Current", 100, null);</P>
<P>Rotate(null, 0, 0, -41.982738824779, siRelative, siLocal, siObj, siXYZ, null
,
true, null, null, null, null, null, 3);</P>
<P>SaveKey("bone.kine.local.rotx,bone.kine.local.roty,bone.kine.local.rotz",
100, null, null);</P>
<P>SelectObj("sphere", null, null);</P>
<P>SetValue("PlayControl.Key", 100, null);</P>
<P>SetValue("PlayControl.Current", 100, null);</P>
<P>Duplicate("sphere", null, 2, 1, 1, 0, 0, 1, 0, 0, null, null, null, null,
null, null, null, null, null, null, 0);</P>
<P>Duplicate("sphere1", null, 2, 1, 1, 0, 0, 1, 0, 0, null, null, null, null,
null, null, null, null, null, null, 0);</P>
<P>SelectObj("sphere1", null, null);</P>
<P>SelectObj("sphere.polymsh", null, null);</P>
<P>//ERROR : Object doesn't support this property or method - [line 59]</P>
<P>SelectObj("sphere", null, null);</P>
<P>SetValue("sphere.Name", "No_Shapes", null);</P>
<P>SetValue("No_Shapes.Name", "No_Shape_Correction", null);</P>
<P>SelectObj("sphere1", null, null);</P>
<P>SetValue("sphere1.Name", "Shape_Correction", null);</P>
<P>SaveShapeKey("Shape_Correction", null, null, 100, null, null, null, null,
siShapeLocalReferenceMode);</P>
<P>SetValue("PlayControl.Key", 8, null);</P>
<P>SetValue("PlayControl.Current", 8, null);</P>
<P>SelectObj("sphere2", null, null);</P>
<P>SelectObj("Shape_Correction", null, null);</P>
<P>SetValue("Shape_Correction.Name", "Shape_Correction_EnvOp_After_ClsShapComb"
,
null);</P>
<P>SelectObj("sphere2", null, null);</P>
<P>SaveShapeKey("sphere2", null, null, 8, null, null, null, null,
siShapeLocalReferenceMode);</P>
<P>SelectObj("sphere2.polymsh.envelopop", null, null);</P>
<P>CopyPaste("sphere2.polymsh.envelopop", null,
"sphere2.polymsh.modelingmarker", 1);</P>
<P>SelectObj("sphere2", null, null);</P>
<P>SelectObj("Shape_Correction_EnvOp_After_ClsShapComb", null, null);</P>
<P>SetValue("Shape_Correction_EnvOp_After_ClsShapComb.Name",
"Shape_Correction_EnvOp_After_ClsShapComb", null);</P>
<P>SelectObj("sphere2", null, null);</P>
<P>SetValue("sphere2.Name", "Shape_Correction_EnvOp_Before_ClsShapComb",
null);</P>
<P>ActivateObjectSelTool(null);</P>
<P>ActivateObjectSelTool(null);</P>
<P>DeselectAll();</P>
<P>MakeLocal("Shape_Correction_EnvOp_Before_ClsShapComb.display",
siNodePropagation);</P>
<P>SetValue("Shape_Correction_EnvOp_Before_ClsShapComb.display.wirecol", 15,
null);</P>
<P>MakeLocal("No_Shape_Correction.display", siNodePropagation);</P>
<P>SetValue("No_Shape_Correction.display.wirecol", 242, null);</P>
<P>MakeLocal("Shape_Correction_EnvOp_After_ClsShapComb.display",
siNodePropagation);</P>
<P>SetValue("Shape_Correction_EnvOp_After_ClsShapComb.display.wirecol", 656,
null);</P></FONT></DIV></BODY></HTML>