C# OnMouseOver()不';我对儿童不感兴趣

C# OnMouseOver()不';我对儿童不感兴趣,c#,unity3d,onmouseover,C#,Unity3d,Onmouseover,一个半新手 我想为我想在Unity3D中用鼠标拖动的另一个对象制作一个点击框。我的hitbox是一个带有对撞机的球体,我的主要对象是一个鱼精灵。我制作了一个简单的脚本来检查鼠标是否位于hitbox对象上: void OnMouseOver () { hover = true; } void OnMouseExit () { hover = false; } 脚本将附加到hitbox。我可以从检查器中查看公共“hover”布尔值是否为真。虽然我的hitbox没有与任何其他对象

一个半新手

我想为我想在Unity3D中用鼠标拖动的另一个对象制作一个点击框。我的hitbox是一个带有对撞机的球体,我的主要对象是一个鱼精灵。我制作了一个简单的脚本来检查鼠标是否位于hitbox对象上:

void OnMouseOver ()
{
    hover = true;
}


void OnMouseExit ()
{
    hover = false;
}
脚本将附加到hitbox。我可以从检查器中查看公共“hover”布尔值是否为真。虽然我的hitbox没有与任何其他对象“连接”,但它可以按预期工作。如果我让鱼精灵成为我的hitbox的孩子,它仍然有效。然而,一旦我把hitbox变成鱼精灵的孩子,它就不再工作了

为什么会这样?有没有简单的解决方法


我想让hitbox跟踪鱼精灵。鱼精灵稍后将成为我希望与游戏其余部分交互的刚体。

如果根父对象具有刚体,则mouseover事件将不适用于子对象

我建议使用光线投射来检测OnMouseOver作为替代方案


参考资料:

鱼有碰撞器吗?没有,目前只有一个刚体、一个精灵渲染器和变换。你能试着在它上面放置一个碰撞器吗?我不确定它是否能解决问题,不过…我在精灵中添加了一个框对撞机。似乎什么都没有改变。好吧,对不起……这只是一次尝试--