没有合适的资源?快使用搜索试试~ 我知道了~
VirTools教程
5星 · 超过95%的资源 需积分: 10 42 下载量 16 浏览量
2010-10-21
11:14:06
上传
评论 1
收藏 437KB DOC 举报
温馨提示
试读
37页
让你理解什么是Virtools的本质、它是如何工作的。包括以下内容: 什么是Virtools? 元素、类和面向对象设计 作品的组成元素 Virtools进程循环 行为引擎 Virtools脚本语言(VSL) 渲染引擎
资源详情
资源评论
资源推荐
第一章 基本概念
这部分内容让你理解什么是 Virtools 的本质、它是如何工作的。如果在你
阅读本章内容之前就进行脚本设计,那是你自己的损失。
什么是 Virtools?
元素、类和面向对象设计
作品的组成元素
Virtools 进程循环
行为引擎
行为和脚本
参数
参数操作(运算)
属性
Virtools 脚本语言(VSL)
渲染引擎
初始状态
一、什么是 Virtools?
(一)概述
Virtools 是 3D 虚拟和互动技术的集成。 Virtools 由以下部分构成:
创作应用程序
行为引擎
渲染引擎
Web 播放器
SDK
(二)创作应用程序
Virtools Dev 是一个创作应用程序,允许你快速容易的生成丰富、对话式的
3D 作品。通过 Virtools 的行为技术,给符合工业标准的模型、动画、图像和声
音等媒体带来活力。
Virtools Dev 不能产生模型。Virtools Dev 不是一个建模工具,然而,简单
媒体如摄像机,灯光,曲线,接口元件和 3D 帧(在大多数 3D 应用中被叫做哑
元和补间)能简单的通过点击图标创建。
(三)交互引擎
Virtools 是一个交互引擎-即 Virtools 对行为进行处理。行为是某个元件如何
在环境中行动的描述。Virtools 提供了许多可再用的行为模块,图解式的介面几
乎可以产生任何类型交互内容,而不用写一行程序代码。
对于习惯编程者,提供 VSL 语言,它通过存取 SDK,作为对图形编辑器的补
充。
Virtools 也有许多管理器,它帮助交互引擎完成它的任务。某些管理器(例
如 SoundManager)对于动作引擎是外部的,一些管理器(例如 TimeManager)对
于动作引擎是内部的。
(四)渲染引擎
Virtools 有一渲染引擎,在 Virtools Dev 的三维观察窗口中可以所见即所
得的查看图像。
Virtools 的渲染引擎通过 SDK 可以由你自己或者订制的渲染引擎来取代。
注意,存取 Virtools 渲染引擎的源码受制於一个附加的授权协议书。
(五)Web 播放器
在成为一种伟大的技术之前,好的技术一定要能被容易地理解和接近。Virto
ols 提供一个能自由下载的 Web 播放器-而且下载量少於 1 MB!
Web 播放器包含回放交互引擎和完全渲染引擎。更一步的关於 Virtools We
b 播放器的资讯可在在线参考中得到。
(六)SDK
Virtools Dev 包括一个 SDK,提供对行为和渲染的处理。
藉由 SDK,你可以:
产生新的交互行为(动态链接库-DLL 方式)
修改已存在交互行为的操作
写新的文件导入或导出插件,支持你选择的建模文件格式
替换, 修改或扩充 Virtools Dev 渲染引擎(需要服从授权协议)
VSL 在 Dev 内具有和 SDK 的接口,因此可以在不用运行自定义动态连接库
(DLLs)下,能容易快速地测试新的概念,执行自定义编码。
这些只不过是一些例子-没有做不到,只有想不到!
二、元素、类和面向对象设计
(一)概述
Virtools Dev 组织元素进入类。元素包括你进入 Virtools Dev 后带来的媒体
(模型,声音,纹理等),也包括你在 Virtools Dev 中产生的物体(例如曲线、场景、
现场等)和数据(例如参数、属性和脚本)。
这章的主题是, 专注於 Virtools 对交互对象的科学分类,包括:
Virtools Dev 如何分类媒体。(举例来说,在 Virtools 中有灯光类,
它包含所有灯光的属性,每个灯光是灯光的一个例证,而且有它自己
的特性,例如它的颜色和它的范围)。
某些操作为什麽只可能出现在某个元素上(类)。(举例来说,为什么
字符才能使用字符动画)。
某些操作为什麽可以出现在所有元素上。(举例来说,所有的元素都
能被激活或解除激活)。
这章介绍的 Virtools 交互对象类的层次,对大多数使用者足够了。然而,
你能在 Virtools 的 SDK 中找到类层级结构完整的描述。
(二)面向对象设计
Virtools Dev 采用面向对象的方法建立一个作品(一个 CMO 文件)。即,每个
元件有一个唯一的特性,各种特性由类来描述。元件受控于交互行为模块(B
B)中的方法以及参数操作符(paramOps)。Virtools Dev 中的类被称为 CKCla
ss 。
图 1-1 Virtools 类层次结构中的交互对象分支
例如,有一个 Virtools Dev 中的类叫做 CKCharacter,只有 CKCharacter 能
用于角色的特定行为设计。(例如角色控制器 BB)
Virtools Dev 的面向对象的特性意味着你导入到 Virtools Dev 中的任何事物
(以模型、声音等形式出现的元件)都是一个 CKClass 的实例。同样,你在 Vir
tools Dev 中创建的任何事物(从一个摄象机到一个阵列)也都是一个 CKClass
的实例。图 1-1 说明了 Virtools 类层次结构中的交互对象分支。
(三)继承
使用类层次结构的优势是可以使用继承。也就是说,任何元素都有它自己
独特的特性,并且继承了它父类的特性。
例如,类 CKLight 继承自 CK3Dentity,CK3Dentity 继承自 CKRenderObject,
CKRenderObject 继承自 CKBeObject。
所以,一个灯光竟然有了 CKLight 类对象的特性,就像:
灯光类型(点、方向等)
灯光颜色(白色、红色等)和
灯光的照射范围
这些特性能够在建立灯光(在创造模式)或者在进行交互行为时(实时运
行,例如播放模式)进行改变。
其次,一个灯光是一个三维实体,意味它继承了三维实体在 3D 空间内的
位置、方位等特性。就因为灯光是一个三维实体,所以能够应用到三维实体上
的任何行为也能应用到灯光上。
第三,一个灯光是一个渲染对象,意味着它能够被渲染(能够在重放中被
看到)。就因为灯光是一个渲染对象,所有能应用到渲染对象上的任何行为也
能应用到一个灯光上。
最后,灯光还是一个交互对象,也就意味着它能被附着一个交互动作(有
些 Virtools 类,例如存储内部数据的类,不能附着动作给它)。就因为灯光是
一个交互对象,所以任何能应用到交互对象的行为也能应用到一个灯光上。
(四)特化
Virtools Dev 对行为提供了特化,因此,对于完成某些特定任务(也就是多
态性),其行为进行了优化处理。例如,移动一个 3D 帧比移动一个角色更容
易,这是因为移动 3D 帧的行为被优化了。
优化行为减少了计算时间,在可接受的渲染质量下,使作品更小、对用户
的输入反应更快。
(五)集合
VirtoolsDev 支持集合,在具有逻辑关系的二个元素之间,一个元素是另
一个元素的一部分,但他们分别都具有自己的特性。
例如,图 1-2 所示的 3D 对象,可以看到有一个 ObjectMeshes 栏。虽
然在同一时刻只有一个网格能被激活,但是一个 3D 对象可以拥有好几个网格。
剩余36页未读,继续阅读
ncstream
- 粉丝: 1
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论6