Virtools進阶教程—ClickToRotateAndScale点击缩放.docVIP

  • 8
  • 0
  • 约4.79千字
  • 约 6页
  • 2016-10-16 发布于重庆
  • 举报

Virtools進阶教程—ClickToRotateAndScale点击缩放.doc

Virtools進阶教程—ClickToRotateAndScale点击缩放

Virtools 进阶教程—Click To Rotate And Scale点击缩放 Click To Rotate And Scale Instruction: 本范例利用Mouse点选物体,再用拖曳的方式使物体旋转或缩放尺寸;物体的旋转会随着拖曳方向的不同而异,而尺寸变化的情形也相同。 Building Blocks: (a) Mouse Waiter-Controllers/Mouse/Mouse Waiter (b) Get Mouse Position-Controllers/Mouse/Get Mouse Position (c) 2D Picking-Interface/Screen/2D Picking (d) Switch On Parameter-Logics/Streaming/Switch On Parameter (e) Binary Memory-Logics/Streaming/Binary Memory (f) While-Logics/Loops/While (g) Identity-Logics/Calculator/Identity (h) Send Message-Logics/Message/Send Message (i) Has Attribute-Logics/Attribute/Has Attribute (j) Key Waiter-Controllers/Keyboard/Key Waiter (k) Parameter Selector-Logics/Streaming/Parameter Selector (l) Text Display-Interface/Text/Text Display (m) Set Attribute-Logics/Attribute/Set Attribute (n) Scale-3D Transformations/Basic/Scale (o) Wait Message-Logics/Message/Wait Message (p) Get Message Data-Logics/Message/Get Message Data (q) Rotate-3D Transformations/Basic/Rotate (r) Set As Active Camera-Cameras/Montage/Set As Active Camera (s) Camera Orbit-Cameras/Movement/Camera Orbit 制作构想: 将Mouse所点选的坐标位置输入Building Blocks-2D Picking,可以得到所选择的物体(Rock或Box),再利用Building Blocks-Key Waiter选择物体旋转或是尺寸缩放。 在物体的旋转方面,利用Mouse移动时的相对坐标(X, Y),再经由算法分别取得物体在X轴与Y轴的旋转角度值;尺寸缩放方面,利用Mouse移动时X方向的变化量再经由算法取得尺寸的缩放值。其中,物体旋转的方向和尺寸的缩放均会随着拖曳方向而有所不同,充分表现了Mouse操控与物体变化间的互动性。 制作步骤: (a) Mouse Mouse Waiter:等待讯息的传入,在Edit Setting中只需勾选 Left Button Down 与 Left Button Up ,如图标。 Get Mouse Position:当 Left Button Down 讯息传入后,即得到Mouse Cursor的坐标位置Position(X, Y),其中X值作为一个快捷方式X0且与坐标位置Position由pOut输出。 2D Picking:由pIn输入Mouse Cursor 2D的坐标位置Position而得到一物体,并于pOut输出该物体;Window Relative-False。 Switch On Parameter:由pIn输入快捷方式Action(rotate或scale),如果Action为参数1-rotate,则由Out-1输出至Behavior Graph-Rotate Object;如果Action为参数2-scale,则由Out-2输出至Behavior Graph-Scale Object。 Rotate Object:当 Left Button Up 讯息传出后,则由Input1输入Behavior Graph-Rotate Object。 Binary Memory:判断讯息,如果由In1输入,则由pOut输出State Memory-True;如果由In2输入,则由pOut输出Stat

文档评论(0)

1亿VIP精品文档

相关文档