西昌.何雨锋 本文谢绝转载,
一、用户界面的外观
UI Overview 用户界面概述
Basic UI Functionality 基本的UI组件
用户界面是由七个组件组成
1。下拉菜单
下拉菜单-可从菜单栏在顶部的应用程序提供通用功能如创建,打开,关闭,和配置项目,进入帮助系统,等等。
File 文件菜单:打开、新建、关闭工程、角色文件。
Edit 编辑菜单
Layout 控制用户图形界面上的各个窗口组件的打开与关闭、铆钉与活动。
Game view 游戏视图:进入或设置游戏视图
后面的不用说了。
2、资源视图(Asset View)
负责管理资源,包括角色、皮肤和附件。CT可以创建模型、动画;而BT则负责创建角色、动作和资源管理。
在资源视图列表中,动画有他们自己的文件夹。别的资源类型在角色列表中被创建和管理。在资源里点右键菜单可以提供各种命令。
需要注意:hkc文件是角色文件,它需要指定一个hkx蒙皮文件,否则显示出来的将是角色的骨骼。hkc的C即是charactor的意思。
hkb文件是行为文件,用文件--[创建行为]命令,将可以给当前的角色创建一个新的行为,这个选项只对当前活动的角色有效,要激活一个角色只需要在角色\资源选项卡视图(Characters tab of Asset View)中点选角色即可。
3、图形视图
用来进行可视化构造和编辑行为。包括一个可拖动的区域,在这个区域上可以创建“states”(状态)和"transitions"(过渡),并且还有一个可以发布命令的工具栏。
4、3D视图
使用阴影渲染一个活动的角色,可以缩放、控制、旋转它。
5、播放控制
用来在BT中进行管理。VCR类型按钮用于播放与暂停。或者下一个上一个、到开始、到结束。有一个模拟按钮可以用在资源视图(asset view)或图形视图(graph view)中选择的行为来控制角色的运动。这个模拟模式可以让你在行为的状态中进行过渡模拟。并将这种生成的过渡记录到缓存中,当模拟完成之后,还可以播放或删除这个过渡结果。
6、便笺
便笺中提供的用户界面,功能发布资产编辑共同位置固定的区域。这些编辑的东西,如剪辑,共混物,事件,变量和序列。
7、输出窗口
输出窗口有三个标签:日志、查找结果、模拟输出
日志是用来显示警告和错误消息。
查找结果选项卡显示在你使用find_select tool工具栏时,找到的输出结果。
模拟输出选项卡:显示在模拟过程中发生的事件和变量值的变化。
二、原理及名词解释
1、一些名词解释:
character(角色):一个视图中可以同时显示几个角色。角色资源可以从比如3dmax或maya中创建出来。一个角色实际上包含了皮肤和骨骼,以及两者间建立出的约束定义的关节限制。
Track(视频轨道):用来描述一个角色骨骼动画的很多个动作,轨道包含了3Dsmax或maya数据中的信息。
Clip(片段):轨道中的一段,就如一套武术动作中的一个小而完整的动作,很多个片段组成了一个轨道,片段之间实际是没有任何联系的。
Status(状态) 一个状态表现出了一个角色在游戏中特定时间内的行为。比如:空闲,走,跑,跌倒,被击倒,起床,爬,跳,落地,等。
Node(节点)一个状态中有一个节点。实际上,有很多不同类型的节点。在这里,“status”的意思是当前状态,而"to status"的意思是下一个状态。
Blend(混合):将一种或多种节点一起使用,每个节点都有不同的权重值,该值决定了各个节点对整体姿势的影响。
Transition(过渡):两种状态之间的转化过程被称为过渡,过渡之前的状态被称为“从状态”,之后的状态被称为“状态”。
Behavior(行为):一个角色的多个状态、过渡和逻辑定义了它的行为。
Vraiable(变量):一个数据容器,在游戏运行时值可以变化,以操作控制角色的行为。
Sequence(序列):在游戏中,一个序列被用来模拟行为播放。。。。。。
Event(事件) 在系统开始在状态或触发器之间过渡的行为的另一个属性。
Trigger(触发器):在序列编辑器中,每一个事件被触发时都有几个专有引信,这种引信叫触发器。
Finite state machine:有限状态机
2、观察hkc文件结构
可以看出一个hkc文件中有一个或多个hkb文件
由以下几方面组成:
Top Node 顶节点,里面装着基本的状态(states)和过渡(transitions)
Attributes 属性
Character Properties 角色属性
Events 事件
Gamepad configs 游戏手柄设置
Sequences 序列
variables 值
(1)hkx文件与动画编辑器
每个状态实际就是个离散的独立的行为,每个状态由两部分构成:hkx动作文件和播放变量值
hkx动作文件中只装有一段骨骼的动作信息,点击hkx文件这些信息可以在动画编辑面板(Animation Edit)中查看修改。
动画编辑器中可以看到动画的各种属性,比如:Type (类型)是normal还是addition的,Duration(持续秒数),Track Count(砧总数),number of samples(样本数),up/down/Forward/Backward 模型的坐标方向等
(2)变量值与变量编辑器
每一个片段(Clip)一般由一个hkx动画(animation)和变量(value)组成。当点击变量时,会出现变量编辑器,需要注意的是,不同行为的同名的变量是可以共享的。
(3)片段及编辑器
一个状态是由至少一个片段所组成的,片段是hkx动画文件及变量值的集合。当点击一个片段时,会出现片段编辑器,包括属性和事件面板
其中播放模式决定了片段是采取只播一次,还是循环或来回播放,或是由用户来控制播放,
它的属性如下:
这里可以对片段进行一些裁剪操作,可以控制播放速度,改变持续时间可以让片段变长或缩短。甚至允许你为片段创建一个事件,用来在状态和不同行为的触发器之间进行同步传输。
属性中的变量可以用来在游戏中被代码控制。
除了属性面板外,还有一个事件面板:
(4)状态编辑器(state Editor)
当点击一个状态时,出现状态编辑器
允许重命名状态,添加描述性注释,编辑分配状态节点。设置从状态产生过渡的优先级。当行为进入或退出状态时,可以指定一些事件。
过渡编辑器(Transition editor)面板
1、基本
2、高级
.......