首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >鼠标单击游戏对象- Unity3d

鼠标单击游戏对象- Unity3d
EN

Stack Overflow用户
提问于 2016-03-25 09:17:47
回答 1查看 2.5K关注 0票数 0

我有一个小城市网格和一个公寓的三维模型。我将网格添加到我的场景中,并将三维模型放置在网格上。

我尝试处理鼠标只点击3d模型。我使用下面的代码。但是我点击屏幕上的任何地方,它的设置为声音= true

我添加了一个网格对撞机到三维模型游戏对象。

代码语言:javascript
运行
复制
if (Input.GetMouseButtonDown (0)) {
            Plane p = new Plane (Camera.main.transform.forward , transform.position);
            Ray r = Camera.main.ScreenPointToRay (Input.mousePosition);
            float d;
            if(p.Raycast (r, out d)) {
                sound = true;
}   

我该怎么解决呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-25 09:46:11

您可以检查游戏对象的标签/名称。你需要这样使用:

代码语言:javascript
运行
复制
void Update() 
{
    if (Input.GetMouseButtonDown (0)) {

        Plane p = new Plane (Camera.main.transform.forward , transform.position);
        Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
        RaycastHit hit;

        if (Physics.Raycast(ray, out hit, 100)) 
        {
            //Choose one of them below!!!

            /// Name Comparison
            if(hit.collider.gameObject.name.equals("NameOfTheObject")){
               ///Do Logic
            }

            //Tag Comparison
            if(hit.collider.gameObject.CompareTag("TagOfTheObject")){
                ///Do Logic
            }
        }
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36217174

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档