Character controller在运动的刚体碰撞体上会掉落解决方案

即使用Character controller实现类似升降梯的效果

将以下脚本附给角色控制器:

void OnTriggerStay(Collider platforms)
    {
        if(!isOnMove&&platforms.gameObject.CompareTag("Platform"))
        {
            this.transform.parent = platforms.transform.parent;
            isOnMove = true;
            Debug.Log("In");
        }
    }

    void OnTriggerExit(Collider other)
    {
        if(other.gameObject.CompareTag("Platform"))
        {
            this.transform.parent = null;
            isOnMove = false;
            transform.localScale = new Vector3(scale, scale, scale);
            Debug.Log("out !!");
        }
}


给Cube物体添加一个碰撞器,一个触发器。

在角色进入cube触发器后,将cube的父物体即ParentObject 作为角色控制器的父物体,即可实现同步运动。

项目结构图:
在这里插入图片描述

场景图片:

在这里插入图片描述