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)

上面那一大堆属性我们暂时不用管,先看下面那个时间轴

这个时间轴表示的是当前动画的长度 --- 轴的上面的左边是长度,右边是帧数

对于这个动画时间片段我们是可以进行剪辑的

点击加号创建一个新的动画片段(其实是当前动画片段的一个拷贝)

创建好后当前动画片段的拷贝之后,点击这个动画片段我们就可以看到下面这么多的参数了,这些参数都是用来当前动画片段的拷贝进行调整的

比如我们想缩短动画的长度:

我们只需要拖拽(下面这个)时间条的两侧就可以了 --- 两侧分别是时间的起点和终点

点击循环时间后我们的动画就会具有循环功能,然后会有个叫循环匹配的灯亮起,如果这个灯亮绿色的话则表明当前动画适合循环,黄色是勉强适合,红色则是不适合循环

注意!!!修改完参数之后一定要点一下应用,不然的话是不会实装的

这些根变换旋转,根变换位置啥的如果不选择烘焙成动作的话,就会导致这些旋转和位移会在场景中自动进行,如果选择了则不会

Unity --- 角色移动时播放动画 与 动画剪辑相关推荐

  1. Unity 让物体同时播放两种动画

    在用Unity开发工程中,会遇到需要让一个物体同时播放两种动画的情况,举个简单的例子: 一只小鸟,这只小鸟会拍翅膀,这只小鸟也会按一定的轨迹飞行.   实现这个需求有几种思路: 1. 用动画控制器控制 ...

  2. Unity 角色自动播放随机动画

    Unity 角色自动播放随机动画 在游戏过程中(尤其是RPG类游戏中),为了让一切显得更加真实,我们往往希望一些NPC或者怪物能够在多个动画或是状态间自动切换,而不是一直重复播放同一个IDLE.这时候 ...

  3. T4M插件放入unity后怎么找不到_Unity动画系统详解6:如何做好角色的移动动画?(Root Motion详解)

    摘要:Root Transform是body transform在Y平面上的投影,并且是运行时计算的.每一帧Root Transform的变化实时计算.然后Transform的变化会被应用到GameO ...

  4. Unity动画系统详解3:如何播放、切换动画?

    摘要:[长文预警,建议先收藏]有了模型和多个动画以后,在Unity中如何控制它们的播放和切换呢?本文带你一站式解析Unity的Animator模块. 洪流学堂,让你快人几步.你好,我是跟着大智学Uni ...

  5. unity 角色 动画脚本_Unity Animation --动画剪辑(外部来源的动画)

    外部来源的动画 来自外部源的动画以与常规3D文件相同的方式导入到Unity中.这些文件,无论是通用FBX文件还是3D软件(例如Autodesk®Maya®,Cinema 4D,Autodesk®3ds ...

  6. Unity Live2D 通过脚本播放动画 Motion Controller 学习使用

    环境: Unity 2019.4.0f1 CubismSdkForUnity-4-r.1 阅读这篇文章可以让你知道:如何让模型播放已设定好的动作 Motion:动作 实际运用:点击人物时人物做各种动作 ...

  7. Unity 角色朝向目标 / 动态转向动画

    Unity 角色朝向目标 / 动态转向动画 一.静态角色转向 1.1 C# 脚本 1.2 Unity 实现 1.3 修改 二.动态角色转向 2.1 C# 脚本 2.2 Unity 实现 写在最最最后 ...

  8. Unity --- 角色动画的使用以及按键控制角色运动

    1.对前面那篇文章的补充:动画器控制器不会自动获取所有的动画片段,如果我们要添加动画片段到动画器控制器中作为动画状态的话,我们要被对应的动画片段文件拖到动画器控制器中 让我们实现一个功能 --- 角色 ...

  9. unity 角色鉴赏 spine动画鉴赏人物

    基本实现需求: 一.人物: 1.人物的左右自由切换,人物是spine动画 2.人物移动到最左边时左移键消失,右移到最右边时右键小时 3.点击人物时人物站立动画切换摆pos,移动时不能点击动画切换 二. ...

最新文章

  1. 用JavaScript来实现链表LinkedList
  2. 小白也能看懂的git入门实操[狂神聊git学习笔记]
  3. 小程序同时设置点击跳转与自动跳转导致重复跳转的问题及解决
  4. android中sharedPreferences的用法
  5. 学习日常笔记day12jsp基础
  6. ajax获取nodejs的值,jquery - NodeJS如何获取服务器中的数据,通过POST从jquery ajax调用发送 - 堆栈内存溢出...
  7. Android java时间戳转年月日时分秒
  8. sqli-lab(8)
  9. Qt 设置应用程序图标(windows)
  10. lcd12864历程C语言程序,基于51单片机的LCD12864程序设计
  11. “很多人奉劝我控住分秒 恰反来我偏莽撞闯入年年岁岁”
  12. mysql中key的用法_数据库中KEY的用法
  13. python实现微信接口——itchat模块
  14. VLN论文英语表达积累
  15. 跨国项目要注意时区问题
  16. vue子组件给父组件传值时接收不到数据
  17. 开发者 发展 5 热情
  18. Linux 常用的操作
  19. 自编码器,变分自编码器和生成对抗网络异同
  20. 小学教师资格证考试的高分技巧

热门文章

  1. 设计模式汇总,对应Android系统源码举例,保你一次看个够
  2. spring入门总结
  3. Puppeteer通过evaluate执行脚本获取cookie
  4. windows录屏_Windows电脑怎么录制屏幕?查看电脑自动录屏方法
  5. 老男孩linux培训靠谱吗?到底该不该去?
  6. Vue 设置背景图片
  7. 电脑相机出现0xA00F4289<ActiveCameraUnplugged>和0xA00F4244错误代码
  8. Python 阶段性总结《抽奖系统》(文末附代码地址)
  9. VC 使用IE、火狐或默认浏览器打开网页ShellExecute
  10. 南昌大学计算机考研2021,2021南昌大学考研参考书目