悬停并按下时的Unity Raycast

问题描述 投票:0回答:1

如何在悬停时使用光线投射并按下对象。我能想到的唯一方法就是使用2个光线投射。但只有1个光线投射可以工作,具体取决于它们的检查顺序。

if (Input.touchCount == 1)
        {
            Touch touch = Input.touches[0];
            if (touch.phase == TouchPhase.Began)
            {
                Ray ray = Camera.main.ViewportPointToRay(new Vector3(0.5f, 0.5f, 0));                                                                    
                Ray ray1 = Camera.main.ScreenPointToRay(Input.GetTouch(0).position);
                RaycastHit hit = new RaycastHit();

                if(Physics.Raycast(ray, out hit, 5))
                 if(Physics.Raycast(ray1, out hit, 5))
                 {
                   ...
                 }
             }
        }
c# unity3d raycasting
1个回答
0
投票

也许尝试创建另一个RaycastHit变量并将其传递给第二个raycast语句。

你使用它的方式命中变量将是无用的。也可能有更好的方法来做你想做的事情。

你能解释一下你的情况好一点吗?

© www.soinside.com 2019 - 2024. All rights reserved.