有没有办法检测玩家(具有刚体)物体上的碰撞体是否与2D环境中的其他碰撞体碰撞?检查物体是否与任何东西碰撞
-1
A
回答
1
/编辑 - 实际上piojo的计数器的想法更好,只需使用int而不是bool。 一种方法是在脚本中添加一个叫做碰撞的int并将其设置为0.然后,如果在任何时候碰撞器触发OnCollisionEnter只是增加它,并在OnCollisionExit中减少它。 这样的事情应该为3D工作:
public int collisions = 0;
void OnCollisionEnter(Collision collision)
{
collisions++;
}
void OnCollisionExit(Collision collision)
{
collisions--;
}
https://docs.unity3d.com/ScriptReference/Collider.OnCollisionEnter.html
https://docs.unity3d.com/ScriptReference/Collider.OnCollisionExit.html
4
不是本身,而是有两种方法,你可以得到的信息。保持int
计数器最简单,并将其增量为OnCollisionEnter
并递减为OnCollisionExit
。当计数器为0时,不存在冲突。
另一种方式,它会告诉你哪些对撞机重叠,但不一定如果他们触摸,是使用物理功能。注意你有哪种类型的对撞机 - 球体,胶囊,盒子。了解对撞机的尺寸/形状/位置,您可以拨打Physics.OverlapBox
,Physics.OverlapCapsule
或Physics.OverlapSphere
。赋予函数与对撞机相同的形状,并且它将返回与该空间重叠的碰撞体。 (对于2D对撞机,您可以使用Physics2D.Overlap*
功能。)
相关问题
- 1. 如何检查两个Box2d物体是否在任何时候碰撞/重叠?
- 2. 物理体碰撞检测
- 3. 2D碰撞检测和OpenGL的东西
- 4. 碰撞检测不会返回任何东西
- 5. 与角度物体碰撞
- 6. 与两个物体碰撞
- 7. 与多个物体碰撞
- 8. jQuery碰撞插件|如何真正检查是否有碰撞
- 9. 如何检查两个移动物体是否相互碰撞IOS
- 10. Andengine碰撞 - 检测碰撞和删除物体时的例外
- 11. 非方形物体的碰撞检测
- 12. 补间物体上的碰撞检测
- 13. 运动物体碰撞检测LIBGDX
- 14. 物体没有与边界碰撞
- 15. 与移动物体的碰撞
- 16. Farseer 3.3检查未启用的物体是否会发生碰撞(产卵)
- 17. 检查碰撞
- 18. 如何检查两个物体碰撞时的情况
- 19. 物体碰撞系统?
- 20. LUA碰撞,多个物体
- 21. 检查哪一个对象与另一物体碰撞而脚本是相同
- 22. 如何检查cin中是否有任何东西[C++]
- 23. 如何检查哪些物件与b2Contact碰撞?
- 24. vb.net检查函数是否不返回任何东西
- 25. 检查“git stash”是否藏有任何东西
- 26. 检查文本内容是否由任何东西分隔
- 27. 检查游标是否返回任何东西
- 28. jQuery/javascript检查是否有任何东西正在加载
- 29. 检查两点之间是否有任何东西
- 30. 检查unix管是否关闭而不写入任何东西?
3D或2D对撞机?你至少应该把你在你的问题中尝试过的东西放进去。还要添加该语言的标签。 – Programmer