使用角色控制器控制对象的移动,主要用到Move和simplemove函数:

function Move (motion : Vector3)   //montion表示将控制器移动到这个坐标点注意它是局部坐标,但是坐标系参考轴却是世界坐标轴。可以用transform.TransformDirection来转换。

造成动画抖动就出在Move函数上:Move(move_direction*Time.deltaTime*speed)

1.由于角色控制器不受重力影响,只能自己添加重力,一般做法是:在fixedupdate里改变Move的移动方向,

move_direction.y  -=9.8*Time.deltaTime//随着时间的过去,Move在Y轴上的下落速度(每帧移动距离)越来越快(模拟重力)

2.水平面上的移动改变move_direction.x和move_direction.z就可以了。

这里马上意识到,在凹凸不平的地面上,模拟重力的改变非常快:习惯了控制其他组件的移动,导致这样理解:

move_direction.Set(x,0,z);//想要对象在水平面上的移动

把它带入Move里,造成上一帧还在执行模拟重力,这一帧却强行把Y轴方向上的移动变为0。两帧控制器的移动差别微小就造成模型的快速抖动(摇摆)。

使用Move函数控制角色移动要保证每一帧之间move_direction的改变要缓慢平滑,因为它决定了此时角色的移动坐标。

unity 使用角色控制器CharacterController移动对象造成模型动画的抖动相关推荐

  1. Unity:角色控制器(CharacterController)

    角色控制器是unity中专门用来控制角色的组件(主要是运动相关),区别于直接用Transform或者RigidBody,CharacterController有着更好的效果,它拥有RigidBody的 ...

  2. Unity超级角色控制器研究(四)——地形检测

    一个地形检测反例 因此我们想知道什么在角色脚底下呢?首先是距离脚下有多远.我们会想知道角色的脚是否贴着地面还是在半空中.我们还会想知道脚下地面具体位置坐标,这对于上一章强调过的钳住地面是很重要的.第三 ...

  3. Unity自定义角色控制器(一):碰撞检测

    我实在很喜欢用Unity.它在处理很多底层问题的同时有给了开发者很多自由.而且它还有着非常活跃的社区,起到了很大的帮助. 不幸的是,之前也说了,Unity也带着世界上最糟糕的角色控制器.在与Unity ...

  4. Unity 2D角色控制器(横板滚轴)

    unity自带的2D刚体在坡上会往下滑.而且也是会有可能穿墙,或碰撞到其他物体时鬼畜抖动. 设计思路 1.利用射线进行判断碰撞防止穿墙: 原理传送门 2.在地面时往地面发射两条射线,获得的两个点,两个 ...

  5. unity实现角色的移动(用状态机控制动画)

    private CharacterController cc;//角色控制组件private Animator animator;//角色的动画组件public float speed = 5;//移 ...

  6. 详解Unity中的角色控制器

    前言 如何让玩家所操纵的角色动起来,这在Unity中很容易实现,但是如何确保玩家所操作的角色不会产生一些非常违反物理常识的情况?而这就需要进行大量的检测,已确保玩家所操纵的角色正常.所幸Unity为我 ...

  7. 【Unity】多种方法实现第一人称角色移动(一)角色控制器

    前言   在Unity中要实现第一人称视角移动的方法有很多,每种方法各有优劣,本次要介绍的就是使用角色控制器CharacterController来实现的方法.   在阅览下面的步骤之前,你首先需要一 ...

  8. 【Unity】FPS游戏中的物理引擎——角色控制器(CharacterController)和刚体(Rigidbody)初解

    今天会谈到角色控制器和刚体主要是为了做一个游戏人物的控制器,角色控制器和刚体各有各的优点. 首先说一下刚体吧,刚体这个组件可以说是做一些真是物理游戏的开发者的福音,只要你给物体加上刚体基本可以算是给它 ...

  9. Unity手游之路lt;七gt;角色控制器

    我们要控制角色的移动,能够所有细节都由自己来实现.控制角色模型的移动,同一时候移动摄影机,改变视角.当然Unity也提供了一些组件,能够让我们做更少的工作,实现我们所期望的功能.今天我们就一起系统来学 ...

最新文章

  1. 打破 Google 破坏性的搜索垄断
  2. python课程推荐-课程推荐:四天人工智能 python入门体验课
  3. Java内存分配原理
  4. leetcode-139-单词拆分
  5. php的pdo如何访问SQLserver_php使用pdo连接sqlserver示例分享
  6. c++卸载工具_win7系统如何卸载office2007兼容包
  7. 谷歌为何会选用TypeScript?
  8. 华为估值知多少?倪光南:位居世界第一应该没问题
  9. python 滚动字幕_Python pygame绘制文字制作滚动文字过程解析
  10. 【天池竞赛系列】阿里移动推荐算法思路解析
  11. Power Desiner逆向生成pdm
  12. 为什么别人一周搞定Linux,而你却做不到
  13. Filebeat 日志收集器 logstash-forwarder 的替代品
  14. window 10自带照片查看软件不能查看下一张图片
  15. securecrt破解版64位
  16. ui设计师职业规划怎么写_UI设计师职业规划
  17. MySQL局域网连接失败问题解决
  18. 知识图谱学习(一) py2neo
  19. win7桌面计算机图标去掉,win7桌面图标小箭头怎么去掉?
  20. 【国企笔试】263、山有色:水发声 A 山河在:草木深 B 客舍青:柳色新 C 鸟飞绝:人踪灭 D 花作尘:鸟不惊

热门文章

  1. FastDfs安装,根据不同项目存放文件到不同目录
  2. idea点击“install”或“package”报“类文件具有错误的版本 55.0, 应为 52.0,请删除该文件或确保该文件位于正确的类路径子目录中。”
  3. 史上最浅的ios面试题,重复了
  4. Symfony学习笔记之管理CSS和JavaScript-----现代前端实践 Webpack Encore总结
  5. Python变量数据类型、输入输出
  6. SAP 成本要素类别
  7. 科技项目验收测试报告有什么注意事项和疑惑?
  8. 基于Vue+node的图书馆座位预约选座管理系统
  9. 挖掘QQ超级技术-----你用过吗?
  10. android性能调优!2021年Android春招面试经历,再不刷题就晚了!