嗨,我有一场比赛,球在弹跳。但是每次这个球跳动时,撞到对撞机上的点都会变化。因此ray无法准确检查其撞击位置 enter image description here
private void Update()
{
Ray ray = new Ray(transform.position, Vector3.down);
Debug.DrawLine(transform.position, transform.position+ Vector3.down * 5, Color.red);
if (Physics.Raycast(ray, out RaycastHit hit))
{
Debug.DrawLine(hit.point, hit.point + Vector3.right * 5, Color.green);
Debug.Log(hit.distance);
if (hit.distance < .5f)
{
GameObject.FindGameObjectWithTag("top").GetComponent<Animator>().SetBool("topup", true);
}
else {
GameObject.FindGameObjectWithTag("top").GetComponent<Animator>().SetBool("topup", false);
}
}
我拥有的对象是0.5f直径的球体和一个盒子。也许泰勒的尺寸是如此之小,以至于容易发现此错误?
代码就是这样