- 最后登录
- 2018-12-19
- 注册时间
- 2012-8-20
- 阅读权限
- 90
- 积分
- 54706
- 纳金币
- 32328
- 精华
- 41
|
四、Virtools进程循环
(一)概述
Virtools进程循环,在你(或用户)运行一个作品时,是一个重复性的过程,常常涉及到帧或者渲染帧。理解进程循环,可以帮你在合适的帧频下,建立高效的脚本和运行流畅的作品
一个满意的帧频通常定义为能提供高效实时的播放画面。实时播放最少需要每秒15个图片,全沉浸式需要每秒60帧。因此,对创作者来说,你应当维持最少每秒30帧的帧频(近似与电视的帧频),目标是每秒60帧的帧频或者更大。
Virtools是一个实时引擎:允许所有的行为在它的环境中连续不断地起反应,包括使用者。
当作品播放时,Virtools重复执行进程循环,总是以相同的次序执行同样步骤,直到作品被停止或复位。
图1-6 Virtools的进程循环
一个进程循环的持续时间一般叫做一帧。帧频是每秒钟完成进程循环的次数用每秒多少帧(Fps)来度量。帧频在Virtools Dev的界面上显示,位置在屏幕右下角靠近播放暂停键处。
图1-7 Virtools面界的右下脚。显示FPS
进程循环应当尽可能快地执行:
· 高的帧频要对用户的输入做出快速的响应,增加用户对作品品质的感知。
·渲染图片可以提高动画质量和视觉效应。注意,如果渲染图象快于显示刷新速率,将不能提高显示质量,在有些情况下,还会降低显示质量。
加大帧频,必须在每一帧里减少可执行行为的数量。在满足最低浸入感的条件下,不要试图在一个给定帧里做得更多。当制作脚本时,你应当试着:
·划分任务成子任务并在每帧里只运行最小数量的子任务。
·建立你的脚本使帧频保持相对的不变。
·大的脚本在给定帧必须全部被处理,在这种场合,要避免响应用户的输入。帧频很可能显著降低并且用户将很难再次提供相同的输入。
一些BBs,例如角色曲线跟随BB被设计成递增工作方式。胜于在一个单帧内,曲线从开始点到终止点的方式。角色曲线跟随BB让角色在帧内沿着曲线只移动一小部分—分布工作在多个帧内,提高沉浸质量。
图1-6是进程循环的两个部分:
1. 处理行为和
2 .渲染场景。
(二)行为处理
行为处理在作品中建立交互。行为几乎能够施加给Virtools中的每一个元素。在行为处理过程中,按照一个优先级计划,一个接着一个地,所有被激活的行为都能被执行。
每个行为,当被执行时,通过行为链,能够激活其它的行为。行为链有一个能在帧(进程循环)中被量度的连接延迟。连接延迟能够:
0- 在当前帧传播激活
1- 在下一帧传播激活
n-在当前帧后的第n帧传播激活
在叙述这些之前,不同的管理器在它的运行中帮助行为引擎。管理器运行他们的任务,不是在动作处理的开始,就是在行为处理的结束,恰好在渲染之前。
通常,不需要知道这些管理器怎样或者什么时候工作,但有一个例外:消息管理器。消息在行为处理结束时发送、并在下一帧开始时被接收。因此,交互驱动消息始终存在于消息被发送和接收帧之间的帧延迟中。
Virtools管理器的完全描述在Virtools SDK中可以找到。
(三)渲染
渲染用来显示作品,并由离散的渲染引擎运行。引擎可以由用户选择,取决于显卡和操作系统的性能;然而你能强制使用某种渲染引擎或丢弃某些功能。
在Virtools Dev中,选项(Options)菜单的通用选择(General Preferences)里面,能够选择创作模式和播放模式的渲染引擎。
渲染在进程循环中最耗时,极度依赖硬件的性能。 |
|