【发布时间】:2016-03-06 01:54:17
【问题描述】:
我正在努力研究如何让球根据击球位置改变弹跳。通常在乒乓球比赛中,角度会发生变化,具体取决于球反弹的距离以及反弹的中心方向。 我设法做到了这样的事情:
//rb = rigidbody, velOnPaddleHit = predefined float
float dist = transform.position.x - paddle.position.x;
dist = transform.position.x > paddle.position.x ? dist : -dist;
dist /= paddle.localScale.x/2;
dist *= velOnPaddleHit;
rb.addForce(dist, 0,0);
但它只是不起作用/很奇怪。 谁能帮帮我?
编辑:这是展示这种行为的视频。当球击中桨的左侧时,它会向左移动,速度无关紧要
【问题讨论】:
-
AddForce() 以向量为参数,为什么 addForce() 是浮点型参数?
-
哎呀,对不起,我在代码中有一个 vector3,它应该是 rb.addForce(dist, 0,0);
标签: unity3d velocity quaternions unity5