Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unity3d 刚体下落平台_Unity3d - Fatal编程技术网

Unity3d 刚体下落平台

Unity3d 刚体下落平台,unity3d,Unity3d,我有一个平台,一旦玩家踩上,我就想摔下来。它有两个盒子对撞机。一个是物理存在,另一个是触发器。它还有一个刚体,默认情况下是运动学的,所以它不会直线下落。然而,当玩家踩到它时,它什么也不做。有人能告诉我我的代码出了什么问题吗 var yourObject : GameObject; function OnTriggerEnter(Other : Collider){ if(Other.gameObject.tag == "Player"){ yourObject.rigidbody2D.

我有一个平台,一旦玩家踩上,我就想摔下来。它有两个盒子对撞机。一个是物理存在,另一个是触发器。它还有一个刚体,默认情况下是运动学的,所以它不会直线下落。然而,当玩家踩到它时,它什么也不做。有人能告诉我我的代码出了什么问题吗

var yourObject : GameObject;
 function OnTriggerEnter(Other : Collider){

 if(Other.gameObject.tag == "Player"){

 yourObject.rigidbody2D.isKinematic = false;

 }

 }

要实现各种类型的下降平台,无需使用
iskinetic
功能

相反,您可以关闭
使用重力功能。这将防止物体坠落,直到另一个刚体质量大于平台质量的物体接触到它。如下面的GIF所示。

请检查您的gameobjects标签

我还看到您使用了Rigidbody2D,所以您不需要在下面添加

 var yourObject : GameObject;
 function OnTriggerEnter(Other : Collider){
    if(Other.gameObject.tag == "Player"){ 
       yourObject.rigidbody2D.isKinematic = false;
    }

 }
你需要使用

另外,请检查您是否将标签添加到游戏对象(我想您的意思是检查名称)

function OnTriggerEnter2D(other: Collider2D) {
     if(other.gameObject.tag == "Player"){ 
           yourObject.rigidbody2D.isKinematic = false;
     }
}
function OnTriggerEnter2D(other: Collider2D) {
     if(other.gameObject.name == "Player"){  //check name
           yourObject.rigidbody2D.isKinematic = false;
     }
}