创建动画
[从 Windows 7 开始,Microsoft 代理已弃用,可能在后续版本的 Windows 中不可用。]
若要开始为角色创建动画,请选择树中的 “动画” 图标。 这将显示“ 属性” 页,其中包含所有动画的默认设置。 可以在 “属性” 页上更改帧大小、默认帧持续时间和调色板设置。
设置角色的帧大小
动画帧的高度和宽度必须在整个字符定义 (保持不变,即,对于该角色的所有动画) 。 尽管可以将帧大小从其默认设置更改为 (128 x 128 像素) ,但编辑器中显示的图像将缩放为适合默认显示大小。 如果更改默认框架设置,可以通过从“编辑”菜单中选择“打开框架窗口”来显示框架的完整非缩放大小。
设置角色的调色板
默认情况下,编辑器使用加载的第一个位图图像来设置字符的默认调色板、确定字符显示方式的颜色,并将第 11个 调色板位置中的颜色设置为透明色。 但是,可以在“调色板信息”组中显式设置 调色板 和透明度。 这使你可以指定要用于调色板的图像文件。 可以指定动画图像文件之一或任何图形文件。 指定的调色板文件必须是 8 位 (256) 颜色文件。 加载后,使用“ 更改设置” 按钮更改透明度颜色。
角色的调色板不得重新映射标准系统颜色。 显示图像时,编辑器将自动保留系统的调色板。 此外,所有动画图像都必须使用相同的调色板和透明度颜色。 这非常重要。 否则,在将图像加载到编辑器中时,可能会看到图像的颜色重新映射。
虽然你可以为字符设置调色板,但当“显示”属性设置为 8 位 (256) 调色板的 Windows 系统上,字符的颜色将受当前系统调色板的约束。 由于应用程序可能会更改系统调色板,因此字符可能不会显示正确的颜色设置。 尽管无法阻止这种情况,但可以通过限制所使用的颜色数量并基于驱动字符的应用程序使用的调色板设置字符的调色板来减轻效果。 例如,如果要开发用于网页的字符,可能需要使用 Microsoft Internet Explorer 的半色调调色板设置字符的调色板。 可以捕获浏览器的调色板,方法是右键单击网页上的图像,选择“图片另存为”命令,在“另存为类型”选项中选择“位图”,然后单击“保存”。 若要将动画图像文件优化为特定的调色板文件,可能需要使用均衡去标签器等产品。
创建新动画
确定全局动画设置后,可以开始创建动画。 若要创建新动画,请从“编辑”菜单或工具栏上的“新建动画”按钮中选择“新建动画”。 这会在“动画”图标下的树中添加一个新的 动画 图标,并为新图标分配默认名称。 可以通过在“ 动画名称” 字段中键入来重命名动画。 请注意,字符定义中的动画名称必须是唯一的。 此外,避免在名称中使用不是文件名有效字符的字符。
添加帧
每个动画都由帧组成。 若要为动画创建新帧,请从“编辑”菜单或工具栏中选择“新建帧”。 这会将新框架图标添加到动画图标下的树中,并显示三个选项卡式页面。 “ 常规 ”页包含用于加载和调整帧图像的控件。 它还包括框架外观的显示区域。
一个帧可以包含一个或多个图像。 若要为帧定义图像,请单击“ 图像” 列表框正上方的“添加 图像 文件”按钮。 将显示 “选择图像文件 ”对话框,可用于选择位图图像文件。
选择要加载的文件,选择 “打开”,图像将显示在“ 常规 ”页上的框架显示中。 编辑器接受存储为 1 位 (单色) 、4 位或 8 位 Windows 位图格式或 GIF 格式的图像。
可以使用“ 位置 ”框中图像下方的四个箭头按钮调整图像在框架中的外观。 如果图像大于帧的大小,则仅显示帧中显示的图像部分。 如果增加帧大小,可能会缩放图像以适合编辑器的显示区域。
还可以通过从“编辑”菜单中选择“打开框架窗口”来显示框架。 这会在单独的窗口中显示当前帧,而不会缩放加载到帧中的图像。 此窗口的初始大小基于框架的高度和宽度设置。 可以缩小大小,但不能变大。 框架窗口反映使用编辑器中的控件所做的更改,还允许您在查看框架的其他属性页时查看框架。
你可以从多个图像中撰写一个帧。 每次选择“ 添加图像 ”按钮并选择另一个图像时,图像都会添加到列表和图像显示区域。 还可以通过选择多个文件来添加多个图像。 在“ 选择图像文件 ”对话框中单击的同时按 SHIFT 或 Ctrl,然后选择“ 打开”。 “图像”列表框上方的“上移”和“下移”按钮按显示顺序 (z 顺序) 移动该帧的选定图像。 还可以通过在列表中拖动图像来移动图像。 在列表中选择图像并单击“ 删除 ”按钮将删除图像。 若要更改已加载到另一个图像文件的图像,可以单击文件名直接对其进行编辑,或使用 “...” (省略号) 按钮打开“ 选择图像文件 ”对话框并选择其他文件。
可以使用“ 工期 ”文本框设置框架的持续时间;也就是说,帧的显示时长。 如果帧没有图像且持续时间为零,则播放动画时不会显示该帧。
还可以指定要在显示帧时播放的声音效果文件。 如果计划从 Web 服务器加载字符,可能需要压缩声音效果文件以最大程度地减少加载时间。 然后,可以在代理字符编辑器中指定压缩的声音文件。 此外,请避免使用持续时间超过动画持续时间的声音效果,尤其要避免使用循环播放的声音效果,因为 Microsoft 代理动画服务在声音完成之前不会发送动画完成事件。 此外,请避免为分配给 “正在听” 或“ 听” 状态的任何动画指定声音效果,因为这会干扰语音输入。 最后,虽然可以在动画中包含多个音效,但请避免放置它们,使它们重叠,因为这可能会影响动画的计时。 此外,请记住,声音效果可能会根据用户的硬件以不同的速率播放。
若要向动画添加帧,请再次选择“ 新建帧 ”命令并遵循相同的过程。 作为一个选项,还可以加载多个图像并为其自动生成新帧。 若要使用此功能,请从“编辑”菜单中选择“从图像新建帧”。 将根据图像文件名按字母顺序创建帧。 定义完动画的所有帧后,可以再次选择 “新建动画 ”命令以开始新的动画。
还有其他方法可以向动画添加帧,并在动画内部或动画之间移动帧。 可以从相同或另一个动画) 中选择另一帧 (,然后选择 “剪切 ”或“ 复制”,然后选择动画或该动画中的帧,然后选择“ 粘贴”。 还可以将帧从一个动画拖动到另一个动画。 如果在动画中拖动,该操作将移动帧。 如果拖动到另一个动画,则会复制该帧。 拖动到同一动画中的上一帧会将该帧插入到拖动到的帧之前。 拖动到以下框架后,将它置于拖动到的框架之后。 如果使用鼠标右键拖动帧,释放该按钮将显示一个弹出菜单,其中包含传输选项。
还可以通过复制现有动画来创建动画 (选择动画并选择 “复制) ”,然后选择“ 动画 ”图标或其他动画图标,然后选择“ 粘贴”。 编辑器会自动为动画创建新名称,但你可以更改名称。
分支创建
创建帧时,还可以定义下一个播放的帧。 默认情况下,在动画序列中播放的下一帧始终是 z 顺序中的下一帧。 但是,通过选择“ 分支 ”页,可以设置服务器可能播放的最多三个其他帧的概率。 在相应字段中输入概率百分比和目标帧编号。 即使对于没有图像且持续时间设置为零的帧,也可以指定分支。 这使你可以在不首先显示特定图像的情况下进行分支。
可以使用分支功能创建将无限期循环的动画。 但请注意,当循环动画播放时,角色队列中的其他动画将不播放,直到某个事件(例如用户按一键或调用 Stop 方法的客户端应用程序)停止循环动画。 因此,在创建循环动画之前,请仔细考虑动画的使用上下文。
分支页还可用于创建退出分支。 退出分支是动画停止时和播放下一个动画之前动画将采用的帧的分支。 通过定义退出分支,可以在从一个动画过渡到另一个动画期间顺利移动。 退出分支不得创建循环,但最终必须能够退出到动画的最后一帧。
不必为每个帧提供退出分支,但是,如果没有,动画将遵循帧的正常分支。 如果帧没有显式分支,则动画会自动分支到它后面的帧。 例如,如果从帧 3 分支到第 1 帧,而帧 1 没有其他分支 (正常分支或退出分支) ,则帧 1 将分支到第 2 帧。 如果第 2 帧没有分支,动画将分支回第 3 帧,并且你有一个循环。 相反,你可以从第 3 帧分支到第 1 帧,然后将帧 1 的退出分支设置为帧 3 之后的任何帧,并且通常继续到动画的最后一帧。
有时,可能需要创建动画的显式最终帧,该帧不会明显播放,但提供动画的结尾。 例如,需要退出动画,但退出到最后一帧是不合适的。 为此,可以创建一个空白的零持续时间帧作为动画的最后一帧。 这允许动画在动画的最后一帧中正常播放,还可以为退出分支提供最终退出点。
预览动画
可以通过选择“编辑”菜单上的“预览”命令或工具栏上的“预览”按钮,在代理字符编辑器中预览动画。 这会从当前所选帧开始播放动画,包括任何分支和声音效果。 动画完成后,它将重置为当前所选帧。 若要播放整个动画,请转到树视图,选择动画的图标或动画的第一帧,然后选择 “预览” 命令。 编辑器在 “常规 ”页上对框架进行动画处理。 若要在预览结束前停止预览,请选择 “停止预览” 命令。 预览播放时,预览命令会自动更改为“停止预览”。
还可以通过在“编辑”菜单或工具栏上选择“预览退出分支”命令来预览退出分支。 使你能够测试退出分支从任何特定帧的显示方式。
分配口语覆盖
可以定义字符,使其在动画的最后一帧中说话。 在此框架上,选择“ 覆盖 ”页。 通过此页面,你可以加载嘴部图像文件并将其分配到 Microsoft 代理支持的标准嘴位置。 单击“ 添加图像 ”按钮,然后从对话框中选择图像。 还可以选择多个图像,编辑器将加载并分配从所选嘴位置开始的图像。 单击“ 上移 ”和“ 下移 ”按钮或拖动条目以更改列表中的图像分配。 单击“ 删除” 按钮可删除图像。 还可以编辑分配的文件的路径名,方法是在列表中单击其条目并重新键入其文件名,或者选择 省略号 按钮以显示“ 选择图像文件 ”对话框。
你的嘴部覆盖层必须适合它们将出现在的基本框架的轮廓内。 否则,它们将被剪裁到基本帧。
如果想要让角色在基本框架外用嘴说话(例如,当角色向侧侧说话时),首先创建具有字符头部 (或当角色说话时将移动的区域) 作为其顶部图像。 然后,定义嘴部覆盖以替换该图像,并设置 “替换基本帧顶部图像 ”选项。 还可以使用 “全部设置 ”按钮为框架中的所有嘴部覆盖设置此选项。
分配返回动画
若要创建从一个动画到下一个动画的平滑过渡,请将动画序列设计为以中性图像开头和结尾。 有关详细信息,请参阅 为 Microsoft 代理设计字符。 但是,这并不意味着每个动画都必须以中性位置结束。 你可以通过一系列帧对角色进行动画处理,使其在最后一帧中说话,并创建一个单独的互补动画,将字符返回到中性位置。 此补充动画称为返回动画。
可以通过为此创建显式动画来定义返回动画。 还可以使用在动画中定义的退出分支创建 Return 动画。 若要分配返回动画,请在树中选择动画,然后从“属性”页上的“返回动画”下拉列表中选择“返回动画”或“使用退出分支”。
创建和分配 Return 动画有一个额外的好处:当服务器收到播放另一个动画的请求时,如果分配了 Return 动画,它将尝试为其播放的最后一个动画播放 Return 动画。 这可确保平稳过渡。 如果动画在中性位置开始和结束,则无需定义 Return 动画。 同样,如果打算自己处理从一个动画到另一个动画的过渡,则可能不需要分配 Return 动画。
为状态分配动画
当托管客户端应用程序使用某些方法时,Microsoft 代理动画服务会自动播放动画。 例如,当应用程序调用 MoveTo 和 GestureAt 方法时,服务器会自动确定字符的显示位置并播放适当的动画。 同样,当用户几秒钟没有与角色交互时,Microsoft 代理会自动播放空闲动画。 当服务器自动代表应用程序播放动画时,这些条件称为 状态。 但是,若要使服务器知道要播放的动画,必须将动画分配给这些状态。
若要将动画或动画分配给状态,请创建相应的动画,在“编辑器”窗口的树视图中展开“状态”条目,然后选择“状态”图标。 你创建的动画列表显示在窗口右侧的列表框中。 检查要分配给此状态的动画。 请注意,可以将多个动画分配给同一状态。 这样,服务器就可以为状态随机选择不同的动画。 将动画分配给状态不会阻止动画直接播放该动画。
还可以通过在树中选择动画的条目,将动画分配给状态。 “属性”页上的“分配到状态”列表框列出了状态。 选择要为其分配动画的状态的检查框。
编辑器不支持创建其他状态,因为状态仅适用于服务器必须代表客户端应用程序自动播放动画的情况。 因此,定义自己的状态没有好处。 如果需要,可以使用 Play 方法显式播放任何动画。
保存字符定义
可以通过选择“文件”菜单上的“保存”命令或工具栏上的“保存字符定义”按钮来保存字符的定义文件。 如果要使用新名称保存字符定义文件,请在“文件”菜单上选择“另存为”命令。 编辑器将字符的可编辑定义保存为代理字符定义 (。ACD) 文件。 还可以使用大多数文本编辑器和字处理应用程序编辑这种自文档化文本文件格式。
打印字符定义
若要打印字符的定义,请选择“文件”菜单上的“打印”命令或工具栏上的“打印”按钮。 若要设置打印输出的属性,请选择 “页面设置” 命令,然后选择设置,然后选择“ 打印 ”命令。
生成字符
创建完动画后,必须将角色和图像编译为 Microsoft 代理用于加载此数据的特殊格式。 若要生成字符,请在 “文件 ”菜单上或工具栏中选择“生成字符”命令。 如果字符定义文件中有未保存的编辑,编辑器会在显示“ 生成字符 ”对话框之前保存定义文件。
代理字符编辑器将根据字符定义文件名自动建议文件名。 “生成字符”对话框还包括一个下拉列表,因此可以选择将字符生成为单个存储文件 (。ACS) 或作为多个文件。 如果选择后者,编辑器将生成 。包含字符数据和 的 ACF 文件。创建的每个动画的 ACA 文件。 如果计划安装和访问与客户端应用程序存储在同一台计算机上的字符,通常选择单一结构化文件格式。 此格式提供简单高效的安装和访问字符。 但是,如果使用 HTTP 协议从 Web 服务器访问该字符,请使用 生成字符。ACF (单个) 文件格式。 后一个文件结构允许网页脚本加载单个动画文件,将数据存储在用户的浏览器文件缓存中。 它提供更高效的 Web 访问,因为可以根据需要下载动画数据,而不是要求用户一次等待整个动画集下载。 此外,由于字符的数据存储在浏览器缓存中,因此可以自动回收文件空间。
尽管还可以将字符数据 (作为单个结构化文件或多个文件下载,从 Web 服务器) ,并安装在用户计算机上的其他位置,但此类方法需要为下载和安装提供安全设置。 因此,除浏览器缓存外,Microsoft 代理 API 不包括对字符的可下载安装的支持。 但是,仍可以通过创建自己的安装控件来支持此方案,并按照适当的安全约定对其进行分发。 有关详细信息,请参阅 Microsoft Internet 客户端软件开发工具包。
使用“压缩”选项可以设置是否压缩字符数据。 通常,需要设置此选项以压缩字符数据,但使用压缩数据生成字符需要更长的时间。
生成字符后,如果将字符生成到同一目录位置,后续生成的速度会更快。 字符编辑器会自动验证和复制未更改的文件,并重新编译任何已编辑的数据。
如果编辑器在生成字符时在字符文件中检测到任何错误,则会将信息写入日志文件并显示一个消息框。 可以选择查看或忽略日志文件,稍后使用文本编辑器读取它。 但请注意,下次生成字符文件时,编辑器将覆盖日志文件。
编辑现有字符
若要编辑现有字符,请在“文件”菜单上选择“打开”,选择字符的定义文件 (。ACD 在生成的对话框中) ,然后选择“打开”。 文件将加载到编辑器中。 请注意,无法 (加载已编译的字符文件。Acs。ACF 或 。ACA) 编辑器。
因为字符的定义文件 (。ACD) 是一个文本文件,还可以通过使用文本编辑器或字处理程序打开文件来编辑字符的定义。 但是,在完成更改时,请确保先以原始格式保存文件,然后再将其加载到字符编辑器进行编译。