在 unity 3d 中访问 FBX 模型的不同部分

Accessing different parts of an FBX model in unity 3d

我是 Unity3d 的新手,在触摸访问泰德熊的不同部分(如手、脚)时遇到问题。我有泰德熊的 FBX 模型,我给每个部分都加上了标签,但是当我点击特定部分时,它给我的是整个 baseModel 的标签,而不是那个特定部分的标签。

这就是我的 FBX 模型的样子

在 inspector 中,这些是它的设置

我使用的代码:

void Update () 
{
    if (Input.GetMouseButtonDown(0)) 
    {
        ray = Camera.main.ScreenPointToRay(Input.mousePosition);
        if (Physics.Raycast(ray, out hit,Mathf.Infinity))
        {
            Debug.Log( "BodyPart Tag: " + hit.collider.tag );

            switch (hit.collider.tag) 
            {
                case "head":
                {
                }
                case "leg":
                {
                }
            }
        }
    }
}

我想根据标签执行特定的操作。

您应该从主对象中删除 Collider component 并将 Collider 添加到对象的每个子部分。否则,当您单击该对象时,该函数将在碰到第一个碰撞器(在您的情况下是父对象的盒子碰撞器)后终止。