ThirdPersonController碰撞不调用OnTriggerEnter事件

时间:2017-05-13 16:00:07

标签: c# unity3d unity5

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Test : MonoBehaviour {

    public Transform target;

    // Update is called once per frame
    void Update ()
    {

    }

    private void OnTriggerEnter(Collider col)
    {
        if (col.gameObject.tag == "Test")
        {
            this.transform.position = target.position;
        }
    }
}

我有一个ThirdPersonController,我希望它与立方体或圆柱碰撞。 该脚本附加到ThirdPersonController。

我试图添加到圆柱体或立方体Rigidbody打开/关闭使用重力和Is运动学但没有。它没有参加活动。

2 个答案:

答案 0 :(得分:1)

ThirdPersonController使用CharacterControllerOnControllerColliderHit用于OnTriggerEnter

请注意,您必须使用Move函数移动它,而不是直接通过其变换移动它,以便调用OnControllerColliderHit

void OnControllerColliderHit(ControllerColliderHit hit)
{

}

答案 1 :(得分:1)

每件事情都是正确的,但这里的错误是你正在改变与第二个物体相撞的物体的位置,但物体的东西是对撞机已经存在..... 因为它可以替代尝试在碰撞发生时打印任何语句

private  void OnTriggerEnter(Collider other)
{
  if (other.tag==your_tag)

{
print("message");
}
}