unity3d 碰撞检测
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了unity3d 碰撞检测相关的知识,希望对你有一定的参考价值。
碰撞检测函数 OnTriggerStay2D() ,可以只接受指定盒子的碰撞讯息吗?
eg,接受polygonCollider2d 盒子的讯息不接受 boxCollider2d盒子的讯息?
你写的是 触发检测,不是碰撞检测。关于你的这个问题,你可以判断一下这个触发的对象本身所带的碰撞器类型。
void OnTriggerStay2D(Collider2D other)if (other.GetComponent<BoxCollider2D>()) return;
if (other.GetComponent<PolygonCollider2D>())
//执行内容
或者你对于带有boxCollider2d的不想被触发的物体使用一个tag标记一下或放到一个碰撞层中,然后检测这个物体的tag是否是带有boxCollider2d的tag,然后return;或者直接忽略触发器所在的碰撞层和不想被触发的碰撞层就可以了。
是这样的,谢谢了,我已经在stackoverflow上找到答案了,Well collider2d detects all types of 2d colliders. It doesn't matter if it's polygon or just a box. As the documentation suggestions it doesn't need to be public or private. It only takes a collider2d as it's argument however. 这是原话。
参考技术A 咋了以上是关于unity3d 碰撞检测的主要内容,如果未能解决你的问题,请参考以下文章
Unity3d刚体Rigidbody与碰撞检测Collider