v4.0
character rigging
Uses two guide objects to create a two-point slide setup. A two-point slide setup consists of 'Bind' object and two control objects, 'Top' and 'Base' that control the Bind object by a two point constraint. Optionally the orientation of the Bind object can be controlled with an upvector, and constrained to avoid an implicit volume object (bounding volume).
oPointSlide = Make2PointSlide( [Prefix], GuidePoint1, GuidePoint2, Parent1, Parent2, [UpVector], [BoundingVolume] ); |
Returns a PointSlide JScript object.
| Parameter | Type | Description |
|---|---|---|
| Prefix | String | The name prefix for the newly created slide nulls. |
| GuidePoint1 | String | 3D Object, whose pose will be assumed by the first slide object. |
| GuidePoint2 | String | 3D Object, whose pose will be assumed by the second slide object. |
| Parent1 | String | The parent under which the first slide object will be placed. |
| Parent2 | String | The parent under which the second slide object will be placed. |
| UpVector | String | An upvector object to control the orientation of the Binding Point. |
| BoundingVolume | String | A bounding volume implicit to stay outside of when sliding. |
/*
This example creates a two point slide where the bind null is bounding
volume constrained and controlled by an upvector.
*/
var Target1 = GetPrim("Null", "Target1", null);
var Target2 = GetPrim("Null", "Target2", null);
var Parent1 = GetPrim("Null", "Parent1", null);
var Parent2 = GetPrim("Null", "Parent2", null);
var UpVector = GetPrim("Null", "UpV", null);
var BoundingVol = GetPrim("Sphere", "BoundingVol" , null);
//
// Position the guide objects
//
var lXfm = Target1.Kinematics.Global.Transform;
lXfm.SetTranslationFromValues(-2,0,0);
Target1.Kinematics.Global.Transform = lXfm;
lXfm.SetTranslationFromValues(-2,5,0);
Target2.Kinematics.Global.Transform = lXfm;
// upvector
lXfm.SetTranslationFromValues(0,3,0);
UpVector.Kinematics.Global.Transform = lXfm;
var TwoPtSlide = Make2PointSlide("ABC",Target1,Target2,Parent1,Parent2,UpVector,BoundingVol);
logmessage ("Data in the returned two point slide object:");
logmessage ("-------------------------------------------");
logmessage ("Bind Null : " + TwoPtSlide.BindNull);
logmessage ("Top Null : " + TwoPtSlide.TopNull);
logmessage ("Base Null : " + TwoPtSlide.BaseNull);
logmessage ("Constraint: " + TwoPtSlide.Constraint);
logmessage ("Hidden : " + TwoPtSlide.Hidden);
logmessage ("Envelope : " + TwoPtSlide.Envelope);
//results of running this script:
//INFO : "Data in the returned two point slide object:"
//INFO : "-------------------------------------------"
//INFO : "Bind Null : ABCBind"
//INFO : "Top Null : ABCTop"
//INFO : "Base Null : ABCBase"
//INFO : "Constraint: ABCBind.kine.2ptscns"
//INFO : "Hidden : ABCTop,ABCBase"
//INFO : "Envelope : ABCBind"
|