【问题标题】:ThirdPersonController collision not calling OnTriggerEnter eventThirdPersonController 碰撞未调用 OnTriggerEnter 事件
【发布时间】:2017-05-14 00:12:00
【问题描述】:
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。

我尝试向圆柱体或立方体添加刚体,打开/关闭使用重力和运动学,但没有。它没有参加活动。

【问题讨论】:

    标签: c# unity3d unity5


    【解决方案1】:

    ThirdPersonController 使用 CharacterControllerOnControllerColliderHit 用于不是OnTriggerEnter

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

    void OnControllerColliderHit(ControllerColliderHit hit)
    {
    
    }
    

    【讨论】:

      【解决方案2】:

      每件事都是正确的,但这里的错误是你正在改变与第二个物体碰撞的物体的位置,但是物体 id 是对撞机已经在那里..... 作为替代方案,当像这样发生碰撞时尝试打印任何语句

      private  void OnTriggerEnter(Collider other)
      {
        if (other.tag==your_tag)
      
      {
      print("message");
      }
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-03-07
        • 1970-01-01
        • 1970-01-01
        • 2022-01-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多