View Full Version : scripted expressions problem

02 February 2008, 05:37 PM
hi all

i'm trying to script an expression. the only thing is i cant get
it to add the vector target. the error reads when i try add a vertorTarget

-- Runtime error: IExprCtrl::AddVectorTarget - Target needs to be
controller or subAnim, got: $Bone:Bone29 @ [1.955015,1.674374,4.940584]

i guess its asking for the none transform node or the Subanim base
object. but i dont know how to feed it that object vias script. i
thought it might be $Bone29[4] which is subanim: Boneobject. all i'm
trying to do is get it to read the objects position in space. done by
hand its the node above the transform in the trackwiew pick diologue.

here is what i have it adds the expression but no the vector target.

mybone = $bone16
Vecobj = $Bone29
myexp = MyBone.transform.controller.FK_Sub_Control.controller.Position.controller.Zero_Pos_XYZ.controller.X_Position.controller=Float_Expression()

myexp.AddVectorTarget "MyVec" Vecobj

any insights would be extremely helpfull



02 February 2008, 08:29 PM
you need to pass a point3 controller through subanim


if you have a bone you could pass $bone01[3][1]
as this is the subanim for transform[3] position[1]

hope this helps


02 February 2008, 09:59 PM
Ok well i tried what you mention but that dosent work with the expression i have. anyway here is my script i'm trying to make a squash and stretch limb the Paul Neale way so i have this script so that automates the setup.

when the vector is added via the script and i select it in the expression editor to read it it reads.

Assigned to:$point02.transform.controller.position
this is using what you suggested $point02[3][1] in the script
the problem with this is it dosent work with the "lenght" expression in the expression editor.

what i really want it to read is

Assigned to:$point02
this is what it looks like if i pick it manually.
also if i undo my manual operation in the undo window by right clicking on the undo button it has "Blend Euler as Quat" in the window.

mybone = $bone16
ANobj = $bone29[3][1]
ThObj = $point02[3][1]
THbone = $bone30
shinbone = $bone12

myexp = MyBone.transform.controller.FK_Sub_Control.controller.Position.controller.Zero_Pos_XYZ.controller.X_Position.controller = Float_Expression ()

myexp.AddVectorTarget "an" ANobj
myexp.AddVectorTarget "th" THobj

dist1 = distance ThBone shinbone
dist2 = distance shinbone Mybone
mynum = dist1 + dist2

myexp.AddScalarConstant "Con" mynum

myexp.SetExpression "if ((length (an-th)-Con)/2>0,\n(length (an-th)-Con)/2,0)"


anyway there has to be a away to do this if it can be done manually but i cant seem to find the Subanim that its suposed to be.

if you have any insights please let me know.


john vdz

02 February 2008, 04:32 PM
the bigest fool.

i belavie i needed to use the "AddVectorNode" not the AddVectortarget.

wow what a timeburner that small mistake was.

anyway just thought id clear it up.



CGTalk Moderation
02 February 2008, 04:32 PM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.