reactor コントローラ

 

   

アニメーション コントローラ - クイック ナビゲーション

reactor コントローラは、ソフトウェアで他のコントローラによって加えられた変更に対応して機能する手続き型コントローラです。

サポートされている reactor コントローラは、位置 reactor、回転 reactor、Point3 reactor、スケール reactor、およびフロート reactor の 5 種類です。

ソフトウェアでは、アニメート可能なあらゆるパラメータを、同様にアニメート可能な他のパラメータの変更に反応させることが可能です。反応が時間の変化によって引き起こされることはありません。シーン内のその他の要素が基準になります。

-- Setup a scene
ball = sphere name:"ball"pos:[-40,0,50] radius:10
ball.pos.controller = position_XYZ()
-- create some keys
key = addNewKey ball.pos.Zposition.controller 0
key.outTangentType = #slow
key.value = 50
key = addNewKey ball.pos.Xposition.controller 0
key.value = -40
key = addNewKey ball.pos.Zposition.controller 25
key.InTangentType = #fast
key.outTangentType = #fast
key.value = 4
key = addNewKey ball.pos.Xposition.controller 25
key.value = -10
key = addNewKey ball.pos.Zposition.controller 50
key.InTangentType = #slow
key.value = 50
key = addNewKey ball.pos.Xposition.controller 50
key.value = 20
ball.showtrajectory = true
-- assign a reactor controller to the scale of the ball
reactorCtrl= Scale_Reactor()
ball.scale.controller = reactorCtrl
-- Pick the react to object, and create reactions
reactorCtrl.reactions.reactTo ball.pos.ZPosition.controller
reactorCtrl.reactions.setName 1 "UnSquashed"
reactorCtrl.reactions.setVectorState 1 [1,1,1]
reactorCtrl.reactions.create name: "Squashed"
reactorCtrl.reactions.setVectorState 2 [1.5,1.5,.4]
reactorCtrl.reactions.setValueAsFloat 2 10
reactorCtrl.reactions.setInfluence 1 6
reactorCtrl.reactions.setInfluence 2 5.5
reactorCtrl.reactions.setStrength 2 1.5
reactorCtrl.reactions.setFalloff 1 1.75
ss = StringStream""
reactorCtrl.reactions.getType()
ct = reactorCtrl.reactions.getCount ()
format "Reactor Statistics: \n------------------------------\n \n" to:ss
format "Count : %\n" ct to:ss
format "\n" to:ss
for i =1 to ct do
(
format "Reaction #: % \n------------------------------------------------
Name : %
State: %
Value: %
Strength: %
Influence : %
Falloff: % \n\n"(i)\
(reactorCtrl.reactions.getName i)\
(getReactionState reactorCtrl i)\
(getReactionValue reactorCtrl i)\
(reactorCtrl.reactions.getStrength i)\
(reactorCtrl.reactions.getInfluence i )\
(reactorCtrl.reactions.getFalloff i )to:ss
)
print ss
 

関連事項