virtools dev中文手册简体教程
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
virtools dev中文手冊简体教程(一)
制作一个追踪目标的摄影机
这一课将会教您如何在Schematic view里自由地组合「行为模块」,以便在您的组件上加入进阶的「行为模块」的互动控制。在本课的例子里,我们将会创造出一个会自动锁定角色头部的camera,而当我们移动该角色时,该camera也会跟着角色在场景中四处移动,并保持动态的锁定状态。由于这是您第一次在Schematic View里以图像化方式撰写Virtools程序的经验,这是Virtools非常核心与重要的部分,我们建议您最好一步一步地跟随课程的指示循序渐进,并且仔细地看过所有的解释与说明,如此我们保证您将会事半功倍,马上进入状况。这一课里包含了许多关于Virtools如何运作的重要概念基础,请用心学习哦!
步骤1:新增一个镜头(Creating a new camera)
·在「3D Layout」工具列里点选「Create Camera」(新增镜头)。此时,在场景中会出现一个新的镜头,取代了原先的Perspective View.
恭喜您,您刚刚创造了一个名为New Camera的新camera。这个新的camera会出现在与原来所在Perspective View camera(透视视角镜头)相同的位置上。现在,一个新的面版将出现在Level Manager的右边:Camera Setup view。这个面版让您能够检视与编辑所有关于这个camera的设定参数(包括位置、方向、视线范围……等等)。这个新增的camera可以从几个地方呼叫出来:您能够从Manager 里的Camera资料夹里开启;也可以在3D Layout view中的Available Cameras下拉选单里找到它。为了能在3D Layout里看见这个新的camera,您将需要切回先前窗口的状态(Perspective View)
·从「Available Cameras」(镜头类型)下拉选单里选取「Perspective View」(透视视角)使镜头回复标准透视视角。
·点选「Dolly Camera」(推移镜头)图标,这时候使用Dolly camera(推移镜头)向后移动一点点。
·在3D Layout窗口中按下滑属左键,并慢慢地向3D Layout窗口下方拉动鼠标,这时候,我们可以从比较远的距离观察我们的场景(相当于镜头拉离我们所建构的实验室)。这个动作让我们能够看到我们之前所创造出来的新camera,这个新camera目前以一个白色摄影机状的盒子来表示。
·按下Orbit Camera 按钮以环视整个场景。如果没有意外的话,您将会看见您所设定的camera跟它所锁定的目标,两者间透过一条黄色的线连结起来。
步骤2:对镜头指定「行为模块」(Applying behaviors to the camera)
我们想要让New Camera达成的任务如下:首先,我们希望能够在一进入这个场景的同时,就以New Camera来作为我们的观察视点(这件事情只要透过『行为模块』
SetAsActiveCamera就可以达成了)。然后,我们想要使New Camera能够持续地锁定角色,再说清楚一点,也就是在Virtools开始算运算其它图形资料之前,就先将镜头所定在角色上面(使用『行为模块』CameraOrbit)。
·选取「Building Blocks」卷标。
·打开「Cameras」资料夹。
·打开「Montage」资料夹。
·将「行为模块」「SetAsActiveCamera」拖放到指定的镜头上。
·选取「Schematic」卷标,从Schematic可以检视摄影机互动模块的组合状态(New Camera script)。
一个代表SetAsActiveCamera的方块出现,方块的左边有一个输入端(input),而右边则有一输出端(output)。
·从「Building Blocks」面版中打开「Cameras/Movement」资料夹。
·将「行为模块」CameraOrbit拖放到Schematic view里,摆在「行为模块」SetAsActiveCamera之右,如图所示。
·在Schematic view里将鼠标移到CameraOrbit「行为模块」方块上按下右键,这时会出现一个选单,然后在选单里选择Edit parameters。这个动作将会开启一个对话框,这个对话框能让您指定该camera所要锁定的目标。
·点选按键(Eyedropper button),并从3D Layout视角中选取角色Scientist。
·点取OK。
步骤3:设计一套「行为模块流程」(Designing a behavior flowchart.)
现在,我们的New Camera已经拥有两个「行为模块」了。注意:在Virtools里所有的「行为模式」实时处理与绘制,每执行一个Frame(画格)都依循下列的执行程序运作:
- 处理「行为模块」
- 运算绘制场景
- 处理「行为模块」
- 运算绘制场景
- 依此类推
在Virtools中,一个基本处理周期(basic cycle)(包括一次的『行为模块』处理与场景算图)被称为一个Frame(画格)。举例来说,frame rate(画格更新率)为30 fps
代表了上述的基本处理周期在一秒钟里需要被连续执行30次。在这一课里,我们将会以Frame的概念来描述所有的「行为模块」是如何地被连续组合起来的。
注意:Frame这个字在Virtools也指在3D环境里被用来标示一个位置或是有方向性的虚拟对象,小心别混淆了(其实在其它的软件里如3DMAX,这样的对象通常被叫做Dummy)。
以下就是我们所希望在camera上所执行之「行为模块」的顺序:
1. 激活演出场景。
2. 切换到New Camera(执行SetAsActiveCamera)。
3. 运算绘制场景。
4. 让New Camera锁定在角色(执行CameraOrbit)。
5. 运算绘制场景(Render the scene)。
6. 回到第3步(以便在每一个新的Frame绘制之前都能重新执行CameraOrbit)。
步骤4:观察所设定的「行为模块」如何运作(Understanding how behaviors basically work)
在学习如何创造「行为模块流程」之前,我们得花点时间搞清楚「行为模块」是如何运作的。
基本上,所谓的「行为模块」就是一些执行程序中的组件,当其被触发激活时,就会展开特定的作业与效果。这就是它们「输入端」(inputs)(位于每个『行为模块』的左侧)的作用:「输入端」(inputs)接收以事件为基础的讯号(event-based signals),并负责触发该「行为模块」激活之后一连串的处理程序。
某些「行为模块」或许需要设定一些参数以执行它的工作。这些参数能够藉由一群称为「参数输入插脚」(input parameter pins)的小点来输入与控制,您可以在「行为模块」方块的上方找到这些「参数输入插脚」。
一旦某个「行为模块」完成它所负责的任务,它将会传送一些事件基础讯号出去,透过位于盒子右方的「输出端」(outputs),然后接着触发连结到这些「输出端」的其它「行为模块」,继续执行它们的任务。一个「行为模块」的执行结果或许还会输出一些「计算参数」(computing parameters),而这些「计算参数」则是透过盒子下方一些称为「参数输出插脚」(output parameter pins)传送出去的。
步骤5:在Schematic view 里新增「行为模块流程」(Creating the behavior flowchart in the Schematic view)
现在,让我们试试看以一些基本的规则来建立属于自己的「行为模块」流程。我们可以看到在最左边的箭头状的Start尖端与「行为模块」SetAsActiveCamera之间的连结,这连结所代表的意义是:当您按下Play 按键开始播放您的作品时,「行为模块」SetAsActiveCamera将第一个被触发激活。