C# Unity3D碰撞R2D don';t与已转换的已碰撞R2d碰撞

C# Unity3D碰撞R2D don';t与已转换的已碰撞R2d碰撞,c#,unity3d,C#,Unity3d,我试图在平台顶部的圆圈上方反弹磁贴,当平台固定时没有问题,但是当使平台移动的脚本被激活时,磁贴会使圆圈崩溃 这是移动平台的脚本: using UnityEngine; using System.Collections; public class PlatformMoveH : MonoBehaviour { public float min; public float max; public float speed; public float sens;

我试图在平台顶部的圆圈上方反弹磁贴,当平台固定时没有问题,但是当使平台移动的脚本被激活时,磁贴会使圆圈崩溃

这是移动平台的脚本:

using UnityEngine;
using System.Collections;

public class PlatformMoveH : MonoBehaviour {

    public float min;
    public float max;
    public float speed;
    public float sens;

    void Start(){
        sens *= speed;
    }

    void Update () {
        if (transform.localPosition.x > max) {
            sens = -speed;
        } else if (transform.localPosition.x < min){
            sens = speed;
        }
        transform.Translate (sens * Time.deltaTime, 0, 0);
    }
}
使用UnityEngine;
使用系统集合;
公共类平台Moveh:单一行为{
公众持股;
公共浮动最大值;
公众浮标速度;
公共浮动传感器;
void Start(){
传感器*=速度;
}
无效更新(){
if(transform.localPosition.x>max){
sens=速度;
}else if(transform.localPosition.x
我不能在这里添加图片,但在unity答案中,您可以通过图片更好地理解问题

我不知道是什么问题
谁能帮我一下吗

你必须在移动的对撞机上添加运动学刚体2d。没有刚体的碰撞器被统一视为静态碰撞器,不应移动

从:

物理引擎假设静态碰撞器从不移动或改变,并且可以基于此假设进行有用的优化。因此,在游戏过程中,不应禁用/启用、移动或缩放静态碰撞器。如果您确实更改了静态对撞机,那么这将导致物理引擎进行额外的内部重新计算,从而导致性能大幅下降。更糟糕的是,这些变化有时会使对撞机处于未定义的状态,从而产生错误的物理计算。例如,一个针对修改过的静态对撞机的光线投射可能无法检测到它,或者在空间中的任意位置检测到它