Skip to content

ControllerColliderHit

ControllerColliderHit类用于描述角色控制器与碰撞器之间的碰撞信息。

可以通过以下方式获取ControllerColliderHit对象:

首先在场景中创建一个立方体collider和胶囊体characterController(如下图),分别将它们的位置设置为(0,0,0)和(0,-2,0),并为立方体添加一个BoxCollider组件,为胶囊体添加一个CharacterController组件,并将脚本挂在胶囊体上。

typeScript
OnStart(): void {
        
        let charater = this.gameObject.GetComponent<CharacterController>(CharacterController);
        //将角色控制器向上移动一个单位
        charater.Move(new Vector3(0,1,0));

    }

    OnControllerColliderHit(controllerColliderHit):void{

        Debug.Log("角色控制器与碰撞器产生碰撞时的碰撞信息",controllerColliderHit);
        
    }

成员变量

ControllerColliderHit.collider : Collider
(只读)发生碰撞时被撞物体的碰撞器。
ControllerColliderHit.controller : CharacterController
(只读)发生碰撞时的角色控制器。
ControllerColliderHit.transform : Transform
(只读)被控制器碰撞的物体的Transform组件。
ControllerColliderHit.point : Vector3
(只读)角色碰撞器在世界空间中的碰撞点。
ControllerColliderHit.gameObject : GameObject
(只读)发生碰撞时被撞的游戏对象。
ControllerColliderHit.normal : Vector3
(只读)角色碰撞器在世界空间中碰撞的表面的法线。
ControllerColliderHit.moveLength : number
(只读)发生碰撞时角色的移动距离。
ControllerColliderHit.moveDirection : Vector3
(只读)发生碰撞时角色控制器移动的方向。