unity物理碰撞操作方案

  • Post author:
  • Post category:其他


经unity官方网站资料改写整理书写本博客,原网址方案链接如下:


Lesson 2.4 – Collision Decisions – Unity Learn

首先  1.先创建两个物体

然后   2.给这两个物体加上Box Collider 组件,并勾选“是触发器”(英文:is 啥啥的)

注意两个都要添加这组件,并且进行相同的操作,都要勾选“是触发器”

接着 3.写一个代码添加到需要运动的物体上我这里写的是让他沿着直线飞行

这之后 4.给添加了这个代码的物体添加一个刚体

并且勾选上“is kinematic”,如果你不需要重力效果也可以像我一样把使用重力勾掉,(他默认是开启使用重力的)

然后打开代码

在里面书写你想要的碰撞效果

 private void OnTriggerEnter(Collider other)//碰撞到开始时会发生以下内容
    {
        Destroy(gameObject);//碰撞后删除自己
        Destroy(other.gameObject);//删除碰撞到的对象
    }

如果不清楚在哪里写的可以参考我的第三张图片,右侧有写我代码的内容

保存运行就可以啦!

(效果图)

==============================23.4.13更新=======================

粒子特效碰撞


Unity – 脚本 API: MonoBehavior.OnParticleCollision(GameObject) (unity3d.com)

除非需要,一般情况下请不要开启此功能

且在使用此功能时,粒子特效不宜过小否则可能存在触发失灵的情况。

这个被碰撞的对象不需要携带rigidBody,只要有Collider对象即可被触发

被碰撞的对象携带以下碰撞代码

     //粒子触发器
     private void OnParticleCollision(GameObject other)
     {
       
     }



版权声明:本文为qq_46043095原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。