- 最后登录
- 2021-9-15
- 注册时间
- 2011-7-15
- 阅读权限
- 100
- 积分
- 50625
  
- 纳金币
- 53202
- 精华
- 32
|
在第五课里,您应该已经完整地学习到了Virtools的基本使用方式。
这一课我们不再一步步地为您解说每样功能与特色,我们将以条列的方式为您针对一些重要的观念或术语作比较详细的说明。
在您逐步学习使用Virtools的过程中,您将会对这些概念与术语感到越来越熟悉,也会对您日后运用Virtools创造属于您自己的独特作品有很大的帮助。
在这一课里,我们把这些参考术语简单地分成三个大类:
Virtools里的组件
Virtools的主要编辑器群
Virtools的档案格式
A. VIRTOOLS里的组件 Virtools是由一系列预先已设定好的组件所构成的数据库。其中,每种组件都具有一个相应的「Setup面版」供您做进一步的设定动作。要开启组件的「Setup面版」很简单,只要在「Level Manager」当中选取要做设定的组件,而后从鼠标右选单里选择「Setup」就可以了了。每个Virtools里的组件都可以被指定独立的「行为模块」与属性。
Media
Media组件包含了用来构成Virtools组件内容的各项素材(次组件)。它们分别是meshes(模型库)、materials(材质), textures(贴图)、与sounds(音效)等。每一种素材在Virtools里均是以一种组件(entity)的形式存在:mesh、material、texture、与sound。这些素材组件都能够在Level View被轻易地存取,而且每一个都能拥有独立的控制与设定方式(详见后面的例子)。
3D Entities
每一个Virtools里的3D组件都以3D几何组件的形式存在,换句话说,它们都在3度空间坐标里具有位置、方向、与大小等几何性质(相对于非几何组件与2D图形组件而言)。
这也就是说,一个3D组件必须包含以下的属性:
在3度空间坐标里具有一笔记录其位置、方向、与大小的独立资料(以数学数组matrix的
形式储存)。
一组可调整的特性参数(内容视其类型而定)。
一组被指定在组件上的media资料(内容视其类型而定)。
这些各种不同类型的3D组件包括有:Frames、3D Objects、Characters、Cameras、Lights、3D Sprites、和Curves。 Frame
Frame是最简单的3D对象,它所有的资料(在3度空间里的位置、方向、和大小)包含在一组数学数组(matrix)当中,他的功用就如同在3dsmax里的Dummy虚拟对象,也就是最常被使用于在3D环境里标明一个特定的位置与或方向,本身在执行时并不会被实际描述出来。点选3DLayout工具列里的「Create Frame」图标来创造Frames。
3D Object
一个3D对象包含一组用来标明位置、方向、与大小的资料,与一系列的mesh。若是一个3D对象具有数个mesh,这些mesh在同一时间里面只有一个会是有效的(active),而这个mesh就被称为「current mesh」。一个拥有好几个不同mesh的3D Object对象有甚么好处呢?您将可以藉由切换选择不同的mesh而让这个3D对象展现完全不同的风貌,或呈现出一些特别的效果。举例来说,一个用来表示「汽车」的3D模型可以分别拥有两套完全不同的mesh,假设第一套为「新车涂装」,而另一套为「损毁涂装」。在一开始时,我们可以把「current mesh」设定为「新车涂装」,这使得车子看起来跟新的一样;随后,我们若是想让车子看起来像是受到毁损一般,不必改变模型对象,而只需将mesh切换为第二组「损毁涂装」就可以了。要注意的是,因为「行为模块」能够直接被指定到mesh上头产生作用(变形或活动等),在数个3D对象共享同一套mesh的情况下,在使用上可能要多留心点。举个例子,您能够使四部独立的车子拥有同样的一套「涂装」,也就是共享同一套mesh。在这同时,您对于这套mesh所指定的「行为模块」,也将会同时对这四部车子发生影响。
Character
一个典型的角色是由一组「躯体零件」(body parts)的3D组件所构成的。每一个「躯体零件」都能够被指定独立的「行为模块」。 Character能够把一组不同的3D组件组在一起,表现整体的效果,让这个Character做出不同的动作,或对这个整个Character做碰撞侦测。
Camera
一个Camera包含了一个数学数组的基本数据(位置、方向、和大小)与一组特别的控制参数(视野、裁切面…等)。在您的作品里设定几组不同的camera组,能够让您视情况在这几组camera间做交互式的实时切换。这将使您的作品表现出电影般的蒙太奇动态效果。Cameras可以是自由移动的,也可以被锁定在某个目标3D组件上,成为该组件专属的追踪镜头,端看您的需求而定。
要新增一组camera,只要从3D Layout的工具列里选取「Create Camera」图标就可以了。
Light
一个Light包含了一个数学数组的基本数据(位置、方向、和大小)与一组特别的控制参数(色彩、强度…等)。我们可以使用Light来创造场景理的即时光源效果。Light的种类共有下列四种:
• 点光源(Point):全方向光源(omni-directional light)
• 聚光灯(Spot):直接打在一个聚光目标(3D组件)上的聚光灯。
• 有向光源(Directional):朝给定方向直射的光源。
• 平行光源(Parallel):与点光源相似,平行光原也对场景中所有的对象产生作用,但平行光源在每个对象上只会计算单一向量的一道平行光线。(相对地,点光源会对对象上的每一个顶点vertex做光线向量运算,这样的方式会产生相对精确真实的光源效果,但同时也要花费较多的
运算时间。)要新增一个Light,只要从3D Layout的工具列里选取「Create Light」图标就可以了。
3D Sprite
一个3D Sprite 包含了一个数学数组的基本数据(位置、方向、和大小)、一张贴图(texture)、与一组特别的控制参数(Sprite种类、UV映像资料…等)。贴图在这里就好比一张被贴在3D对象上的动画片一般,所不同的是它的演出面将不再仅仅是平面,而已经被换成有3度空间位置的
图形了。
要新增一个3D Sprite,按住Shift 后从Resource 面版中的数据库里拖曳想要的贴图,并将它放入 3D Layout里适当的位置上就行了。
Curve
一个Curve包含了一个数学数组的基本数据(位置、方向、和大小)、一组3D控制点、与一组特别的控制参数(Curve种类、相位资料aspect…等)。
要新增一个Curve,只要从3D Layout的工具列里选取「Create Curve」图标就可以了。
2D Entities
一个3D组件包含以下的属性:
• 在2度空间里具有位置与大小的数据。
• 一组可调整的特性参数(内容视其类型而定)。
• 一组被指定在组件上的media资料(内容视其类型而定)。
在Virtools中唯一可被存取与使用的2D组件只有2D Sprite。(Virtools引擎也将文字视为2D组件,但它们的性质与Virtools接口上的文字其实是不太一样的。)
2D Sprite
一个2D Sprite 包含了一个2度空间的坐标和大小、一张贴图、与一组特别的控制参数(Z Buffer、裁切Cropping…等功能)。2D Sprites在3D场景里只会出现在两个位置:不是当作场景的前景接口,就是作为背景使用。要新增一个2D Sprite,按住Ctrl后从Resource 面版中的数据库里拖曳想要的贴图,并将它放入 3D Layout里适当的位置上就行了。
Abstract Entities
Abstract entities泛指那些非几何定义的组件,同时它们也不属于Media组件的范围。Abstractentities 的主要功能在于,当您想同时控制许多组件时,Abstract entities被用来替您简化一些操作的程序。Group
一个Group可以包含一组Media组件、3D组件、或2D组件。在Group里的组件都只是定义而已,并以参考表列的方式留在Group当中,这些组件并不会再加以复制。而就像Virtools里的其它组一般,Group也可以作为接受「行为模块」指派的单位。要新增一个Group,只要从Level View的工具列里选取「Create Group」图标就可以了。若您想在group里加入新的组件,您只需要将该组件从Level View中的资料夹里拖曳出来,而后放入Group所属的资料夹里就行了。
Place
一个Place包含了一整组的3D与2D组件。使用Place能让您藉由将场景切割为几个不同的区间,进而阶层化地加以组织与管理。在Place里的组件都只是定义而已,并以参考表列的方式留在Place当中,这些组件并不会再复制一遍。而就像Virtools里的其它组件一般,Place也可以作为接受「行为模块」指派的单位。当一个新的项目开始时,所有的组件都会被预设放置于一个叫做「Trans-Place」的资料夹当中。要新增一个Place,只要从Level View的工具列里选取「Create Place」图标就可以了。若您想在Place里加入新的组件,您只需要将该组件从LevelView中的资料夹里拖曳出来,而后放入Place所属的资料夹里就行了。
Scene
一个Scene包含了一整组的Place、3D组件、与2D组件。使用Scene能让您将整体的作品切割为几段叙述性的部分(Narrative parts):在一个独立的Scene当中,Virtools只会执行与处理该场景的资料,因此能达成大幅减低系统运算负担的目的。在Scene里的组件都只是定义而已,并以参考表列的方式留在Scene当中,这些组件并不会再加以复制。而就像Virtools里的其它组件一般,Scene也可以作为接受「行为模块」指派的单位。要新增一个Scene,只要从Level View的工具列里选取「Create Scene」图标就可以了。若您想在Scene里加入新的组件,您只需要将该组件从Level View中的资料夹里拖曳出来,而后放入Scene所属的资料夹里就行了。
Level
一个Level包含了您作品里所有的组件。基本上,当您在任何时候储存下您的作品时,您实际上是储存了一整个Level。一个Level可以被细分为数个Scene,而每个Scene则又包含了许多的
Place(如下页图标)。Level算是Virtools里层次最高的组件,正因如此,在Virtools的编辑过程里,您一次只能够在一个Level里工作,而当您想要切换到另一个Level里进行编辑的时候,这表示您等于另外开启了另一个新的作品。 VIRTOOLS组织架构图 B. VIRTOOLS的主要编辑器群 3D Layout
3D Layout用来导览整个作品场景,以便操作与调整作品中诸如镜头、光源等组件。
Resource
Resource View显示所有硬盘里可用的相关资源,包括「Building Blocks library」、「User behaviors library」(使用者『行为控制』项目库)、及「Media databases」(媒体数据库)等。
Level Manager
Level Manager让使用者以条列的方式监看与调整所有的组件状态。您可以用Level Manager来操纵这些组件:例如复制、删除等等。
Schematic
Schematic View用来显示每个组件的「行为控制」叙述状态。这也是您真正用来编辑场景中所有互动机制的地方。
Schematic View所能提供的功能与可能性远远超过先前基础课程里所教给您的。其它更细节的资料将在online reference里会有深入的描述,这里我们先熟悉一下其中比较重要的部分。
参数设定/Working with Parameters
Schematic View 让 您 能 够 在 撰 写 script 时 , 运 用 Virtools 内 建 的 参 数 类 型(pre-programmed parameter types)创造属于您自己的local参数(从选单中选取『Create Local Parameter』即可)。您可以藉由使用Parameter Operations(从contex选单中)来控制与运算这些local参数。 Parameter Operations 能够处理两个输入参数,而后经过指定的运算后,输出一个新的参数。(举例来说,我们可以把两个3D组件当作输入端,让Parameter Operations 运算两者间的距离,而后输出一个新的Float参数。)
我们常会在一组script(甚至是不同的script)里重复地运用到一些相同的参数,要简化这种重复的动作,我们可以在Schematic View里藉由选单里的copy/paste等功能来制作所谓的「参数快捷方式」(Parameter Shortcut)。这些「参数快捷方式」可以在繁复的参数编辑与连结中,避免掉许多因参数重复与混杂而导致的不必要逻辑错误。
除错工具/Debugging tools为了补足与强化Trace mode,Schematic View 提供了先进的除错工具,让您能够顺着执行程序一步步有系统地逐步进行除错的工作。点取 Schematic View's工具列里的Debugging Tools图标,您就能轻松地使用这些除错工具了。
Setup
Setup Views可以在每一种组件上按右键来开启,这是用来显示该组件所有的相关参数,并让
您能够及时地加以调整编辑。Hierarchy View
Hierarchy View以条列方式来显示场景里所有组件的关连性。这个检视工具能够让您轻易地指
定所有3D组件间的从属关系。要开启Hierarchy View,只要从Editors下拉选单里选取Show
Hierarchy View选项即可。
Attribute Manager
Attribute Manager(属性管理员)用来监看目前场景当中所有组件的属性资料。只要开启
Attribute Manager,只要从Editors下拉选单里选取Show Attribute Manager选项即可。
Watch View
Watch View使您能够在测试演出的情况下监看某些指定参数的变化状态。这表示Watch View
通常会被用于除错的目的上。
要开启Watch View,只要从Editors下拉选单里选取Show Watch View 选项即可。
Status Bar
Status Bar显示了许多关于目前编辑状态的有用信息,例如选取状态、有效动作等。其中还包含了「Error Log」(用来储存错误讯息)、「Profiler」(监看CPU的使用状态)、及「Time
Settings」(frame rate的锁定显示)等讯息栏。 C. VIRTOOLS的档案格式 Virtools可接受的档案格式
3ds max档案格式:
使用3DS Max的plug-in汇出。(参见online reference的plugin说明)
3DS、D3D档案格式:
使用工具列中的「Resourceimport file」选单汇出。
JPG、TGA、BMP、PCX、DIB位图格式:
在数据库里建立一个名为「texture」的资料夹用来收纳欲汇出的档案。而后选择要汇出的档案,拖放至「3D Layout」窗口或「Level View」当中即可。
MPEG、 AVI、ActiveMovie支持的动画格式:
在数据库里建立一个名为「texture」的资料夹用来收纳欲汇出的档案(动画被视为『复页位图』处理)。而后选择要汇出的档案,拖放至「3D Layout」窗口或「Level View」当中即可。
WAV、MID、WMA、或MP3等音乐音效压缩格式:
在数据库里建立一个名为「sound」的资料夹用来收纳欲汇出的档案。而后选择要汇出的档案,拖放至「3D Layout」窗口或「Level View」当中即可。Virtools的档案格式
.cmo:整合的作品档案,包含完整的程序描述文件。
.nms:包含所有「行为模块」资料的叙述文件。
.nmo:包含所有组件与其相关程序叙述资料的档案。
|
|