打开virtools后显示弹出这个框新股打开是什么意思思

查看: 516|回复: 1
最后登录注册时间阅读权限100积分52699
纳金币52191 精华30
这一课Virtools中文将会教您如何在Schematic view里自由地组合「行为模块」,以便在您的组件上加入进阶的「行为模块」的互动控制。在本课的例子里,我们将会创造出一个会自动锁定角色头部的camera,而当我们移动该角色时,该camera也会跟着角色在场景中四处移动,并保持动态的锁定状态。 由于这是您第一次在Schematic View里以图像化方式撰写Virtools程序的经验,这是Virtools非常核心与重要的部分,我们建议您最好一步一步地跟随课程的指示循序渐进,并且仔细地看过所有的解释与说明,如此我们保证您将会事半功倍,马上进入状况。这一课里包含了许多关于Virtools如何运作的重要概念基础,请用心学习哦!
步骤1:新增一个镜头(Creating a new camera)
o 在「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)
o 从「Available Cameras」(镜头类型)下拉选单里选取「Perspective View」(***视角)使镜头回复标准***视角。
o 点选「Dolly Camera」(推移镜头)图标
,这时候使用Dolly camera(推移镜头)向后移动一点点。
o 在3D Layout窗口中按下滑属左键,并慢慢地向3D Layout窗口下方拉动鼠标,这时候,我们可以从比较远的距离观察我们的场景(相当于镜头拉离我们所建构的实验室)。这个动作让我们能够看到我们之前所创造出来的新camera,这个新camera目前以一个白色机状的盒子来表示。
o 按下Orbit Camera
按钮以环视整个场景。如果没有意外的话,您将会看见您所设定的camera
跟它所锁定的目标,两者间透过一条黄色的线连结起来。
步骤2:对镜头指定「行为模块」(Applying behaviors to the camera)
我们想要让New Camera达成的任务如下:首先,我们希望能够在一进入这个场景的同时,就以New Camera来作为我们的观察视点(这件事情只要透过『行为模块』SetAsActiveCamera就可以达成了)。
然后,我们想要使New Camera能够持续地锁定角色,再说清楚一点,也就是在Virtools开始算运算其它图形资料之前,就先将镜头所定在角色上面(使用『行为模块』CameraOrbit)。
o 选取「Building Blocks」卷标。
o 打开「Cameras」资料夹。
o 打开「Montage」资料夹。
o 将「行为模块」「SetAsActiveCamera」拖放到指定的镜头上。
o 选取「Schematic」卷标,从Schematic可以检视摄影机互动模块的组合状态(New Camera script)。
一个代表SetAsActiveCamera的方块出现,方块的左边有一个输入端(input),而右边则有一输出
端(output)。
o 从「Building Blocks」面版中打开「Cameras/Movement」资料夹。o 将「行为模块」CameraOrbit拖放到Schematic view里,摆在「行为模块」SetAsActiveCamera之右,如图所示。
o 在Schematic view里将鼠标移到CameraOrbit「行为模块」方块上按下右键,这时会出现一个选单,然后在选单里选择 Edit parameters。这个动作将会开启一个对话框,这个对话框能让您指定该camera所要锁定的目标。o 点选按键(Eyedropper button),并从 3D Layout视角中选取角色Scientist。
o 点取OK。
步骤3:设计一套「行为模块流程」(Designing a behavior flowchart.)
现在,我们的New Camera已经拥有两个「行为模块」了。
注意:在Virtools里所有的「行为模式」实时处理与绘制,每执行一个Frame(画格)都依循下列的执行程序运作:
- 处理「行为模块」
- 运算绘制场景
- 处理「行为模块」
- 运算绘制场景
- 依此类推
在Virtools中,一个基本处理周期(basic cycle)(包括一次的『行为模块』处理与场景算图)被称为一个Frame(画格)。举例来说,frame rate(画格更新率)为30 f代表了上述的基本处理周期在一秒钟里需要被连续执行30次。在这一课里,我们将会以Frame的概念来描述所有的「行为模块」是如何地被连续组合起来的。
注意:Frame这个字在Virtools也指在3D环境里被用来标示一个位置或是有方向性的虚拟对象,小心别混淆了(其实在其它的软件里如,这样的对象通常被叫做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的「输入端」之间建立起连结才行。
o 点选Schematic view工具列中的Link选项。
o 在SetAsActiveCamera里选择output。
o 在CameraOrbit里选择input。
到这里,我们已经建立起下列的简单「行为模块」流程了:
1. 激活演出场景。
2. 执行SetAsActiveCamera。
3. 运算绘制场景。
4. 执行CameraOrbit。
注意我们刚刚所建立的连结上头显现的指示0/0:这代表该连结所会延续(delay)的时间。它告诉我们从SetAsActiveCamera的「输出端」传送到CameraOrbit的「输入端」需要花费0个Frame的时间。
换句话说,SetAsActiveCamera与CameraOrbit两个动作在以Frame为执行单位里已经被串成一个执行程序。
o 按下状态区里的Play按钮,以激活演出场景。
如您所见,现在New Camera变成了active camera(Virtools以此camera为最起始的视点,算出整个场景),目前此camera正锁定在角色上。
要是您使用数字键盘上的方向键让该角色在场景里四处移动一下,您会发现New Camera并没有跟着角色而动。别担心,看看我们刚建立的流程:原因出在于我们只要求该camera在开始演出场景时锁定角色一次而已。
o 按「Restore Initial Condition」(回复初始条件)按钮停止演出。
o 按下状态区里的Play
按键,再次激活演出场景。
正如您所看到的,现在camera再一次地对准了目标角色。当然啦,要是您现在将角色移开的话,camera是还不会跟着走的。
o 按「Restore Initial Condition」(回复初始条件)按钮止演出。
步骤6:在「CameraOrbit」里加入一个循环
(Creating a feedback loop on the behavior CameraOrbit)
要想让camera持续锁定追踪该角色,我们必须在每个frame运算前都执行一次CameraOrbit才行。
要达到这个效果,我们得在它的「输出端」和「输入端」间建立起一道延续值为1个Frame的连结。
如此,「行为模块」CameraOrbit将会在每个新的Frame开始执行时,重复执行一次。
o 在Schematic view工具列里点选Link指令。
o 先在CameraOrbit里选择output。
o 再将鼠标移向右边,并轻击一下以创造一个连结控制点(link control point)。
o 如下页所示般,轻击鼠标,继续创造另外两个连结控制点。 o 按下CameraOrbit的「输入端」。
o 按下Restore Initial Conditiono 现在,按下Status Bar上的Play
按钮以停止演出播放。按钮,重新播放一次演出场景。
我们发现camera已经会追踪锁定移动中的角色了,因为「行为模块」CameraOrbit在每个frame绘制之前都会被重新执行一次。按下Schematic工具列上的Trace按钮以激活Trace模式,并实时地观察执行中的「行为模块」:您会看到以红色的高亮度显示着的「行为模块」CameraOrbit正一次又一次不断地执行着。
恭喜啦!您已经在Schematic view里创作了自己的第一个「行为模块」流程了。
在下一课中,我们将让您知道,当您能将Schematic view运用自如的时候,Virtools能够展示多么强大的威力!
记得要储存您辛苦完成的作品哦,因为您将会于下一课里在上头继续增添新的东西。只要用第2课里所学到的Virtools Player就可以随时观赏您的得意作品了!
最后登录注册时间阅读权限100积分52699
纳金币52191 精华30
总目录: 【Virtools中文手册】virtools简介、系统需求和接口操作【Virtools中文手册】创造第一个3D互动场景【Virtools中文手册】如何移动、控制与浏览Virtools里的对象【Virtools中文手册】制作一个追踪目标的摄影机【Virtools中文手册】障碍物回避的处理【Virtools中文手册】如何将「行为模块」组合成行为模块流程【Virtools中文手册】参考术语表&&
站长推荐 /1
纳金名模第55期栏杆模型:数量75个,大小489MB。完全免费下载哦!这样的福利我和我的小伙伴们都惊呆了!!下载地址:
400-067-3919
Powered by - X2.5
Narkii Inc.1397人阅读
Virtools Dev是一款允许你快速简单建立3D内容的应用程序。模型、动画、图象和声音等工业标准媒体都能通过Virtools的行为技术得以应用。你不能在Virtools Dev里创建模型;Virtools Dev不是一款建模软件。但是,象摄影机、灯光、曲线、界面组件和3D结构(在大多数3D软件中叫虚拟助手)等简单的媒体能通过点击一个图标建立。一个动作引擎Virtools是一个动作引擎,那是因为Viortools处理动作。一个动作是某个元素怎样在场景中运动的一个简单描述。Virtools在Virtools Dev中提供一个强大的可以再度使用的行为,它允许你通过简单的绘图界面型的示意编辑器来创建任意类型的内容&除了写一个单一的线路代码。对于编码器和编剧,新的Virtools Scripting Language (VSL)通过提供脚本级别来访问开发工具包。Virtools还有一些管理器来帮助动作引擎完成她的任务。有些管理器(例如时间管理器)存在于动作引擎的内部而另一些管理器(例如声音管理器)则存在于动作引擎的外部。一个渲染引擎Virtools有一个渲染引擎来绘制你在Virtools Dev 3D设计中的图象。Virtools的渲染引擎能被你自己的渲染引擎所取代,或者通过软件开发包(SDK)定制出适合你特殊的需要。注意:任何有权限使用的渲染引擎猿代码都必须服从额外的专利使用权转让协定。一个Web播放器好的技术在它成为被尊重的伟大的技术之前必须是容易接近的。Virtools提供一个免费的Web播放器,它能够被任何人下载并且下载后不到1MB的容量。]Web播放器包括动作引擎和全部的渲染引擎的一个录音重放的译本。对于Web播放器的更多了解可以通过在线参考。一个软件开发工具包Virtools Dev包括一个能访问动作的某个部分和渲染过程的软件开发工具包。用SDK,你能:创建一个新的动作修改现有动作的运行写新的文件给输入和输出文件,来支持你选择的模型文件的格式替换、修改、扩充Virtools Dev的渲染引擎VAL还提供一个接触面从Dev的内部给SDK,所以你可以简单快速的测试新的主意并不用执行自定义动态连接库来执行自定义代码。这些只是例子&你的创造力才是你能够飞多远的限制。元素、种类和物体导向设计总体Virtools Dev 组织元素到种类里。元素包括你带到Virtools Dev中的媒体(模型、声音、材质等)、你在Virtools Dev中创建的东西(曲线、地点、场景等)和象参数、属性、脚本的数据。在这部分中集中在Virtools类层次结构的动作物体分支上的基本的种类包括:Virtools怎样给媒体分类例如,这里有一个在Virtools中包括所有灯光的灯光级别物体。每一盏灯都是灯光级别的场景,并都有它的颜色和范围属性。为什么某个操作给某个元素和种类是可行的例如只有角色才能使用角色动画。& &&&为什么其它的操作能够应用到所有元素上。例如所有的元素都能够激活和无效按照规定,这部分只介绍对大多数人足够的Virtools 类层次结构的动作物体分支。不过你可以在SDK文件中找到关于Virtools类层次结构的全部描述。物体导向设计Virtools Dev把一个物体的导向比做写一个作文。那是因为,每个元素具有一个特殊的类型,每个特殊的类型被一个类定义来描述。在动作和参数实施内部通过使用压缩的方法来控制元素。在Virtools中的每个类别被叫做CKClass.图片1Virtools类层次结构的动作物体分支例如,一个CKClass叫做CKCharacter.。只有CKCharacter能够使用对于角色的动作特定设计。(例如角色控制器BB)Virtools Dev的物体导向性意味着你输入到Virtools Dev(以模型、声音等形式的元素)中的任何事物都是一个CKClass场景。同样,你在Virtools Dev中创建的任何事物也属于一个CKClass。图1-1图解说明了Virtools类层次结构的动作物体分支遗传使用类层次结构的一个优势是遗传原理。那就是,任何元素都有它自身独特的特性并且所有元素都继承了它所有父级别的特性。例如,CKLight遗传如下:1& && &&&CK3DEntity,&&它的遗传如下2& && &&&CKRenderObject,它的遗传如下3& && &&&CKBeObject因此,一个灯光有只应用给CKLight 级别物体特殊的特性,特性如下:& && &灯光类型(点、方向等)& && &灯光颜色(白色、红色等)和灯光的可视范围这些特性能够通过灯光的建立来改变(在创造模式)或者一个积木动作(在运行时间、IE播放模式)。第二,一个灯光是一个三维实体,也就意味它具有通过继承得到的在3D空间内的位置、空间的三维实体特性。因为一个灯光是一个三维实体,能够应用到三维实体上的任何动操作也能应用到灯光上。第三,一个灯光是一个渲染物体,也就意味着它能够被渲染(能够在录音重放中被看到)。因为灯光也是一个渲染物体,所有能应用到渲染物体上的操作也能应用到一个灯光上。最后,灯光还是一个动作物体,也就意味着能有一个动作附着给它们(一些Virtools Dev级别,例如存储内部数据的级别不能有动作附着给它们)。就因为灯光也是一个动作物体,任何能应用到动作物体上的操作也能应用到一个灯光上。特殊作用Virtools Dev提供特殊的动作所以动作对于特殊的任务能够被最优化(也被认为是多态现象)。例如,移动一个3D场景比移动一个人物更简单,所以对于简单的任务移动一个3D场景的动作能够被优化。优化操作对一个给定场景能够减少计算时间导致结构更小,对使用者的输入做出更快的响应并呈现一个可接受的帧频。集合Virtools Dev支持集合,支持在一个元素是另一个元素的一部分但是两个元素又是截然不同的两个元素间合乎逻辑的关系。例如,如果你看到了图1-2&&3D物体的建立,你会看到一个专栏的标签Object Meshes,一个3D物体可以有几个网格,虽然在一个时间内只有一个网格能够激活。如果你看到图1-3的&&网格建立,你会看到一个专栏的标签Materials Used。一个网格可以有几个原料,它们中的几个能够在同一时间内激活。如果你看到图1-4的材质建立,你会看到一个Texture标签。一个原料只能有一种材质。因此,一个描述3D实体(不管它是一个物体还是一个角色等)的元素是有关系的,并且每个元素都保持不受约束。例如,一个材质是材料的一部分,一个材料是一个网格的一部分,一个网格是一个3D物体的一部分。因为每个元素都保持不受约束,所以每个元素的特性都能够快速简单地被改变。事实上,全部的元素都能被另一个兼容元素所交换。例如,你可以改变一个3D物体的网格,材料或者材质&或者任何结合而不用改变3D物体的存在的现实。注意:如果改变一个角色上的网格,那么很可能你的动画就不会象预期那样工作了。运行时间集合、场景层次一个场景是在运行时间内所有元素同时起作用的设置。场景内的元素被组织在一个场景层次内。Virtools Dev在场景层次内提供了一个特殊的集合形态。在运行时间内,元素的关系通过Set Parent和Add Child(两者都在3D 转化/基础中)能够被确定。运行时间集合允许你建立关系在3D实体的任意设置,具有目的的代表性的单一化的应用程序3D实体的转化设置。例如,虽然它能够变得更简单地去做在一个建模的应用软件里,使用Set Parent 和Add Child你可以建造一部汽车作为3D实体的层次;一个有门、车身、轮子的汽车。一旦等级关系被确定,转变就能自动的变化汽车的子物体:门、车身、轮子。注意:Set Parent 和 Add Child只在场景层级中建立关系不能在CKClass层级中建立。如果初始条件设置在受影响的元素之前Set Parent 或者 Add Child然后被激活,当你按Reset IC时,关系被删除。共享元素Virtools Dev对集合的支持允许你能共享例如声音、动画、网格、原料和材质等元素贯穿你的组成。例如两个椅子能共享相同的网格、材料和材质&椅子能够看起来一样而只有名字不同。然而,椅子还可以有相同的网格,不同的材料和材质&椅子将会有相同的形状但看起来不同。共享元素能够极大地减少文件大小和CPU和显示卡的工作量。在组成中减少元素的数量也能使管理组成的发展变得更容易。联合联合允许Virtools Dev建立一个逻辑关系在两个没有被直接指定一个父--子关系在CKClass层级元素之间。例如一个角色经常用一组3D物体联合为了碰撞检查,管理和检查的目的。Virtools类层次结构&动作物体分支点击下面的元素到达相应动作物体的页面看下面的两页概念:元素的组成总体在下面你能看到一些元素的类型在一个Virtools组成中。呈锯齿状表示锯齿状的标签是一个最靠近的先前级别的锯齿状的子物体,根Virtools类层次结构的动作物体分支主要包括元素、层级和物体导向设计。例如,一个2D实体和一个3D实体都是渲染物体的子物体。一个2D结构不是一个渲染物体的子物体而一个2D的结构却是一个派生的渲染物体。元素的组成依照类型和字母顺序安排BeObject&能够被应用一个行为的物体。& && &&&RenderObject&当渲染时能够看得见的物体& && && && && && &&&2D Entity&有长度、宽度但是没有高度的物体& && && && && && && && && & 2D Frame &&&有看得见部分的2D实体& && && && && && &&&3D Entity&有长宽高的物体& && && && && && && && && & Character&担当一种有智力的3D实体的类型,直接被用者或软件控制的物体是可见的,但是通常不是 & && && && && && &&&Camera&定义一点景色的物体& && && && && && &&&Curve &一种描述空间中曲线的3D实体的设置 & && && && && && &&&Grid &一种2D数据设置,它的价值依靠3D物体相配 & && && && && && &&&Light&一种提供照明物体的物体,是不可见的(抽象、数据设置、联合)& && && && && && &&&Array&一种表达一个表格的数据设置& && && && && && &&&Group&一组没有类型限制的任意组合的集合 & && && && && && &&&Level &全部由父物体组成的物体& && && && && && &&&Material&一个网格的表面特征& && && && && && && &&&Mesh &定义一个物体外型的至高点设置& && && && && && &&&Place&关于物体位置的收集&&& && && && && && &&&Scene&关于物体时间的收集&&& && && && && && &&&Sound&一种以数字形式存储的声音&&& && && && && && &&&Texture &用来提供物体表面更好细节的图象The Behavioral Object (BeObject)当在Virtools Dev中动作行为是主要概念时,如果他们没有附加给元素时,他们没有起作用。从行为物体层级能看到所有the Virtools Dev类层级物体的简图。从这些层级示例的物体必须是有动作附加在上面的物体。BeObjects能够有动作但是他们不需要必须有动作。当一个物体有动作附加在上面时,它被确定为这些动作的拥有者。所有的动作只能附加到一个而且只能是一个BeObject上。注意,一个动作的所有者不总是动作的对象。附加到BeObject上的动作可以改变所有者或者改变其它物体(目标)。Level& & 一个可以被描述为:-& && &&&对于所有组成的球形容器-& && &&&在组合中所有元素的根部-& && &&&在组合中所有元素的祖先和父物体在一个CMO中只能有一个层级。层级能够包括不只一个场景并有零个或更多的地方来组织你的组成到更易于管理的部分。一个Level是一个BeObject。因此动作和属性能够被附加到Level上。注意:附加给Level上的脚本能够自动附加给所有场景。Scenes& & 在Virtools Dev里的场景就象是电影中的场景一样。& & 在同一时间内只有一个场景被激活。& & 只有在场景内的元素才能起作用。& & 只有激活的元素才能在摄影机里俘获。不是激活场景里的元素不起作用。他们不能被渲染,并且他们的脚本不能被处理。因此,场景通过完美的方式把组合分割成大比例的叙述元素和大时间基数的时期。当和其它人协作工作时,场景很重要:每个人都可以工作在一个特殊的能够场景里,在那里可以保存和合并到一个CMO里。& &层级场景(包括所有的层级物体)使激活的层级场景启动。当一个新的场景开启的时候,以前激活的场景自动无效。& &一个场景就是一个BeObject,因此动作和属性可以附加到场景上。& &场景包括参考的元素和没有副本的元素或者元素本身。Places and Portals 地点和入口正象场景组织叙述分割到一个层级的方法一样,地点也是组织空间分割到一个场景或一个层级的方法。在一个层级中可以有零个或者更多个地点。在场景和地点之间没有特殊的了连接。地点是3D实体层级的一部分能够包括零个或者更多个3D实体。在地点内部每个地点都可以看作3D实体的父物体。地点和入口被使用来优化渲染阶段,通过摄影机来显示结果。当入口系统(以入口管理器为例)被激活时,规则如下:1在每个渲染过程之前,存在于空间的(包含激活摄影机的)地点目录通过地点限制盒被计算。这些位置,和所有带一个入口的位置,被考虑潜在地可见并被渲染器处理2如果一个元素不是这些位置的成员,这个元素不能被渲染。这个元素马上考虑不可见(即使这个元素被激活并且它的动作被执行)3如果这个入口系统不被激活,通过位置和入口没有优化(每个3D实体被考虑潜在可见并只有一个等级选择被使用),但是位置仍然会被使用来组织3D实体给其它的目标。位置在多人合作工作时仍然很有用,每个人都能工作在一个特殊的能被保存和合并到CMO中的位置。一个位置也是一个BeObject。因此动作和属性也能加到位置上。Abstract Elements&&抽象元素抽象元素在Virtools Dev中是一种数据结构来存储信息和来描述两个元素之间的关系的。Groups&&组组是最简单最有用的组织Virtools Dev 3D的实体。组被要求列出执行任何逻辑联合必需的不受限制的包含相同CKClass或类型动作物体 。组能够在创作模式或者在运行时间通过BBS被建立,组能够被重新安排,覆盖等。--许多标准的BBS提供组的管理。一个组是一个BeObject。因此动作和属性也能附加到组上,组能够是其它组的一部分。Arrays 排列排列是一个简单的表格包括横纵有组织的单元。排列通过纵向类型排列(所有纵向元素有相同的类型。排列提供5个数据类型。1整数2浮点3一行4CKObject5参数排列能够被建立在创造模式或者通过BBs在运行时间里。排列能够被分类、过滤、搜索、重复等。--许多标准的建筑木块都被排列管理器提供。排列是他们自己的动作物体,所以他们能有动作附加给他们。Virtools过程循环总体当你或使用者运行一个组成时经常涉及到作为一祯或者一个渲染,Virtools过程循环是一个反复性的过程。理解循环过程能够帮助你建立高效的脚本和带满意侦频的能流畅运行的组成。一个满意的帧频通常定义为能提供高效时时播放的帧频。时时播放最少需要每秒15个图片,总共侵入开始在每秒60帧。因此,作为一个创造者,你应当一直试图保持一个每秒最少30帧的帧频(近似与电视的帧频),目标是每秒60帧的帧频或者更多。Virtools是一个即时引擎:它允许所有的动作连续不断地起反应在它的环境中,包括使用者。当一个组合运行时,Virtools重复运行过程循环&经常运行相同的步骤在相同的次序下直到一个组合被停止或重起。一个过程循环的持续时间一般叫做一帧。帧频是每秒钟完成和在每秒多少帧被测量的过程循环的时间数。帧频经常显示在Virtools Dev的界面上,在屏幕右角落底部靠近播放暂停键处。过程循环应当近可能快地执行。一个很高的帧频能对用户的输入提供很快的响应,增加用户对组合质量的理解。尽可能快地渲染图片提高对动画质量和视觉效应的察觉。注意,更快地渲染图象比更新显示频率不能提高显示质量和,在有些情况下,通常会降低显示质量。最大化帧频,你必须在每一帧最小化动作工程的执行数量。决不要试图在一个给定帧做得更多比最小的必须品来维持经验。当制作脚本时,你应当试着:&&划分任务成子任务并每帧只运行最小数量的子任务。&&建立你的脚本使帧频保持相关的不变。&&消除迟钝,响应用户的输入,一个大的脚本必须在它的全部给定帧内运行。帧频很可能显着降低并且用户将很难再次提供相同的输入。一些BBS,例如跟随BB的角色曲线被设计来操作在一个增加的方式。胜于跟随指定的曲线从开始点到终止点在一个单帧中,跟随BB的角色曲线移动角色向前 只有一小部分的曲线在一个给定帧扩展工作并增加质量。显示在图1-6中是过程循环的两个部分1& && &&&处理动作和2& && &&&渲染场景处理动作动作的处理在你的组合里建立交互。动作能够应用给Virtools中的每个元素。在动作的过程中所有被激活的动作都能被执行,相继地,使用一个优先的区分计划。每个动作,当被执行时,通过动作连接能够激活其它的动作。动作连接有一个能在帧(过程循环)中被测量的连接延迟。动作延迟能够:0&& && &&&在当前帧传播激活1&& && &&&在下一帧传播激活n&在当前帧后的第n帧传播激活在提及之前,不同的管理器在它工作中帮助动作引擎。管理器运行他们的任务不是在动作处理的开始就是在动作处理的结束&只在渲染之前。一般来说,你不需要知道怎样或者什么时候这些管理器工作,但有一个例外:消息管理器。消息被发送在动作处理的结束时并在下一帧开始是被接收。因此,交互驱动消息一直经历一个单帧的延迟在消息被发送和接收的帧之间。所有Virtools管理器的完全描述在Virtools SDK中是可利用的。Rendering&&渲染渲染显示组成并由一个特殊的渲染引擎运行。引擎能够被用户选择并需要显卡和操作系统的实际性能;然而你能强制使用某种渲染或使某个功能丧失能力。当工作在Virtools Dev时,通过选择一般参数从选项菜单并选择渲染标签你能够选择渲染引擎在创建和编辑模式。做为特色时,渲染是最浪费时间在过程循环的加强部分。The Behavioral Engine - CK2& & 动作引擎总体动作引擎执行动作处理,是Virtools的中心组成。同样CK2知道(因此你经常在界面上看到CK参数,例如CKID, CKClass等等),动作引擎使Virtools如此的灵活。CK2是干什么用的?CK2执行你的组成,处理场景和管理所有的交互作用在用户和组成元素之间。CK2也处理你有动作应用到组成的元素?那就是,动作物体。一旦所有的动作在给定帧内运行,CK2提供适当的信息给渲染引擎(CK2-3),所以相互作用的结果能够显示给用户。当一个组成被播放时,则下面连续的任务被执行。注意:为了适当地解释下面连续的任务,你必须注意每个陈述中层级的数量。必须完成的子任务作为优先次序的任务的一部分是相同主修数字的一部分。例如,任务3.1.1节&对于每个被附加上开始的BB还没有被激活,激活的BB具有最高的优先权。&这意味着所有的子任务必须运行来完成任务3.1.1。任务的"For each"部分描述意思是那个任务(或者所有子任务)被重复的完成除非有必需的&所有附加上开始的BBs已经被激活&条件出现。& && && & 1 对于在一个层级中的每个激活元素,在优先权顺序中分类元素来建立元素的处理顺序。& && && & 2对于每个脚本应用在上面的元素,在优先权上被分类来建立对于那些元素的脚本处理顺序。& && && & 3 对于每个元素,从最高的优先权到最低的优先全,保留处理最高优先权的元素。& && && & 3.1对于每个被附加上当前运行元素的脚本,保留处理最高优先权的脚本。& && && & 3.1.1对于每个没有被激活的附加上开始的 BB,优先权最高的BB起作用。& && && & 3.1.1.1处理BB,计算pOuts,激活所有的bOuts和发送任何消息。& && && & 3.1.1.2对于每个激活一个动作连接的bOut。& && && & 3.1.1.2.1如果动作连接有一个0的延迟然后激活并运行下一个BB。以这种方式继续直到所有在脚本部分中的BBs起作用或者动作连接比0有一个更大的延迟。& && && & 3.1.1.2.2如果动作连接有一个比0大的延迟然后增加BB给必须帧内运行的堆。例如,连接延迟是1,然后BB在下一帧被运行。如果连接延迟是n,然后脚本保持激活并且BB在当前帧的第N帧被运行。注意:层级一直在起作用并在每一帧中是最高优先权的元素。所有普遍不起作用的元素在剩余任务里被忽视。& & 在当前帧继续运行知道所有的BB被运行或者连接延迟大于0。& & 当所有的动作运行被完成,CK2提供信息给渲染引擎在屏幕上渲染图象,图象被渲染所有大于0小于1的连接延迟和动作运行再次开始。& & 你能够看到动作的运行起作用通过在图表中的活动的Trace模式。当组合被播放时,激活顺序和BB的运行在图表中高亮的红色显示。重要:如果一个BB循环在内(例如等待消息或者停止-去BB),然后对于BB的完成次序不跟随上面的运算法则大纲。代替,执行顺序受分派给BB的优先权控制。不在外在的创造者的优先权中,执行顺序是不确定的。所以例如,如果有两个可能的激活流程,并在BB上没有动作连接导致的优先权。预知那个流程会被首先激活是不可能的。当下一个流程被处理时激活的流程继续直到完成。因此,为了保证在一个脚本内连续执行,指定在BB内部的优先权的关系变得很重要。Behavior Loops 动作循环当一个连续的在一个重复的状态被激活或者触发的BB(或者BG)被动作连接以某种方式所连接时一个动作循环被形成。换句话说,一个动作循环是一个重复操作的直观表示。一个重复操作也可以被认为是一个反复和重复处理一个操作。在很多执行的重复操作中,一个有意义的关系是保证有一个有可接受的重复操作时间数的上限。换句话说,这需要一个机制来保证一个操作不被不确定地重复。Virtools Dev允许你定义在一个单独帧内完成的最大的操作数经过Max Behavioral Iterations示意性的设置。注意:最大的动作重复缺省值是8000。这个最大的动作重复缺省值被存储在组合中。& & 只要循环不经常起作用,只要在一帧内的反复次数不超过动作重复的最大数。所有的动作循环能有一个积累的0的延迟。如果在一个贞内的反复次数超过了最大的动作反复那么假定一个发生和处理的无限循环动作引擎马上停止。例如,排列和组经常有一个0的循环延迟,所以在排列和组内的所有元素被操作在一个单贞内。然而,要紧记你想要划分被完成的处理成每贞必需的最小数量。因此,除非完全必需,一个行为循环在至少一贞中应当有一个积累的延迟。实际的动作循环延迟能有很多积极价值在0到32767范围内。注意:基于时间的循环BB需要一个1贞的一个积累循环延迟或者BB自动改变基于贞的处理。Priority优先权一旦CK2已经分类哪元素起作用,CK2怎样知道哪个元素最先运行。答案是元素的优先权:最高的优先权最先通过。]你能够设置优先权给动作物体,脚本和BB。一个动作物体优先权和一个脚本的优先权在层级管理器被设置。BB的优先权在Schematic图解中被设置。如果一个或者更多的元素有相同的优先权,并且处理顺序是自由的。关于图1-9,注意两个计数器和优先权都被连接来开始一个0贞延迟。因此,渲染引擎基于每个BB的优先权必须决定哪个BB首先被激活。Behaviors and Scripts总体一个动作可以表示成一个脚本&一个动作的直观表示,应用给一个元素,表现在图表里。一个脚本由一个脚本组成&一个标题一个主体。脚本的标题显示脚本的名字和脚本的所有者。脚本的内容由开始和一个或者更多的BBs, BGs, paramOps,参数,bLinks, pLinks,注解等。图1-10举例说明一个简单的脚本包含一个BG和BB。注意在BG和BB之间字体颜色和字体宽度的不同点。Behavior Building Block (BB)动作建立块执行动作的基本机构是BB。BB是一个直观表示的作为一个功能的软件元素,一个准备使用的解决方案对于一个已知的任务。解释一个BB符号BB达到一个不同的矩形大小,在下面你能看到一些不同的BB类型。动作输入 bIn一个代表性的BB至少要有一个动作输入?虽然这有很少的例外(在自动模式中运行的BB,创建混合动画)。bIns经常被定位在BB的左边。当BB接收到一个激活在BIN状态时一个BB开始运行。动作输出 bOut& &BB经常有一个动作输出?虽然有众多的例外。输出经常定位在BB右面。输出在当前贞的运行过程的结尾时被激活。激活流程遵照所有附加动作的连接。动作连接&&bLinkBBs通过bLink被连接,bLink定义BBS运行的顺序。BB的运行顺序被叫做激活流程。每个bLink都有一个连接延迟来指定什么时候CK2能够在bLink的结尾处处理BB。连接延迟能够是0或n.。参数输入和参数输出BB有代表性的参数,或者是以参数输入的形式在BB之上接收数据或者以参数输出形式在BB之下发送数据,入图1-5。参数在后面的部分会被详细讨论。目标参数被用来明确确定受BB影响的元素的目标参数是一个pIn的特殊类型 。当一个BB被附加给一个元素时,那个元素变成了这个动作的所有者。代表性地,被附加给一个元素的BB把脚本的所有者作为目标。例如,翻译经常修改它所有者的位置。然而,你可以想让一个BB去影响一个不同的元素比所有者。在这样的情况下,你必须明确地把BB做为目标在一个不同的场景中。作为选择,你可以附上一个动作给一个不同于受动作支持的类型的元素(例如,你可以附上一个旋转动作给一个材质)。一个目标参数被Virtools Dev自动地建立在一个矛盾级别的情况下。一个BB只是一个可命中目标的图1-16可命中目标的圆柱的建立模块窗如果一个目标参数已经不存在了在一个动作目标图表上,一个目标参数能够被附加通过选择增加的目标参数?从下拉菜单中。一个新的pIn被创建作为最左边的pIn。一个目标参数输入被确定通过一对小正方形。(对于一个正规的pIn胜于平常单一的小三角形)C S V 一些BB在左下角被标记用一个或者更多个字母C,S或者V。在左下角的一个&C&意味着BB有一个自定义的对话框被使用来配置复杂的参数。(例如动画同步闪光装置)在左下角的一个&S&意味着BB已经被设置。代表性地设置控制哪个参数通过BB被处理或者参数怎样通过BB被控制。例如,Mouse Waiter(鼠标管理器)通常考虑8个bOuts。你可能只需要这些bOuts中的4个,所以你可以只考虑编辑设置你需要的4个bOuts,从而保存有价值的处理时间。或者你可以需要一个BB象Linear Progression那样基于参数胜于基于时间的。你能够选择基于运行的贞通过BB设置。图1&20线型级数设置对话框在BB左下角的V代表BB有一个可变的结构。那就是你能够做一个或者更多个如下的操作:1 增加bIns2 增加bOuts3 增加pIns4 增加pOuts5 改变一些或者多有的pIns 和/或 pOuts类型在在线参数中检查个体的文件给一个BB 来正确决定什么能够被改变。图1&21参数选择,一个可变的BB消息一个BB可以有消息图标,代表着这个BB可以发送和接收消息。代表性地,消息用于用信号通知一个改变的情况,要求完成一些任务和用信号通知一些任务已经完成。注意:在发送和接受一个消息时有一个延迟贞。BB运行你可以一直检查个体帮助文件从在线参考到明确地看到一个BB是如何工作的。在运行时有3种类型的BB被处理;那就是。在播放模式:1 一个单独的动作:在当前贞内BB完成运行。一个单独动作的BB能够保持独立或者是动作循环的一部分。例子:Set Fog(世界环境/球)2 内部循环:每贞BB都被开启和激活直到BB关闭。例子;Keyboard Controller(键盘控制器)。注意对于内在循环的BB你必须注意内在循环的优先权。3 外部循环:BB完成一步在当前贞内的BB处理循环中。如果创造者想要BB以经典的方式来操作,需要一个外部起作用的反馈回路。例子:Bezier Progression(逻辑/循环)注意:一个外部循环的BB现在不需要一个外部起作用的反馈回路。以外部起作用不被需要的反馈回路方式创建一个脚本是可能的。但是当他们被附加给一个元素时也有一些BB在运行时间不起作用。一个BB的例子是Create Nodal Path(3D转换和节点路径)图1-24创建节点路径BBBehavior Graph (BG)&&动作图表一个动作图表是创作&定义由一个或者更多个BB、操作参数等组成的动作。首先来看,一个BG几乎差不多被看作一个脚本。然而,一个BG不同于一个脚本因为BG的建立故意压缩了动作。BG压缩一个动作以能够被保存和再生方式。Virtools Dev的一个最有用的特征是有在一个再度使用的贞中相互捕捉的能力。动作重新使用能够导致惊人的生产效率。Virtools Dev把一个严密相同的BG看做一个BB。一个BG能够附加给一个元素以和BB相同的方式。一个BG甚至能被看作为一个创作&定义BB,对于一个创作者、以相同方式工作的BB。一个BG能够有pIns, pOuts, bIns 和 bOuts。一个BG能够被看作是一个高级的完成一个在Virtools Dev中超过BB提供的范围的特殊的任务的BB 。(例如,竞赛游戏中对于一个汽车的第三人称摄影机)注意: Virtools Dev文件任何时间都引用使用一个(行为)模块或者一个在组合中的BB、代替行为图表的读本或者BG。 图1&25一个塌陷的延伸的行为图表。如果你用上面的已经存在的BB图象比较关闭的BG图象,你会注意到在字体和单位上用来帮助区分BG和BB的不同。&&Parameters 参数一个参数由名字(pName)、类型(pType)和数值(pValue)。参数在传统规划中是Virtools Dev的相等变量。参数通过参数连接(pLinks)来转移数据:&在行为之间&从参数输出(pOuts)到参数输入(pIns)。&在参数运转(paramOps)之间。&在paramOps 和 pIns之间。&在paramOps和本身参数之间。参数也能被使用来分配数值给一个元素的属性。参数类型参数类型定义数据的种类,通过参数类型一个参数能够被完全控制。参数也能被广泛地成组:1 参考点参数确定一个物体,例如从CKClass层级(例如,一个3D实体,一个动画,一个脚本)& & 2 数值& && &参数包含一个数值。(例如,一个颜色、一个键盘键、一个整数等)& & 3 详表&&参数的数值被强加给预先确定的数值的一个范围。(例如,由Mini Calculator提供的操作者被强加给+, -. /, *)4 特殊的&&参数与预先的种类不配合。只有3种参数类型,反射物体、障碍和地板。对于参数类型更详细的描述,看SDK文件。Parameter Input, pin& &参数输入pIn参数输入是行为和paramOps&控制你怎么工作的数值&的争论点。如图1&6,输入参数通过一个BB、BG或者paramOp顶部的小三角被表现。参数输入特别是自身参数是它的pValue的来源。pIns不存储它的数值在起作用的物体之间。Parameter Output, pOut&&参数输出pOut当行为和参数运转已经完成他们的处理时,它们代表性地产生参数输出。参数输出表现为一个BB, BG, 或 一个 paramOp底部的小三角。参数输出能够有一个或者更多个目的地,(via pLinks)目的地在参数的数值改变时立即被更新。pOut存储它的数值在起作用的物体之间。Parameter Link, pLink&&参数连接&&pLink& &&&一个参数连接是一个传播一个pValue从一个输出或者一个自身参数到一个输入的连接。不象行为连接那样,对于参数连接没有连接延迟。参数连接通过虚线被示意性的表现。Local Parameter 自身参数一个自身参数被表现为一个小的矩形&通常位于pIn上面。自身参数是存储数值的数据缓冲器直到它们的数值被请求通过一个数据连接。自身参数是正常的,但是不总是通过一个pLink连接给pIns。图1&28自身参数通过参数连接 附加给BB。注意:两个唯一的自身参数被允许有相同的名字。然而,这个操作不是被推荐的由于潜在的混淆。举例,当你拷贝并粘贴一个自身参数时,你拷贝参数的名字,类型和数值给一个新的自身参数:这两个参数是不同的,虽然他们有相同的名字(由于拷贝和粘贴操作)。你被鼓励使用唯一的名字给你创建每个参数。ThisThis是一个涉及到脚本所有者的特殊的自身参数。当你在脚本中创建了一个This参数时,它自动设置它的数值给一致的脚本所有者。Parameter Shortcuts 参数捷径参数捷径被使用在:通过减少pLinks的数量来单一化你的脚本。通过脚本边界共享参数参数捷径表现为一个箭头图标,正如你在图1&29中见到一样。参数捷径通过拷贝一个pOut建立(通过下拉菜单)然后运行一个Paste as Shortcut(通过下拉菜单)。拷贝并粘贴一个捷径创建一个具有和最初捷径相同原始资料的第二捷径。因此,所有被拷贝的捷径指向相同的资源并有相同的名字、类型、数值和标识符在全部时间里(CK_ID)。图1&29一个参数捷径资源和目标记号Parameter Operations (paramOps) 参数运行总体参数运行(paramOps)是简单的操作能被完成在一个单独或一对参数之间。一个paramOps被显示为带一个名字。两了参数输入和一个参数输出的(如图1&30) 1资料检索从动作引擎找回信息 2 数学操作 例如乘法和SINE 3类型转化 把一个参数的类型转化为另一个类型所以数据是想得到的类型。例如,一个浮动点的值能够被修改给一个正文列给在3D规划中的表达。当在示意窗中建立脚本时,paramOps和行为模块一样有用。某个操作,特别是一些要求,通过执行paramOp能够被实现。 注意:类型转换能够是一种参数操作连接的形式。缺省的paramOp图表不被显示,参数操作连接变成一个不同的颜色相对于标准连接并且单词Convert沿着连接被显示。 Parameter Notation Virtools Dev在书面形式中使用下面的符号来描述paramOps。对于二元操作(两个输入的操作),语法是 &结果或者输出 操作类型 输入1 输入2 对于一元操作(一个输入的操作),语法是 &结果或者输出 操作类型 输入1 在所有的情况下,语法是被严格定义的。 paramOp 例如: Multiply 表现为一个乘的操作,产生出一个参数类型为的输出结果,使用输入和。数值也能被输入和输出关联。 Multiply 参数运行能够被使用 &完成两元操作 C=A*B V3 = Angle(V1, V2) V2=f*V1 &完成一元操作 C=sin(A) C= ABS(A) get the absolute value of A &转变参数类型从一个到另一个 Set Value &3D Entity& Set Value &3D Object& &重新找回一个物体的信息 Get Radius &3D Object& Magnitude Get Position &3D Entity& &3D Entity& Get BodyPart 参数操作和行为参数操作和行为模块的处理一不同的方式发生。参数操作在和行为模块相同的方式下不起作用。参数操作没有一个bLink结构来支持激活。相反,参数操作只在需要时计算,也就是当一个行为模块或者另一个参数操作需要这个参数操作的结果时。如果参数操作的输出数值被需要: 1 参数操作被触发。 2 输出的数值被计算或者被更新。 3 输出的数值被返回给输入请求并被推向给其它的输出继续存在的目的地。 输出操作不同于BB如下:输出操作没有任何设置能够被建立在任何脚本里输出操作能够附加给任何类型的物体,在行为模块里的只能够附加给物体的一个CKClass的限制不起作用。 然而,参数操作通过使用Op or Identity能够被直接与活动流程同步。 Advanced paramOps 高级参数 Order of pIns 参数输入顺序 Calculating a Value at a Specific Moment在一个特殊时刻计算一个数值 pTypes , , and Attributes属性总体属性一种增加元素信息的方法。属性很象存储自身信息的自身参数,不同的是属性属于一个元素代替属于一个脚本。Virtools Dev包括很多预先确定的属性。你也可以自定义你自己的属性。只有动作物体才有属性。一个层级是一个动作物体所以能有属性,层级属性是有效的球形属性。属性结构一个属性可以有结构也可以有种类,一个典型的属性包括你能编辑的一个或更多个参数。然而,一些属性(只有ZBuffer)不能够被编辑。例如,一个带地板属性的元素被确定给一个动作引擎&&应当被处理的元素作为一个地板所以角色能够在元素上行走而不穿过元素。在自动模式下属性被增加给元素通过一个下拉采单的层级管理器,通过一个元素的建立或通过属性管理器。Attributes Manager属性管理器属性管理器允许你检查和处理哪些元素都有什么属性。在运行时间,属性能够:通过设置属性增加& && && && && && && &&&通过移动属性离开& && && && && && && &&&找回原由的属性,如果属性存在与元素中。所有的属性行为模块都存在于Logics/Attribute中。Attribute Shortcuts属性捷径属性经常被用来存储关联一个元素的数据值。属性的典型使用包括一个播放者的得分,生命和物体的特征等。如果一个属性的数值被脚本需要的话,原有的属性被使用来找回属性的数值。作为选择,一个属性的捷径也能被使用。属性捷径被建立通过拷贝一个属性从元素的属性建立(下拉菜单)然后执行一个粘贴(下拉菜单)作为捷径操作在场景中想得到的位置。Introducing VSL介绍VSL总体VSL Virtools脚本语言The Render Engine渲染引擎渲染引擎是Virtools应用程序的一部分,通过它可以渲染出你在屏幕内看到的图象。Virtools的渲染引擎通常有两个组成,任一个都能被替换或者通过SDK自定义如有权使用Virtools RenderPack。1 渲染引擎&CK2_3D2 The Virtools Rasterizers,提供对DirectX5, DirectX7, DirectX8, DirectX9 and OpenGL.的支持。Initial Conditions初始条件Interface界面总体这个截图介绍和解释了Virtools界面中的所有元素。这个截图被分成了几个相应的部分。Menu Bar&&菜单栏3D Layout&&3D设计Building Blocks Resources&&建立模块资源Data Resources& &数据资源Level Manager&&层级管理器Schematic&&示意图Entity Setups&&实体建立Status Bar&&状态栏Building Blocks Resource建立模块资源总体建立模块资源是一个资料库&&包括动作建立模块(BBs)。你可以浏览BBs通过左侧方形窗口内的种类使用树。为了找到学习更多在某个BB中,双击BB来打开它的在线文件。Category 种类列出了BB的种类和子种类。Behavior Name动作名称BB的名称Apply to应用于你能够应用到BB的实体的类型T如果BB是可命中目标显示T。Description&&描述给行为模块的运行一个简短的功能描述增加行为给元素在3D Layout或者Level Manager中你可以拖拽一个BB到元素来把这个BB附加给元素。你可以同时选择几个BB用SHIFT或者CTRL+点击。在3D Layout 或者Level Manager 里拖拽一个BB到一个实体上来增加给BB第一个附加给这个元素上的脚本,或者建立一个脚本如果元素没有任何脚本,并打开编辑参数对话框给那些具有能够编辑的参数输入BB 。你也能直接拖动BBs到在显示上现有脚本。数据资源总体一个数据资源对于在一个组合中需要的所有媒体来说是一个存储地方。一个数据资源仅仅是一个根目录文件夹被确定给DEV包括子文件夹的内容的特殊类型数据。为了增加元素给组合,选择一个或者几个元素然后拖拽这些元素到3D Layout 或者 Level Manager里。创建一个数据资源创建一个新数据库的过程很简单:从资源菜单,选择Create New Data Resource。你将被提示选择一个位置-可以是你喜欢的地方甚至可以是一个服务器那样几个人可以很容易接近-来保存你的数据库。一个平常的WONDOWS文件夹被建立来存储你的文件(.nms for Behaviors, .nmo, .jpg, .wav etc. for Data),并且一个Virtools的.rsc文件以涉及到他们的相同的名字被建立。一旦你建立了你的数据库,它就能在Virtools屏幕的缺省部分自动地打开。增加媒体给一个数据资源一旦被建立,它将会生成缺省的下面八个缺省文件夹&2D Sprites, 3D Entities (concerning another sub-folder Animations), 3D Sprites, Behaviors, Characters (containing another sub-folder Animations), Sounds and Textures.这些文件夹能够被重新命名和删除。注意,要用资源充满他们,在窗口中定位文件夹并拷贝你的文件到适当的子文件夹。右键单击一个动作图表(BG)允许你编辑这个描述。关闭一个数据资源为了关闭一个数据资源,右键单击它的标签并选择关闭或者单击它的标签选择它并按删除键。Customizing the Virtools Interface 自定义 Virtools 界面Menu Bar菜单栏总体文件资源编辑器选项帮助File& & 文件New Composition&&新组成Load Composition&&读取组成Save Composition& &保存组成Save As...& && && & 保存组成为。。。Save Version& && & 保存译本Revert to Saved& &&&回复到被保存的Undo (3d Layout/Schematic only)Redo (3d Layout/Schematic only)Purge Undo& &清除Undo的历史Merge Composition...&&合并组合Merge Composition as New Scene...&&合并组合到一个新场景Export to Virtools Player&&输出到 Virtools 播放器Create Web Page...& &建立Web页Print Schematic...&&打开一个对话框允许你打印脚本从示意框中。Exit UndoResources MenuOpen Data Resource&&打开数据资源打开一个对话框允许你选择一个现有的数据资源来打开。Create New Data Resource&&创建新的数据资源Import File&&输入文件& &打开一个对话框允许你直接输入文件到一个组合中而不用持有可通过的数据资源。Import File as -& Character/Place/Scene&&打开一个对话框允许你作为一个角色、地点或场景。HelpEditors&&编辑Attributes Manager 属性管理器Hierarchy Manager层次管理器Path Manager&&路径管理器Variable Manager&&变量管理器VSL Script MamagerVSL&&脚本管理器Parameter Debugger&&参数调试器Close All Setups and Managers& &关闭所有的设置和管理器关闭所有的窗口和管理器Action Manager&&动作管理器总体在Virtools Dev中,一个动作是一个特殊类型的VSL脚本(被叫做VSL动作脚本)&它被建立在VSL脚本管理器里只能在Dev的创作环境里被使用。在VSL中。一旦脚本被建立,一个脚本被打开并从动作管理器中发动,或者一个被定义的使用者的快捷键在选相或参数上来完成一个预先确定的任务。本质上,动作管理器允许VSL脚本来建立和共享运行在VSL中的它们自己的献身工具&&并且点击几个按键来通过它们&一个巨大的生产力推进。例如,只通过几个点击来制作反复的媒体修改:改变位置、重定义位置、排列物体等。使用动作管理器重要:VSL动作脚本只在VSL 脚本管理器中建立、删除和拷贝。动作管理器处理使用者的访问给他们的动作。动作能够被组织,简单的执行从动作管理器的界面,并且/或分配给一个快捷键。动作也能循环一个自定义使用者的延迟在两个反复之间。& & 当一个动作被建立在VSL脚本管理器中,一个相应的.VSL文件被建立在Virtools Dev目录下的动作文件夹里。在这个文件夹里,你会找到两个文件,保存当前动作管理器界面的ActionEditorInterface.ini 和 ActionEditorList.ini文件。所有在动作管理器界面中包含在.VSL 文件中所有在动作管理器界面中的VSL动作脚本也能够被打开、组织、执行和指派一个用户自定义的快捷键。注意;一个VSL动作也能够被简单的共享通过拷贝VSL文件到另一个Dev用户的/动作子目录并且输入它到动作管理器。The Toolbar&&工具栏Virtools Dev第一次被运行时,动作文件夹中的所有动作被加到动作管理器中:对于在动作文件夹中的每个文件被建立并且包含在哪个文件夹中的所有文件被列出。如果没有动作,一个缺省的标签被建立,命名为Default动作。每个标签包含一个动作列表和服务来组织你的动作。使用contextual菜单来建立/移除/移动/重命名标签。标签能够被拖动来改变它们的位置。当前至少有一个标签。Refresh Scripts Descriptions button&&更新脚本描述按钮Execute Action button& &&&执行动作按钮Action Timer& & 动作计时器Import all Actions& & 输入所有的动作Action Lists&&动作列表每个标签提供组织一个分开的动作目录。缺省情况下,在一个空的目录里只有一个标签。使用者可以增加或者移除标签,和增加或移除在标签列表中的动作来以最有效的方式组织动作。使用前后关系菜单来创建/移除/移动/编辑动作。你可以在工具条上拖拽标签来改变它的位置。这是专栏描述。Action List Contextual Menu& &动作列表前后关系菜单Attributes Manager&&属性管理器属性管理器显示所有当前可用所有分类的属性,通过双击它能够扩展一个种类来看到它的内容。一个属性的名字就是一个属性的类型,例如障碍。使用属性管理器工具条Create Attribute&&创建属性Copy Selected Item Values&&拷贝被选择的项目值Paste Value On Selected Items&&粘贴选择的项目Remove All User Attributes&&移除所有用户的属性删除由用户创建的所有的属性和种类,不管在组合中他们是否被元素使用。注意,你不能移走系统的属性,这些属性通过Virtools或者自定义的plugins定义。主窗口(物体的名字、属性的名字、属性值)这个窗口显示在左侧窗口被选择的具有属性的物体的列表。从这,你可以很快的地看到并修改诺干物体的属性的值。通过(右键单击)下拉菜单你可以拷贝和粘贴用右键选择物体的值,并且你也可以从被选择的物体上删除被选择的属性。双击属性值将会打开编辑对话框。从属性管理器中增加属性属性能够被拖动从:& && && && && &&&左侧的列表(所有属性的列表)& && && && && &&&右侧的列表(带属性物体的列表)注意:属性的值能够被拷贝在这样的情况下。& && && & 给:& && && && & 在3D Layout里的物体& && && && & 在Level Manager中的物体& && && && & 在物体建立的任何地方注意:如果一个属性和目标物体的属性不一致,这个属性将不受影响。Hierarchy Manager&&层级管理器总体通过选择Editors menu里的Hierarchy Manager能够打开层级管理器。层级管理器是一个包含在组合中的可渲染实体的树状的预览。你可以塌陷或者扩张一个层级通过点击种类旁边的三角形,或者通过使用在顶部工具栏第一的两个按钮。通过这种方式你能够塌陷/扩张若干个选择的项目。对于一个元素和他的所有子层级,简单拖拽元素到新的父物体上。如果你想把&orphan&的元素,拖拽元素到跟上。你能够直接编辑3D或2D实体的渲染优先权在层级管理器中。Popup menuSetupRenameEdit Render PrioritySet Initial Conditions on HierarchyRemove Initial Conditions on HierarchyToolbar&&工具栏Expand Selected&&在一个层级中扩展选择项目Collapse Selected&&在一个层级中塌陷选择项目Display/Hide Meshes&&显示或者隐藏网格& &允许使用者显示被3D物体的层级使用的网格。带一个不同的图标的网格也能被显示为使用它的物体的子物体。Display/Hide Materials&&显示或隐藏原料Display/Hide Textures& &显示或隐藏材质Render Priority Column&&渲染优先权栏点击一个优先权来编辑。3D和2D实体被层级存储,然后被优先渲染,然后被命名。Parameter Debugger&&参数调试器总体参数调试器允许你同时显现和编辑几个自身参数或者参数输出的参数。参数不能存在于相同的脚本中&你也能粘贴参数从属性或者排列到参数调试器中。参数调试器的编辑器被打开通过选择编辑器中的参数调试器。缺省情况下它打开在Virtool的下半区。How to use the Parameter Debugger&&怎样使用参数调试器选择影响你的参数,按下CTRL键并按下参数一旦你作出你的选择了,右键单击参数并选择拷贝选择或者使用CTRL+C。按下参数调试器标签来激活它,在主窗口中右键单击并选择粘贴你会看到四个专栏& & Name&&参数的名字如果它是从一个外部参数一个模块或者一个本身参数的脚本;如果它是一个参数运转的结果,然后它就会被&Out&。& & Value&&参数值& & Owner Object&&所有者物体& & Owner Script&&所有者脚本& &当在运行和暂停/重起之间转换时被显示的值将会被更新除非你已经击活了示意框的Trace Mode,在Trace Mode模式下你能够立即更新。为了改变参数的数值,双击它。一个编辑的参数对话框被打开,允许你改变数值。为了从参数调试中移除一个参数,单击它选择这个参数,然后按下DEL键。为了增加参数,只需返回到示意框,拷贝这个参数,然后如上所述在参数调试器中粘贴这个参数。你也能看到属性值,使用&Copy Parameter Value&或CTRL+C在示意管理器中或在一个物体属性建立中。Path Manager&&路径管理器总体路径管理器允许你定义路径给数据(图象、声音、或者其他的数据文件)来源。例如,Variable Manager总体在Virtools Dev中,一个变量是一个编辑器或者管理器暴露的内部参数所以你能够合并和或者改变它的数值。例如,Antialiasing反锯齿是一个Virtools渲染引擎的参数让你指定渲染级别(0= none, 1= 1x, 2= 2x, 4= 4x)。如果你想要在运行强制抗锯齿,你可以在Variable Manager中设置抗锯齿级别并且做标记,那样变量能够保存在CMO里。Variable Manager允许你编辑、保存、读取、拷贝变量从一个组合到另一个组合。如果你在一个变量中修改一个变量Variable Manager变量管理器让你设置能够应用于另一个组合的新的缺省值,并且你能够恢复到缺省值或者本地值(定义在内部代码里)。变量以粗体形式列出那样他们的值不同于本地设置。可定义的变量使用者的缺省值被保存在配置dev.ini文件里,dev.ini的最初设置是本地值,直到新的值被提交。dev.ini能够被编辑在正文程序中对于简单的咨询和编辑。保存在组合中的某种变量,当被X显示在组合专栏里。一个变灰的X显示这个变量被组合需要。没有X代表着变量不被自动地保存在组合里,但是你仍然能强迫它这样通过双击使一个黑色的X出现在专栏里。通过这个方式,你或你的听众能够确定播放这个组合以能够被保存的精确的配置如果你已经在一个组合中改变了一个变量,你能够恢所有或者一些参数从配置文件里;相反地,你能够保存所有或者一部分这些自定义设置给一个能够在另一个组合中读取的新的配置文件。最后,和变量管理器,你能够拖动一个变量到Schematic中并象使用自身变量一样使用它们。Variables v. Preferences&&变量参数Using the Variable ManagerToolbar&&工具条Change Display Mode&&改变显示模式这个按钮让你栓牢在列表和文件夹显示模式之间,你也可以点击专栏标题来分类。(举例来说,下面被分类通过组合专栏)Default Selected Items&&回退选择项目这个按钮回退被选择的变量到本地变量如果他们已经改变。Default All Variables&&回退所有变量Commit&&提交Restore&&恢复All/Composition/Application&&所有/组合/请求Main WindowVariable Name&&变量名Value&&变量值Category&&种类Composition&&组成Runtime Editing&&运行编辑Variable Manager's List of Variables and Default Values变量编辑器的变量列表和缺省值Category/Variable Name&&种类/变量名Options Menu&&选相菜单General Preferences&&一般参数Activate/Deactivate Trace Mode&&激活/解除跟踪模式Unused Objects Explorer&&不被使用物体资源管理器Hide/Show Dynamic Objects&&隐藏/显示动力物体Refresh Windows 刷新窗口Reset Interface&&重新安排界面Building Block Version Test&&行为模块翻译测试&&这个功能块能够使你测试所有模块&&不能改变他们的输入或输出数字来看是否他们和当前你正在使用的Virtools译本是否是一致的。Installed PluginsInstalled Plugins&&安装Plugins总体安装Plugins窗口显示所有的当前可用到的Plugins。一个Plugin是一个软件组成&&提供某种功能给CK2,Virtools的动作引擎。这有许多不同类型的Plugin:行为模块Plugin,文件读取Plugin,等等。对于建立和寄存你自己的Plugin的信息见Virtools SDK。Installed Plugins WindowPlugin&&ActiveDescriptionDllUnloading Plugins Temporarily&&临时卸载Plugins你可以临时卸载一个plugin,这允许你编译一个plugin,例如你可以用SDK来发展你自定义的plugin,而不用重起DEV。Building Block Version Test&&建立模块译本文件总体建立模块译本文件能够使你确定你正在使用的建立模块与最近的Virtools译本一致,这样你的译本能够被观察不需要任何问题在Virtools Web Player中。这个功能只在选相菜单才能到达。当一个荒废的模块被发现时,它能被取代。Using Building Block Version Test当你点击选相菜单中的建立模块编译文本时,程序测试你组合中的所有模块。如果在行为和原型的不同被发现,一个对话框将出现来问你是否希望这些行为被自动地替换。动作不同被发现当:不管你是否选择使有一个荒废译本的模块被代替或者不,荒费模块的名字将会被记录在Error Log里,如下.WarningSee alsoBuilding Block Version Test in Multiple CMOs (TestBB.exe)在多数CMOS中的编译文本模块总体TestBB.exe能够使你确定在你CMOS中的模块与最近的Virtools译本一致.,所以你的组合能够被看到不需要任何问题在Virtools Web Player中。应用程序分析一个文件的CMOs来确定哪个组合需要更新。TestBB.exe靠近于Dev.exe根目录文件..一旦CMO在DEV中已经被确定或被打开,容易的方式来更新使用Building Block Version Test的BBs。Check Methods&&检查方法Unused Objects Explorer&&不使用的物体资源浏览器The Unused Object Explorer 允许你快速找到在你的组合中不被使用的资源,例如材质和网格。General Preferences&&一般参数总体一般参数包括控制涉及到DEV使用者界面的一般外观也象选项涉及到特殊的功能例如选择模式,3D变化工具,渲染模式和引擎,脚本工具等。为了打开一般参数选择,点击在3D Layout窗口右上角的一般参数图标,或者选择从选相菜单选择一般参数。下面部分组成了一般参数。& & 3D Layout - Rendering3D Layout - Actions3D Layout - Interface3D Layout - Reference Grid 3D Layout - Snap & AlignSchematicMiscellaneous Controls使用Current Prefs菜单来选择你希望编辑的参数。Alienbrain MenuStatus Bar&&状态栏在一个详细元素上点击一个区域来得到帮助。把鼠标定位于一个区域上来看这个元素的简短描述。下面特征的更多细节被描述在更多的分离页里。Event Log& & 事件日志Profiler& && & 模制者Initial Conditions&&初始条件Time Settings& &时间设置Selection Name&&选择名字Action&&动作X Y Z Coordinates&&XYZ相配之物Event Log Information&&时间日志信息FPS&&显示贞频在每秒的贞中Restore Initial Conditions&&恢复初始条件Play/Pause - Time Settings 运行/暂停&时间设置Step One Frame&&一贞的脚步& &只运行一贞是在运行/停止或者暂停模式Event Log总体Virtools的事件日志服务来警告当你试图做一些不可能发生的事情时,例如,应用一个动作给一个不能接受它的实体。事件日志也保持明了任何你读取的场景和你增加给组合的任何媒体。Using the Event Log&&使用事件日志事件日值通过点击朝向关闭播放按钮Virtools屏幕的底部事件日志图标出现。在上面你能看到只在打开Virtools后的事件日志是什么样子,Virtools报告一个错误通过闪现一个事件日志图标为红色并在状态的底部显示信息。Clear清除事件日志,Play/Time Settings&&运行和时间设定总体从自动模式到运行模式转换,注意暂停不能重新安排初始条件。右键单击播放按钮能够访问时间设置。通常制作者连接动作关系。这样有时有疑问,如果你有一个强大的计算机,在这样的情况下,它就能很好地限制贞频。时间设置允许你指定是否贞和动作频率能够被连接或者分离,并且允许你自定义这些设置。Using Time Settings&&使用时间设置Frame Rate&&贞频& && && &&&Free& && && &&&Synchronize to Screen& &与屏幕同步& && && &&&Limit& &限制& && && && && && && &&&你必须指定一个最大限制贞频& && && &&&Scale Time& & 加速时间Behavior Rate& &行为比例Linked to Frame Rate& &连接贞频Limit&&限制Delta Time指定数值来设置最小和最大三角时间将会传给行为。Virtools Web PlayerTroubleshooting& &发现并处理故障ProfilerProfiler允许你看出多少电脑时间用于特殊任务。3D Layout3D Layout显示你工程的内容在一个实时的3D环境里,并为建立、选择、操作3D实体提供工具,也是导航工具。Toggle Guides&&栓牢向导栓牢参考向导& &提供3D线更好地看到透视图。不要忘记点击打开向导参数栓牢屏幕向导& &屏幕向导提供一个格子来允许你更容易地放置和排列2D元素。3D Layout Shortcut Menu&&3D规划快捷菜单弹出菜单能够被使用通过右键在3D Layout视图中。显示改变依靠是否鼠标在一个实体上,或者如果任何实体被普遍选择并且如果当前激活的摄影机是缺省摄影机的一个。部分有用的是:Object related&&关于物体使用这个部分你能访问实体建立在鼠标下,并对于一些其他的实体也能被附加上。例如,一个3D实体也可以有一个网格和网格的一个材质。Camera related&&关于摄影机如果当前摄影机不是缺省摄影机的一部分,你可以弹出摄影机建立。任何摄影机都能被重新安排它的缺省值。在这样的情况下,它的所有设置都会被失去。你能够改变当前摄影机通过一个子菜单。Initial Conditions on Current Object 当前物体的初始条件Scripts related 关于脚本脚本能够建立在当前物体上,和被附加的实体上。脚本也能被建立在当前摄影机上。如果物体被选择,脚本能够被建立在每个选择的物体上。如果当前实体和摄影机有其它脚本,他们能够被显示在其它脚本里。Selection related&&关于选择3D Layout Keyboard Shortcuts&&3D设计快捷键3D Layout Top Toolbar& &3D设计顶部工具条Snapshot& &快照这个工具允许你捕获3D设计的图象或者一个它的特殊部分。图片也能被拖动到在示意框上的一个脚本上,或者加到一个物体的建立里,允许你有一个物体的绘图表现。3D Layout Explorer& && &3D Layout Explorer允许你看到你有的在的当前组合场景中的项目,然后选择它们。在3D Layout Explorer 和3D Layout中选择是同步的。选择也能在组中管理,通过使用&选择组&3D Layout的下拉框。注意,你不能改变一个组,如果一个选择被锁定。Using the 3D Layout FilterSelect Camera& &&&Selection Group& &建立和创建一个选择组& && && & To create a selection group in 3D Layout& && && & To switch to a selection group in 3D Layout3D Layout Transformation Tools& &转化工具转化工具被使用来选择、移动、缩放或改变一个或几个物体的方向。一些这些工具能够被使用用一个在头脑中的特殊的指示点,或者使用一个平面或者一个轴。通过这种方式,3D实体和2D实体也能被编辑。可用到的工具有Selection Tool Select and Translate Select and Rotate Select and ScaleSelect and Translate&&选择和转化& &&&这个工具完成一个几何的转化在一个给定的选择上。例如方向、坐标系统或者约束的转化参数被一组被描述在另外的标记和描述中的标记控制。Use Select and translate&&来交换现有选择的位置。& && && && &左键单击一个选择物体,并按下按钮。& && && && &拖动鼠标来转化实体的选择。& && && && &释放鼠标左键来结束动作。& && && && &当把握鼠标左键时,你可以取消动作,通过点击鼠标右键。& && && && &对于每个选择实体的位置在动作的开始将会被恢复到他们的原始值。增加/移除选择的物体,并改变他们的位置点击左键在一个不被选择的物体上。物体将会取代选择;同时按下CTRL的话,将会增加选择。现在你可以开始拖拽鼠标来移动选择,如上说明的。如果你不点击一个实体,你也能完成一个区域的选择。运动方向和增加标记通过强迫坐标或者强迫平面决定也可以通过当前的调整系统更多的约束能够被设置,使用Toggle Snap。当吸住时,在鼠标下的物体能够对齐到另一个物体,依靠捕捉设置。物体的子层级在选择中能否移动需要Toggle Hierarchy Button情形。一般参数设置Select and Rotate&&选择和旋转总体这个工具运行旋转以一定角度,被给3D物体的设置。交替地,它能够编辑选择在旋转它之前。旋转参数例如速度、调整系统、或者约束被一组标记约束。使用选择和旋转Select and Scale&&选择和缩放Selection Tool&&选择工具3D Layout Navigation Tools&&导航工具Camera Dolly&&移动摄影机和目标点沿着摄影机的Z轴Camera Field of View&&摄影机视野大小Camera Pan&&在XY平面上移动摄影机和目标点Camera Roll&&沿Z轴旋转摄影机Camera Zoom&&摄影机放缩Orbit&&绕目标点盘旋,目标点保持在原位Level Manager&&层级管理器Activate at Scene Start Column& && & Activating and Deactivating ScriptsActive Now&&NamePriority Reset at Scene Start& && && && && &&&Reset& &&&Don't ResetVisible& && && && && && && & 可见/隐藏/分等级隐藏Create New Place&&Create New PlaceCreate New ArrayCreate New SceneCreate New WorksetCreate New ScriptExpand button Collapse buttonSchematicSchematic Top Toolbar&&顶部工具栏Behavior Links (bLinks)&&一个行为连接有一个传播延迟,一个1的连接延迟就是那个行为连接不能激活连接给它的BB直到下一贞。一个0的连接延迟代表连接的BB被马上激活。注意在一个循环中你不能使用一个等于0的连接延迟,除非在一个特殊的环境中,例如重复一个组或者一个排列。一个0的连接延迟能够产生从部终止的循环。behavior link properties&&当连接bOuts or bIns时,动作连接延迟被设置给这个动作贞的数量值来等待&&在继续运行之前。缺省是0。Prevent Infinite Loop&&防止无限循环Max Behavioral Iterations 最大动作反复Link Mode& && && &&&Using Link or Auto Link Mode to create Links点击选择你想要连接的来源或者目的地,然后每个点击都会建立一个控制点,直到你点击最终的项目来完成连接。如果你在一个自动路径找到连接方式,你只能从一个动作输入/输出直接到另一个动作输入/输出。注意连接和自动连接只是创建连接的两种可能方式,Invalid or existing pLinks如果你试图建立一个失败的连接,Virtools将会用一个错误框警告你。Links with Errors Explorer&&错误连接对话框Message explorer& &消息对话框Schematic Explorer&&Script Debugger&&脚本调试器脚本调试器允许你看到哪个行为和举止在一个给定时间激活:这些以红色拖动。这有两个拖动模式:一个正常的跟踪的模式。通过点击TRACE激活。一个完全拖动方式。
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:31649次
排名:千里之外
原创:29篇
转载:15篇
(4)(3)(4)(2)(1)(1)(3)(9)(1)(9)(7)}

我要回帖

更多关于 virtools5.0下载 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信