Kudan Unity:在触摸时销毁GameObject

时间:2016-09-16 18:26:50

标签: android unity3d kudan

我使用Kudan中的Unity插件来构建Android应用。我正在使用无标记模式。当我点击(触摸)在这种无标记模式下生成的模型时,我想要将其销毁。我正在使用下面列出的Raycast脚本。我尝试将脚本附加到Kudan相机。我还创建了一个公共相机游戏对象并将Kudan相机传递给它。但是这两种选择都不起

有谁知道我做错了什么?

public Gamobject model;

if (Input.touchCount > 0) 
        RaycastHit hit;

            Ray ray = Camera.main.ScreenPointToRay (Input.GetTouch (0).position);

        if (Physics.Raycast (ray, out hit)) 
        {
            if (hit.collider.gameObject.tag == "chair") 
            {
                Destroy (model); 
            }
        }
    }  

提前致谢!

1 个答案:

答案 0 :(得分:1)

假设您的实际代码是正确的并且说GameObject而不是Gamobject并且您的if语句有一个左括号等,它可能是:

  • 你还没有给你的模特#34;椅子"标签。如果您的光线击中模型,但模型没有正确的标记,则会被忽略。
  • Ray远远不足以击中任何东西(如评论中所述)。你没有指定距离,理论上这应该意味着没有最大距离,但是你永远不知道,Unity可能有一些奇怪的默认或其他东西。
  • 你的模型没有对撞机。对象需要一个对撞机,否则物理引擎无法注册"碰撞"光线和物体之间。

但实际上,更简单且可能更好的方法是根本不使用Raycast。如果您在脚本中创建方法:

void OnMouseDown
{
    Destroy(gameObject);
}

并将该脚本附加到您的模型,然后当用户点击模型(或在移动设备上点击)时,如果它有一个碰撞器,它将被销毁。