在移动物体上进行射线投射的准确性

时间:2019-04-27 18:30:51

标签: unity3d

嗨,我有一场比赛,球在弹跳。但是每次这个球跳动时,撞到对撞机上的点都会变化。因此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直径的球体和一个盒子。也许泰勒的尺寸是如此之小,以至于容易发现此错误? 代码就是这样

0 个答案:

没有答案