Raycast只发射一条射线Unity

时间:2018-03-05 18:02:11

标签: c# android unity3d touch raycasting

我实际上正在开展像游戏这样的单词搜索。

但是当我想在网格上选择实例化gameObjects时,我遇到了问题。

正如我在团结文档中看到的那样,我使用raycast来检查哪个碰撞器已被击中,并做了一些逻辑。

所以我写了这个:

void Update(){

    if (Input.GetMouseButtonDown(0))
    {
        Ray ray;
        RaycastHit hit;
        GameObject current;

        ray = Camera.main.ScreenPointToRay (Input.mousePosition);

        if (Physics.Raycast (ray, out hit))
        {
            if (hit.collider.tag == "tile")
            {
                //Do some logic
            }
        }
    }

之后,我使用了这个:

Vector3 forward = transform.TransformDirection(Vector3.forward) * 50;
Debug.DrawRay(transform.position, forward, Color.green);

在我运行游戏时显示光线投射。

所以当我用鼠标点击时,会发射一条光线。

通常它应该发射更多。但我不知道为什么它只拍摄一条光线。

另外,

  

Input.mousePosition

似乎不起作用。光线只是在我的屏幕中心发射。

我该如何解决?除了光线投射还有其他方法吗?

非常感谢。

0 个答案:

没有答案