在官方提供的例子里,可以找到主角的fbx文件.(win7下是默认是这样的C:\Users\Public\Documents\Unity Projects\AngryBots\Assets\Objects\Player\Player.FBX),将此文件放到自己的Assets文件夹下,Unity3D中的Project面板会将其刷新出来,但是如下图所示,动作信息是没有经过分割的.
一定要注意,不要选择Hierarchy面板的物件,确保选择的是Project面板的原始物件。
此时需要手动添加动画信息.继续向下滚动Inspector面板,找到Animations,使用分割工具手动添加动画信息.
点”+”号,添加一个新的动作.Name可以手动修改自己要的动作名称,Star是动作的起始帧,End是当前动作的终结帧.WrapMode选择Loop可以保证手动填入的最大帧如果大于实际最大帧,则做一个类似的取模运算(实际最大为5,写了7,则或播放的是 0,1,2,3,4,0,1)最后的Loop表示是否为循环播放动画.点后面的”-”号,则会删除该帧.
调整完成后保存
将物件拖动至场景中,Inspector面板可以看到如下信息.第一个方框内表示默认的动作,下面的方框,表示当前物件的全部动作信息.
按w键播放奔跑动作的代码.
if( Input.GetKeyDown("w") )
{
{
animation.Play("run");
}
如果想让两个动画切换时平滑过渡,将Play() 函数改为 CrossFade("AnimName", fadeTime);
第一个参数为动画的名字,第二个参数为第一个动画和第二个动画开始的“过渡”时间。