Virtools高级教程—Switch On Message 信息传递 - Virtools
Switch On Message
Instruction:
点选(onClick)Ball或是Rock时,Box便移动至点选的物体中,待到达物体后,Box又会自动移动回原位。
Building Blocks:
(a) Switch On Message-Logics/Message/Switch On Message
(b) Get Message Data-Logics/Message/Get Message Data
(c) Move To-3D Transformations/Movement/Move To
(d) Wait Message-Logics/Message/Wait Message
(e) Send Message-Logics/Message/Send Message
(f) Set As Active Camera-Cameras/Montage/Set As Active Camera
(g) Text Display-Interface/Text/Text Display
制作构想:
主要是利用Building Blocks-Send Message、Wait Message与Get Message Data作为命令和资料的传递,再配合Building Blocks-Move To便可使Box移动至指定的位置。
制作步骤:
(a) Box
Switch On Message:设定传入的讯息Message 0-Go To Ball、Message 1-Go To Rock。
Get Message Data:由pIn输入讯息名称并取得发射讯息者的资料-Position,且由pOut传出。
Move To:如图标,由pIn输入Destination Point(X, Y, Z);设定Destination Referential--NULL-,必须以World坐标为参考决定Box的位置;设定行进时间Duration(Minute, Second, Millisecond);PrOGREssion Curve-Box的移动方式以及速率的变化。
注:PrOGREssion Curve曲线斜率愈大表示行进速度愈快;反之斜率愈小表示行进速度愈慢;斜率变为负值表示物体向后倒退(如图标)。
Move To:如图标,设定移动目标点Destination Point(X, Y, Z)。其余设定皆与上面所示Building Blocks-Move To相同。
(b) Ball
Wait Message:等待讯息Message-onClick的传入。
Get Position:取得3D Entity-Ball的位置Position(X, Y, Z)且由pOut输出。
Send Message:设定讯息名称Message-Go to Ball;接收讯息的对象Dest-Box,且由pIn输入变量Position(X, Y, Z)。
(c) Rock
Wait Message:其设定与Ball的Building Blocks-Wait Message相同。
Get Position:其设定与Ball的Building Blocks-Get Position相同。
Send Message:其设定与Ball的Building Blocks-Send Message相同。
(d) Camera