Unir y - 我如何将标记放入 object 3D (.obj) 并获得它的触摸监听器

Unir y - how i Put marker in object 3D (.obj) and get the touch listener of it

Ji,我是 Unity 的新手,我正在做一个 body 人的应用程序,然后你可以 tap/hit 在你的移动设备上,例如头部和应用程序改变了到另一个场景。

所以我想做的是在 body 的某些部分放置类似按钮的东西,当用户单击它时,会改变场景,问题是如果我放置静态按钮,如果你缩放in/out 或旋转 object,按钮不会移动,所以我如何 attach/put 这个按钮或听众到 object?

钯。我搜索了一下,我看到你可以像某些零件一样放置其他颜色并检测颜色,但我不知道这是不是最好的解决方案

方式一: 您可以在 body 的每个单独部分放置一个 Collider,例如头腿等
然后,将脚本添加到其中具有 OnMouseDown 功能的每个部分。这将检测碰撞器上的 click/tap。
更多关于 OnMouseDown 的信息:https://docs.unity3d.com/ScriptReference/MonoBehaviour.OnMouseDown.html
方式 2:您可以Raycast点击鼠标或点击并检查object它击中了哪个object。

void Update () 
{
    if (Input.GetMouseButtonDown(0))
    {
        Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
        RaycastHit hit;
        if (Physics.Raycast(ray, out hit))
        {
            //Select Stage
            if (hit.transform.name == "Head")
            {
                //Clicked Head
            }
        }
    }
}