OnCollisionEnter不工作Unity3d 5

时间:2016-04-30 09:19:31

标签: unity3d collision

我的目标是在物体碰撞时更改物体颜色。 对象本身是一个具有一些粒子效果的capsuleCollider。 CapsuleCollider正在跟踪玩家观看的位置。

telePoint.GetComponent<Rigidbody>().MovePosition(new Vector3(tempHit.point.x, player.transform.position.y, tempHit.point.z));

我尝试使用连接到玩家正在观看的对撞机i位置的脚本:

 void OnCollisionEnter(Collision col) {

    Debug.LogError("COLLISION ??" + col.gameObject.name);
    if (!col.gameObject.name.Contains("floor")) {

        player.GetComponent<telePortationScript>().teleEnabled = false;
    }
    else {
        Debug.LogError("Collision with -> " + col.gameObject.name);
        player.GetComponent<telePortationScript>().teleEnabled = true;
    }

}

我正在移动的CapsuleCollider还有一个RigidBody组件,并启用了Kinetic。其他物体只有碰撞器,没有刚体。

任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

将我的Capsule Collider标记为Trigger并添加了一个函数

void OnTriggerStay(Collider col)

它有效!