微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Unity OnCollisionEnter函数未注册

如何解决Unity OnCollisionEnter函数未注册

我无法注册OnCollisionEnter();我已经从以前的Unity程序复制了该函数,该程序可以工作并复制了所有内容。 FPSController之间的冲突应降低TreeHealth。

enter image description here

enter image description here

    void OnCollisionEnter(Collision collision)
    {
        print("Colision");
        if (collision.gameObject.tag == "TreeTag")
        {
            treeScript = collision.gameObject.GetComponent<TreeFall>();
            treeScript.treeHealth--;
        }
    }

解决方法

您尝试使用OnControllerColliderHit吗?我认为,如果使用OnCollisionEnter组件移动字符,则必须使用此方法而不是CharacterController

,

我建议您用Debug.Log()替换print()函数,并在树脚本中检测冲突,并检查播放器是否存在冲突。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。