您当前的位置: 首页 >  ar

每日出拳老爷子

暂无认证

  • 2浏览

    0关注

    135博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Unity:onCollision函数对CharacterController组件无效,怎么进行碰撞检测?

每日出拳老爷子 发布时间:2021-12-04 16:13:35 ,浏览量:2

背景:

在这里插入图片描述

做VR游戏涉及出发场景切换的问题,本来以为CharacterController已经有Collider了,所以就用一般的onCollision函数去做碰撞检测,结果发现无效。

原因:

增加了一个一般的胶囊Collider,结果碰撞就有效了,说明CharacterController肉眼可见的Collider在具体脚本实现上和一般Collider不同。

解决办法:

换个函数,用OnControllerColliderHit

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

public class nextScene : MonoBehaviour
{
    public string SceneName;
    // Start is called before the first frame update
    private void OnControllerColliderHit(ControllerColliderHit hit)
    {
        Debug.Log(hit.gameObject.name);
        if (hit.gameObject.name == "Exit")
        {
            SceneManager.LoadScene(SceneName);
        }
    }
}
Hint

注意不能把目标勾上Trigger,不然PlayerController接触的一直就是Terrian了。

关注
打赏
1657016083
查看更多评论
立即登录/注册

微信扫码登录

0.0432s