unity3d控制物体移动中物体的弹跳问题

查看: 7193|回复: 1
关于用普通collider+刚体实现人物移动跳跃
二级会员(论坛居民)主题帖子CG券
二级会员(论坛居民), 积分 21, 距离下一级还需 179 积分
二级会员(论坛居民), 积分 21, 距离下一级还需 179 积分
原本用的是角色控制器实现人物控制,效果可以,可是后来发现角色控制器只能有一个碰撞,子对象加其他碰撞都失效,
所以想用collider+刚体来控制人物移动,但是跳跃的效果老是不理想,有种轻飘飘的感觉 ,谁能帮我改下代码啊- -public class NO : MonoBehaviour {
& && &&&
& && &&&
& && &&&private Vector3 move = Vector3.
& && &&&private Vector3 velocity=Vector3.
& && &&&
& && &&&// Use this for initialization
& && &&&void Start () {
& && &&&
& && &&&}
& && &&&
& && &&&// Update is called once per frame
& && &&&void Update () {
& && && && && & move=new Vector3(Input.GetAxis(&Horizontal&), 0,Input.GetAxis(&Vertical&));
& && && && && & // rigidbody.velocity = transform.forward * 8.0f;
& && && && && & velocity=rigidbody.
& && && && && & transform.Translate(move*0.8f);
& && && && && & if (Input.GetButtonDown (&Jump&)) {
& && && && && & rigidbody.velocity =new Vector3(velocity.x,20,velocity.z);
& && && && && & }
& && &&&}
}复制代码
Powered byUnity3D 物体自由下落怎样防止弹起来?_百度知道
Unity3D 物体自由下落怎样防止弹起来?
这样还是会跳起来。。。
我有更好的答案
物体和地面弹跳力是不是都已经设为0了;去掉physical material再试试看
采纳率:44%
为您推荐:
其他类似问题
unity3d的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。没有更多推荐了,
不良信息举报
举报内容:
Unity3D学习记录——刚体跳跃
举报原因:
原文地址:
原因补充:
最多只允许输入30个字
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!你的浏览器禁用了JavaScript, 请开启后刷新浏览器获得更好的体验!
在脚本控制播放跳跃动画时,人物跳上了一定高度,但是人物的transform.y没有发生改变,怎样让人物在播放跳跃动画时,transform.y能自动发生改变!
用脚本控制它的transform.position属性
在你的动画播放完成后调用回调方法改变你当前的transform.y吧,不知道你用的是哪种动画:loveliness:
在你的动画播放完成后调用回调方法改变你当前的transform.y吧,不知道你用的是哪种动画 ...用的unity4.1最新的mechanim动画系统,就是在播放跳跃动画嘛,跳跃动画里面人物会跳一定高度,在unity里面如果人跳了一定高度后,它的transform.position的值会自动发生改变!而在播放动画我看到值没有发生改变!不知道你说你的回调方法是怎么用的,麻烦指教一下?谢谢你!:)
用的unity4.1最新的mechanim动画系统,就是在播放跳跃动画嘛,跳跃动画里面人物会跳一定高度,在unity里 ...去查下文档吧,就是让你检测一下动画是否播放完毕,一般是 if(动画.isplaying()){}来判断,也可以判断是否播放到最后一帧或者一瞬间,然后再改变物体的position到你想要固定他的位置就是,一般动画控制物体动作会自动改变position的你这种动画我没用过 不知道是什么情况:loveliness:
上面的都错了,你没理解Untiy的动画系统,你可以查看一下你会发下Unity的动画改变的只是骨骼的transform并不会改变你这个GameObject的transform。
如果你的动画是在max 等建模工具中做的,那么你的动画影响的是你这个物体骨节点的 位移,缩放,旋转等,并不是影响你这个GameObject的位移,缩放,旋转,而你的transform取的应该是你这个GameObject的transform,所以你看到的transform是没有变化的,简单的说就是你在max里面做的动画不会影响你的顶级对象,所有动画的移动缩放都是相对父物体而言的,你可以在动画最后一帧结束后把你的GameObject的transform设置为你那个参考骨节点的位置,只是位置(position )不要设置缩放和旋转。
上面的都错了,你没理解Untiy的动画系统,你可以查看一下你会发下Unity的动画改变的只是骨骼的transform ...恩,谢啦
大家说的很详细了,估计早就解决了
弄个刚体比较靠谱一些
rigidBody.AddForce()这个靠谱
rigidBody.velocity这个也行,对了flappyBird就是用的这个
听说已经解决了,但我还是要说下,其实楼主理解错了
要回复问题请先或
浏览: 2090
关注: 0 人没有更多推荐了,
不良信息举报
举报内容:
Unity控制人物跳跃的小问题。(人物不跳的原因总结)
举报原因:
原文地址:
原因补充:
最多只允许输入30个字
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!

我要回帖

更多关于 unity3d 移动物体 的文章

 

随机推荐