1.首先要通过用户按下的按键值生成的对应的方向向量:
此处采用的方法是获取虚拟轴的值来生成方向向量(控制角色移动等等都必须在脚本中实现)
首先是创建通过虚拟轴值获得的方向向量dir
然后我们通过四元数类调用lookrotation方法,将方向向量相对于原位置的旋转转换为四元数,并将这个得到的四元数传给transform中的rotation属性,rotation属性就会根据这个新获得的四元数来进行旋转,使得游戏物体面向我们生成的方向向量
2.然后在动画逻辑中我们常用的除了trigger以外,还有一个bool值,创建了一个Bool参数,它在参数列表中是下面这样的,有两个选项,我们要给当前bool值在这个过渡中设置一个ture/false,只有在过渡满足它设置的Bool参数为对应设置值之后,这个过渡才会被执行
3.在脚本中我们创建的动画器控制器变量在承接了动画器控制器组件后,我们通过这个变量调用方法setbool可以修改bool参数的值,括号的参数分别是我们要修改的bool参数的参数名和我们要赋给bool参数的新的值
向量后面的*2指的是每帧移动两米,如果再乘上一个Time.deltaTime的话则是将每帧两米改为每秒两米
动画剪辑
一般一个模型打包发过来后都会有一个专门的动画文件包
在这个动画文件包中包含了一个展示动画的模型和动画片段文件,点击这个包后会出现这样一个Inspector检测面板
上半部分是各种参数调整,下半部分是包内模型进行的动画展示
我们现在主要来讲讲上半部分的参数调整
最顶上四个分别是:模型,钻机?,动画,材质
第一个是和模型相关的我们暂时先不管,来看第二个:
1.第一个参数类型是动画类型,点开后有上面四个选项:如果是无的话,则当前模型文件中不包含动画;如果是旧版的话,则表示模型包中的动画不仅可以用新的animator来播放,还可以用旧版的animation来进行播放
最后两个泛型和人型都是新版的animator组件才能够播放的动画 --- 其中泛型动画播放指所有类型的动画播放,而人形动画播放则是专门从泛型中抽出来的(因为人形的动画用的非常多) --- 如果动画类型选的是人形动画的话,则所有的人形骨骼模型都能使用这个人形动画
2.第二个参数类型是骨骼定义,点开框后有三个选项
第一个是当前模型没有骨骼,第二个是从当前模型中创建骨骼,第三个则是从其它地方拷贝一个骨骼过来
顶头的第四个是模型的材质,这个目前也不需要我们去管,我们要看的是第三个 --- 动画(Animation)
上面那一大堆属性我们暂时不用管,先看下面那个时间轴
这个时间轴表示的是当前动画的长度 --- 轴的上面的左边是长度,右边是帧数
对于这个动画时间片段我们是可以进行剪辑的
点击加号创建一个新的动画片段(其实是当前动画片段的一个拷贝)
创建好后当前动画片段的拷贝之后,点击这个动画片段我们就可以看到下面这么多的参数了,这些参数都是用来当前动画片段的拷贝进行调整的
比如我们想缩短动画的长度:
我们只需要拖拽(下面这个)时间条的两侧就可以了 --- 两侧分别是时间的起点和终点
点击循环时间后我们的动画就会具有循环功能,然后会有个叫循环匹配的灯亮起,如果这个灯亮绿色的话则表明当前动画适合循环,黄色是勉强适合,红色则是不适合循环
注意!!!修改完参数之后一定要点一下应用,不然的话是不会实装的
这些根变换旋转,根变换位置啥的如果不选择烘焙成动作的话,就会导致这些旋转和位移会在场景中自动进行,如果选择了则不会