unity 使用角色控制器CharacterController移动对象造成模型动画的抖动
来源:互联网 发布:光大证券mac版 编辑:程序博客网 时间:2024/05/22 19:15
使用角色控制器控制对象的移动,主要用到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的改变要缓慢平滑,因为它决定了此时角色的移动坐标。
0 0
- unity 使用角色控制器CharacterController移动对象造成模型动画的抖动
- Unity Manual之CharacterController 角色控制器
- CharacterController(角色控制器)
- CharacterController 角色移动
- Unity CharacterController带重力,并移动角色脚本
- CharacterController.Move 实现角色移动
- Unity3D学习笔记04:角色控制器CharacterController控制人物移动旋转
- Unity 角色控制器 移动监测碰撞
- 解决Unity中使用Any state出现的动画抖动
- unity 关于添加自动导航NavMeshAgent后模型动画的抖动问题
- 导入Unity的模型在播放动画时手脚会轻微晃动(抖动)
- 查找使用CharacterController的人物移动位置出错的问题
- CharacterController控制人物的移动
- Unity角色控制器
- Unity角色控制器
- Unity射线,角色控制器
- unity 角色控制器
- unity手游<少侠历险记>(1)使用CharacterController控制人物移动
- JDBC基本知识
- 数据库的增删改查crud(sql语句)
- 并发编程实战第三章(二)
- PlusOne
- Activity回传数据(装备选择)
- unity 使用角色控制器CharacterController移动对象造成模型动画的抖动
- archlinux配置网络桥
- SCOI2017 真滚粗记
- 算法设计与应用基础-第七周
- 13 Fibonacci数
- 博弈论-巴什博弈-斐波拉契数-尼姆游戏-拍卖土地-威佐夫博弈入门理解Java
- BZOJ2083:[POI] TES-Intelligence Test
- php 数组去除空值array_filter()方法
- 200. Number of Islands