UNITY3D添加了刚体后,移动不成问题,也能实现CS效果,但是跳这个就出问题了,只能立定跳,不能边走边跳
UNITY3D添加了刚体后,移动不成问题,也能实现CS效果,但是跳这个就出问题了,只能立定跳,不能边走边跳原因是我在跟随摄像机移动的时候,加了速度和力(不加动不了)帮忙看...
UNITY3D添加了刚体后,移动不成问题,也能实现CS效果,但是跳这个就出问题了,只能立定跳,不能边走边跳
原因是我在跟随摄像机移动的时候,加了速度和力(不加动不了)
帮忙看看出错在哪里?怎么改。
这是跳的部分
rigidbody.velocity = new Vector3(0, 30, 0); //速度↑
GetComponent<Rigidbody>().AddForce(Vector3.up * jumpSpeed); //力 ↑
这是走路的部分
float h = Input.GetAxis("Horizontal");
float v = Input.GetAxis("Vertical");
Vector3 targetDirection = new Vector3(h, 0, v);
float roat_y = transform.rotation.eulerAngles.y; // 得到Y 轴的角度
targetDirection = Quaternion.Euler(0f,roat_y, 0f) * targetDirection;
/*
如果去掉上面两行虽然可以移动,但是无法跟随摄像机视线,
也就是指能东南西北固定方向,这和CS差太远。
*/
rigidbody.velocity = targetDirection*speed;
rigidbody.AddForce(targetDirection * speed);
rigidbody.MovePosition(transform.position + targetDirection * speed*Time.deltaTime);
///////////////////////////
rigidbody.velocity = targetDirection*speed;
rigidbody.AddForce(targetDirection * speed);
//去掉这两句则不能动 展开
原因是我在跟随摄像机移动的时候,加了速度和力(不加动不了)
帮忙看看出错在哪里?怎么改。
这是跳的部分
rigidbody.velocity = new Vector3(0, 30, 0); //速度↑
GetComponent<Rigidbody>().AddForce(Vector3.up * jumpSpeed); //力 ↑
这是走路的部分
float h = Input.GetAxis("Horizontal");
float v = Input.GetAxis("Vertical");
Vector3 targetDirection = new Vector3(h, 0, v);
float roat_y = transform.rotation.eulerAngles.y; // 得到Y 轴的角度
targetDirection = Quaternion.Euler(0f,roat_y, 0f) * targetDirection;
/*
如果去掉上面两行虽然可以移动,但是无法跟随摄像机视线,
也就是指能东南西北固定方向,这和CS差太远。
*/
rigidbody.velocity = targetDirection*speed;
rigidbody.AddForce(targetDirection * speed);
rigidbody.MovePosition(transform.position + targetDirection * speed*Time.deltaTime);
///////////////////////////
rigidbody.velocity = targetDirection*speed;
rigidbody.AddForce(targetDirection * speed);
//去掉这两句则不能动 展开
2018-02-04
展开全部
感觉人物不用刚体的力去移动更好,因为有许多地方不好控制,还会产生冲突,比如楼主这种情况,建议楼主使用 transform.Translate transform.eulerAngles 的方式移动和旋转, 如果楼主还是喜欢刚体的重力的话,不去掉也是可以的,刚体用加力的方法去跳跃的部分其实可以单独踢出来做成一个函数,使之互不干涉,,,按空格时使用力来跳跃,移动用transform,亲测可行!
(注意:不要在Translate的情况下再使用力来前后左右移动了,否则会很悲剧)
(注意:不要在Translate的情况下再使用力来前后左右移动了,否则会很悲剧)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |