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" |