Virtools 高级教程—Interpolator Matrix矩形变换 - Virtools
Interpolator Matrix
Instruction:
使Statue随着预先设定的位置移动,且Direction也依设定而改变,可以表现出物体飘移的效果。
Building Blocks:
(a) Set As Active Camera-Cameras/Montage/Set As Active Camera
(b) Text Display-Interface/Text/Text Display
(c) Key Event-Controllers/Keyboard/Key Event
(d) Bezier PrOGREssion-Logics/Loops/Bezier PrOGREssion
(e) Interpolator-Logics/Interpolator/Interpolator
(f) Set Local Matrix-3D Transformations/Basic/Set Local Matrix
制作构想:
利用Building Blocks-Set Local Matrix设定Statue行进四个位置的Matrix值(包含值Right, Up, Dir, Position),配合Building Blocks-Bezier PrOGREssion、Interpolator即可达到Statue缓慢移动的效果。
制作步骤:
(a) Camera
Set As Active Camera:设定现在所使用的Camera。
设定Target-NA即正前方。 Text Display:文字说明。
(b) Statue
Key Event:设定当按下控制键0时传递出讯息。
Bezier PrOGREssion:设定Duration-表示动作持续执行的时间;设定A、B值-表示Bezier-interpolated的最大与最小值。
调整物体行进曲线PrOGREssion Curve (如图标)。
利用由pOut输出的变量值Value作为Building Blocks-Interpolator的内插值。
注:PrOGREssion Curve曲线斜率愈大表示行进速度愈快;反之斜率愈小表示行进速度愈慢;斜率变为负值表示物体向后倒退(本范例已设定行进路线的Position,故不能使Statue倒退);斜率不变表示行进速率相等(如图标)。
Interpolator:首先设定Edit Parameter/Parameter Type-Matrix,C值为输出值可以忽略不必设定(如图标)。
设定A、B值即Matrix变化的初始以及最终值(其中第一个Building Blocks-Interpolator的B值必须和第二个Building Blocks-Interpolator的A值相同,同理第二个Building Blocks-Interpolator的B值必须和第三个Building Blocks-Interpolator的A值相同,这样才能使Statue产生流畅移动的效果)。
由pIn输入变量Value作为内插值,再由pOut输出变量Matrix作为Building Blocks-Set Local Matrix的Local Matrix值。