首 页
|
VR新闻动态
|
VR教学频道
|
VR软件硬件
|
VR应用频道
|
VR专题活动
|
CG频道
|
游戏频道
|
VR论坛
|
您的位置:
86VR
>
VR教学频道
>
技术教程
>
Virtools
> virtools dev中文手冊简体教程共享[3-8]
站点最新
Virtools精彩实例教程
DOSCH 3D发布Garden Designer V2
Blur Studios创始人Tim Miller访谈
PS3首发游戏——天堂之剑
SIG 2005亮出可编程性实时光线跟踪…
VR4all最新会员作品
虚拟现实引擎Unigine v0.32 发布
基于城市航空立体像对的全自动三维…
地理信息系统平台GIS——三维GIS的…
室内样板房演示(turntool)
热门文章
OpenGL面面观
综合3D模型资源网站
virtools dev中文手冊简体教程共享…
虚拟小屋(Cult3D)
Land of the Dead
Motorola手机演示(WireFusion)
shockwave之Sabeltann游戏
光照计算软件Light Map Maker全面…
虚拟商业产品系统解决方案SUBDO 软…
科幻作品欣赏
virtools dev中文手冊简体教程共享[3-8]
类型:整理 | 来自:
86VR
| 时间:2005-6-21 | 点击:
·第 1 页:
制作一个追踪目标的摄影机
·第 2 页:
障碍物回避的处理
·第 3 页:
如何将「行为模块」组合成行为模块流程
·第 4 页:
参考术语表
·第 5 页:
制作Virtools的3D角色与对象之技巧
·第 6 页:
VIRTOOLS的主要编辑器群及档案格式
下载插件:
点这里下载
LESSON 3: 制作一个追踪目标的摄影机
这一课将会教您如何在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将第一个被触发激活。
一旦该「行为模块」的工作完成(切换到New Camera),SetAsActiveCamera将藉由它盒子上的「输出端」送出一个讯号。若是我们希望接下来要执行CameraOrbit,我们得在SetAsActiveCamera的「输出端」与CameraOrbit的「输入端」之间建立起连结才行。
· 点选Schematic view工具列中的Link选项。
· 在SetAsActiveCamera里选择output。
· 在CameraOrbit里选择input。
到这里,我们已经建立起下列的简单「行为模块」流程了:
1. 激活演出场景。
2. 执行SetAsActiveCamera。
3. 运算绘制场景。
4. 执行CameraOrbit。
注意我们刚刚所建立的连结上头显现的指示0/0:这代表该连结所会延续(delay)的时间。它告诉我们从SetAsActiveCamera的「输出端」传送到CameraOrbit的「输入端」需要花费0个Frame的时间。换句话说,SetAsActiveCamera与CameraOrbit两个动作在以Frame为执行单位里已经被串成一个执行程序。
· 按下状态区里的Play按钮,以激活演出场景。
如您所见,现在New Camera变成了active camera(Virtools以此camera为最起始的视点,算出整个场景),目前此camera正锁定在角色上。要是您使用数字键盘上的方向键让该角色在场景里四处移动一下,您会发现New Camera并没有跟着角色而动。别担心,看看我们刚建立的流程:原因出在于我们只要求该camera在开始演出场景时锁定角色一次而已。
· 按「Restore Initial Condition」(回复初始条件)按钮 停止演出。
· 按下状态区里的Play 按键,再次激活演出场景。
正如您所看到的,现在camera再一次地对准了目标角色。当然啦,要是您现在将角色移开的话,camera是还不会跟着走的。
· 按「Restore Initial Condition」(回复初始条件)按钮 停止演出。
步骤6:在「CameraOrbit」里加入一个循环(Creating a feedback loop on the behavior CameraOrbit)
要想让camera持续锁定追踪该角色,我们必须在每个frame运算前都执行一次CameraOrbit才行。要达到这个效果,我们得在它的「输出端」和「输入端」间建立起一道延续值为1个Frame的连结。如此,「行为模块」CameraOrbit将会在每个新的Frame开始执行时,重复执行一次。
· 在Schematic view工具列里点选Link指令。
· 先在CameraOrbit里选择output。
· 再将鼠标移向右边,并轻击一下以创造一个连结控制点(link control point)。
· 如下页所示般,轻击鼠标,继续创造另外两个连结控制点。
· 按下CameraOrbit的「输入端」。
· 按下Restore Initial Condition 按钮以停止演出播放。
· 现在,按下Status Bar上的Play 按钮,重新播放一次演出场景。
我们发现camera已经会追踪锁定移动中的角色了,因为「行为模块」CameraOrbit在每个frame绘制之前都会被重新执行一次。按下Schematic工具列上的Trace按钮以激活Trace模式,并实时地观察执行中的「行为模块」:您会看到以红色的高亮度显示着的「行为模块」CameraOrbit正一次又一次不断地执行着。
恭喜啦!您已经在Schematic view里创作了自己的第一个「行为模块」流程了。在下一课中,我们将让您知道,当您能将Schematic view运用自如的时候,Virtools能够展示多么强大的威力!记得要储存您辛苦完成的作品哦,因为您将会于下一课里在上头继续增添新的东西。只要用第2课里所学到的Virtools Player就可以随时观赏您的得意作品了!
分页:
[1]
[2]
[3]
[4]
[5]
[6]
可打印版本
|
文章评论
|
我来纠错
上一页:
这是文档的第一页
下一页:
障碍物回避的处理
上篇文章:
Virtools 的虚拟场景运用篇
返回:
Virtools
下篇文章:
Virtools精彩实例教程
相关文章
Virtools精彩实例教程
[2005-07-15]
Virtools 的虚拟场景运用篇
[2005-06-15]
封装VT文件到一个EXE文件中的方法
[2005-06-13]
浅谈virtools和shockwave 3D
[2005-06-03]
virtools dev中文手冊简体教程共享[1-2]
[2005-06-03]
更多相关文章……
网友评论
{author}
({ip}):
({time})
-
报告问题评论
{content}
笔名:
内容:
友情
链接
投稿热线
-
友情链接
-
广告服务
-
网站地图
-
联系方式
-
关于我们
©Copyright by 86VR.COM, 2002-2005. All rights reserved.