纳金网

标题: 【从入门到精通】Virtools教程4:进程循环 [打印本页]

作者: .    时间: 2012-9-3 19:50
标题: 【从入门到精通】Virtools教程4:进程循环
四、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)里面,能够选择创作模式和播放模式的渲染引擎。

    渲染在进程循环中最耗时,极度依赖硬件的性能。




欢迎光临 纳金网 (http://c-www.narkii.com/club/) Powered by Discuz! X2.5