美文网首页
2021-08-22Unity3d中 OnTriggerEnte

2021-08-22Unity3d中 OnTriggerEnte

作者: Bis_12e2 | 来源:发表于2021-08-22 09:11 被阅读0次

https://blog.csdn.net/u012338130/article/details/102565333
测试OnTriggerEnter和OnCollisionEnter的区别
测试:如果两个物体A,B

两者都有碰撞体collider(Box Collider,Sphere Collider,Capsule Collider等)

A,B都有刚体(Rigidbody)

A或者B中有一个勾选isTrigger或者两者都勾选isTrigger A和B都可以进入OnTriggerEnter方法,但是不可进入OnCollisionEnter方法。

A和B都不勾选isTrigger,A和B能进入OnCollisionEnter方法但是不能进入OnTriggerEnter方法。

结论:

OnCollisionEnter方法必须是在两个碰撞物体都不勾选isTrigger的前提下才能进入,反之只要勾选一个isTrigger那么就能进入OnTriggerEnter方法。

OnCollisionEnter和OnTriggerEnter是冲突的不能同时存在的。

OnTriggerEnter和OnCollisionEnter的选择。
如果想实现两个刚体物理的实际碰撞效果时候用OnCollisionEnter,Unity引擎会自动处理刚体碰撞的效果。

如果想在两个物体碰撞后自己处理碰撞事件用OnTriggerEnter。

一些技巧
刚体(Rigidbody)的使用。
两个碰撞的物体A 和 B
现在我们就可以分两种模式来分析了,就是OnTrigger模式和OnCollision模式,因为上面已经详细介绍了两者是对立的模式,

在OnCollision模式下:
测试1:如果只有A有刚体(Rigidbody),那么当A去碰撞B时,发现A弹开B没有动。A和B都进入OnCollisionEnter方法

结论1:只有刚体能实现真实的物理碰撞。
测试2:如果只有A有刚体(Rigidbody),那么当B去碰撞A时,发现没有碰撞效果,A和B都没有进入OnCollisionEnter方法。

结论2:实现碰撞的条件是,发起碰撞方必须具有刚体。
这里我猜测了刚体是用来实现物理真实碰撞的Component,但是这个想法是错误的,因为OnTriggerEnter也必须有一个物体具有刚体,所以猜测刚体应该是一个判断是否实现碰撞的是与否的标志。

在OnTrigger模式下:
A和B必须有一个有刚体(Rigidbody),A和B都可以进入OnTriggerEnter方法。

知识扩展。
上面的内容中有的实验是A,B有一个有刚体,有的实验是A,B都有刚体,那么为什么不干脆把两个物体都加刚体就没这么多麻烦了?
其实是这样的,真实游戏里面,有太多的物体,而这些物体如果都有刚体那么对系统的开销是很大的,如果可以减少一半的开销是很不错的选择。
比如地面就可以不设置刚体,因为地面是永远不动的,把人物设置刚体就可以实现真实的物理碰撞效果了。

相关文章

  • 2021-08-22Unity3d中 OnTriggerEnte

    https://blog.csdn.net/u012338130/article/details/10256533...

  • 中中

    中中

  • 中中宝宝

    哦剧痛

  • 周中中,

    今天只有下午有课---薯仔的供变电技术。本来打算上午去前山市场买食材,自己煮点汤喝的。但是穿好我的灰色连衣裙,收拾...

  • 重逢(中中)

    此后,细妹再也没有提起回老家这件事了,人也变得呆若木鸡了,常常一个人躲在角落里喃喃自语,说着别人听不懂的话。 有一...

  • 疑惑中!质疑中!不解中

    您的体检有异常——高血脂。什么什么,高血脂。平常特别注重养生生活的我,居然有高血脂。 难以置信,搞错了...

  • 业余中,努力中

  • 徐中,徐中

    那是迄今为止最努力的三年。 开始的开始,我们都是孩子 最后的最后,渴望变成天使 歌谣的歌谣唱着童话的影子 孩子的孩...

  • 无中无中

    其实,我有一句话要说,我们生活的这个叫做地球的地方其实是一个原子,我们所处的位置就像是我们身边随处可以拿到的任何...

  • 选择中 迷茫中

    都说人生选择很重要,选对事业可以成就一生,选对朋友可以智能一生,选对环境可以快乐一生,选对伴侣可以幸福一生...

网友评论

      本文标题:2021-08-22Unity3d中 OnTriggerEnte

      本文链接:https://www.haomeiwen.com/subject/zksciltx.html