gpt4 book ai didi

c# - 碰撞器调用 OnTriggerExit 未标记为触发错误 Unity

转载 作者:太空宇宙 更新时间:2023-11-03 22:38:00 25 4
gpt4 key购买 nike

我有这样的层次结构:
enter image description here
在父级中,我有以下组件:
enter image description here
名为 DropDetector 的 child 有一个标记为触发器的对撞机。名为 drop_area 的 child 也有一个对撞机,但这个未标记为触发器。但目前我的 OntriggerEnter 和 Exit 函数正在从 drop_area collider 调用,尽管它没有被标记为触发器。为什么会这样?我该如何阻止它发生?

DropArea 脚本和刚体附加到名为 IncrementA_DropArea 的父级

如果需要更多信息或澄清,请告诉我,以便我澄清!

最佳答案

这是按预期工作的。来自 MonoBehaviour.OnTriggerExit(Collider) 上的统一文档:

This message is sent to the trigger and the collider that touches the trigger.

您无法避免在 drop_areaMonoBehaviour 上调用它。

但是,在MonoBehaviour.OnTriggerExit(Collider)的实现中,可以先检查被调用的MonoBehaviour的collider是否不是trigger,然后退出方法如果是这样:

public Collider myCollider;

...

myCollider = GetComponent<Collider>();

...

void OnTriggerExit(Collider other)
{
if (!myCollider.isTrigger)
{
return;
}

// Do stuff for trigger here.
}

关于c# - 碰撞器调用 OnTriggerExit 未标记为触发错误 Unity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53937653/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com