VirtoolsDev帮助文件-中文翻译版

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一行
4CKObject
5参数
排列能够被建立在创造模式或者通过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右面。输出在当前贞的运行过程的结尾时被激活。激活流程遵照所有附加动作的连接。
动作连接  bLink
BBs通过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 增加bIns
2 增加bOuts
3 增加pIns
4 增加pOuts
5 改变一些或者多有的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创建节点路径BB

Behavior 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。

注意:两个唯一的自身参数被允许有相同的名字。然而,这个操作不是被推荐的由于潜在的混淆。举例,当你拷贝并粘贴一个自身参数时,你拷贝参数的名字,类型和数值给一个新的自身参数:这两个参数是不同的,虽然他们有相同的名字(由于拷贝和粘贴操作)。你被鼓励使用唯一的名字给你创建每个参数。
This
This是一个涉及到脚本所有者的特殊的自身参数。当你在脚本中创建了一个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_3D
2 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

Undo
Resources Menu
Open Data Resource  打开数据资源
打开一个对话框允许你选择一个现有的数据资源来打开。
Create New Data Resource  创建新的数据资源
Import File  输入文件
   打开一个对话框允许你直接输入文件到一个组合中而不用持有可通过的数据资源。
Import File as -> Character/Place/Scene
  打开一个对话框允许你作为一个角色、地点或场景。

Help

Editors  编辑
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 menu
Setup
Rename
Edit Render Priority
Set Initial Conditions on Hierarchy
Remove Initial Conditions on Hierarchy
Toolbar  工具栏
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 Manager
Toolbar  工具条
Change Display Mode  改变显示模式
这个按钮让你栓牢在列表和文件夹显示模式之间,你也可以点击专栏标题来分类。(举例来说,下面被分类通过组合专栏)
Default Selected Items  回退选择项目
这个按钮回退被选择的变量到本地变量如果他们已经改变。
Default All Variables  回退所有变量
Commit  提交
Restore  恢复
All/Composition/Application  所有/组合/请求

Main Window
Variable 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 Plugins

Installed Plugins  安装Plugins
总体
安装Plugins窗口显示所有的当前可用到的Plugins。
一个Plugin是一个软件组成  提供某种功能给CK2,Virtools的动作引擎。这有许多不同类型的Plugin:行为模块Plugin,文件读取Plugin,等等。对于建立和寄存你自己的Plugin的信息见Virtools SDK。
Installed Plugins Window
Plugin  
Active
Description
Dll

Unloading Plugins Temporarily  临时卸载Plugins
你可以临时卸载一个plugin,这允许你编译一个plugin,例如你可以用SDK来发展你自定义的plugin,而不用重起DEV。

Building Block Version Test  建立模块译本文件
总体
建立模块译本文件能够使你确定你正在使用的建立模块与最近的Virtools译本一致,这样你的译本能够被观察不需要任何问题在Virtools Web Player中。这个功能只在选相菜单才能到达。当一个荒废的模块被发现时,它能被取代。
Using Building Block Version Test
当你点击选相菜单中的建立模块编译文本时,程序测试你组合中的所有模块。
如果在行为和原型的不同被发现,一个对话框将出现来问你是否希望这些行为被自动地替换。
动作不同被发现当:

不管你是否选择使有一个荒废译本的模块被代替或者不,荒费模块的名字将会被记录在Error Log里,如下.
Warning
See also

Building 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 - Rendering
3D Layout - Actions
3D Layout - Interface
3D Layout - Reference Grid
3D Layout - Snap & Align
Schematic
Miscellaneous Controls
使用Current Prefs菜单来选择你希望编辑的参数。
Alienbrain Menu

Status 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 Player
Troubleshooting   发现并处理故障
Profiler
Profiler允许你看出多少电脑时间用于特殊任务。
3D Layout
3D 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 Filter
Select Camera   
  Selection Group   建立和创建一个选择组
          To create a selection group in 3D Layout
          To switch to a selection group in 3D Layout


3D Layout Transformation Tools   转化工具
转化工具被使用来选择、移动、缩放或改变一个或几个物体的方向。一些这些工具能够被使用用一个在头脑中的特殊的指示点,或者使用一个平面或者一个轴。通过这种方式,3D实体和2D实体也能被编辑。
可用到的工具有
Selection Tool
Select and Translate
Select and Rotate
Select and Scale

Select 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 Scripts
Active Now  
Name
Priority
Reset at Scene Start                 Reset     Don't Reset
Visible                      可见/隐藏/分等级隐藏


Create New Place  
Create New Place
Create New Array
Create New Scene
Create New Workset
Create New Script

Expand button
Collapse button


Schematic
Schematic 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激活。
一个完全拖动方式。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值