有没有人对如何处理Unity中缺少碰撞的快速移动物体有任何建议。我正在为移动设备创造一个突破性游戏,并发现当球拍移动非常快时它会错过与球的碰撞。我将碰撞更改为连续检测,但这会引发奇怪的行为,例如碰撞时推下桨。
我也尝试过使用dontgothrough脚本来使它适用于2D碰撞器但没有成功。有人有什么建议吗?
答案 0 :(得分:1)
与快速移动的物体碰撞是许多游戏引擎中的一个问题。有几种方法可以处理它:
我建议您通过强制执行速度限制来阻止球拍过快。使拨片跟随用户的手指,但不要立即与其对齐。这可能看起来也会更好。
您也可以加宽划水板,但这可能会对游戏的平衡造成太大影响。
答案 1 :(得分:0)
尝试在刚体中进行连续检测。
如果仍然失败,您可以在当前位置和之前位置之间使用线播。如果球小于垫,则最有可能是每个角和中心。 不要担心那里的表现,5个线路广播几乎无关紧要。
Vector3 prev;
void Start(){
prev = transform.position;
}
void Update(){
Vector3 current = transform.position;
if(Physics.Linecast(prev, current)){
// Collision
}
prev = current;
}