我试图逼真地降低球的速度,并且如果需要也可能改变它的方向。我不知道如何计算碰撞角度对速度的影响以及球应改变方向的角度。我只是想知道这个碰撞检测背后的想法,但是如果有人已经准备好为Unity C#实现代码,那就更好了。我制作了这个很棒的图片来展示我的问题。
答案 0 :(得分:0)
您似乎不知道Unity包含内置的物理引擎。 要使用它,只需在对象中添加一个Rigidbody组件和一个Collider组件(BoxCollider,SphereCollider,...)。
在代码中,您可以通过使用刚体为对象提供速度,加速等。例如:
const char *s = str.c_str();
该文档包含您可以在刚体上调用的所有函数:
https://docs.unity3d.com/ScriptReference/Rigidbody.html
如果两个具有刚体和碰撞体的物体相互接触,则会自动计算碰撞。请注意,对象的新方向是使用对撞机对象的形状计算的,因此您需要使用尽可能像对象一样的对撞机。
祝你好运