查看: 1317|回复: 0
打印 上一主题 下一主题

【从入门到精通】Virtools教程4:进程循环

[复制链接]
.    

3797

主题

11

听众

5万

积分

首席设计师

Rank: 8Rank: 8

纳金币
32328
精华
41

活跃会员 优秀版主 荣誉管理 论坛元老

跳转到指定楼层
楼主
发表于 2012-9-3 19:50:06 |只看该作者 |倒序浏览
四、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)里面,能够选择创作模式和播放模式的渲染引擎。

    渲染在进程循环中最耗时,极度依赖硬件的性能。
分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2024-11-23 22:53 , Processed in 0.100779 second(s), 32 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部