在 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 添加到对象的每个子部分。否则,当您单击该对象时,该函数将在碰到第一个碰撞器(在您的情况下是父对象的盒子碰撞器)后终止。
我是 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 添加到对象的每个子部分。否则,当您单击该对象时,该函数将在碰到第一个碰撞器(在您的情况下是父对象的盒子碰撞器)后终止。