Character Controller API
官方注释:
A CharacterController allows you to easily do movement constrained by collisions without having to deal with a rigidbody.
也就是说,角色控制器自带的移动函数包含了碰撞体,不用再让我们自己设置刚体和碰撞体了.
这个组件有两个移动函数可以使用.
SimpleMove()
Moves the character with speed.
Velocity along the y-axis is ignored. Speed is in meters/s. Gravity is automatically applied. Returns if the character is grounded. It is recommended that you make only one call to Move or SimpleMove per frame.
最重要的一点就是,这个函数的Y轴速度是被限制了的.这个方法自带Gravity即重力属性,需要接地,所以物体不能腾空运动.这个方法接收一个速度向量.
下面是官方示例:
using UnityEngine;
using System.Collections;
[RequireComponent(typeof(CharacterController))]
public class ExampleClass : MonoBehaviour {
public float speed = 3.0F;
public float rotateSpeed = 3.0F;
void Update() {
CharacterController controller = GetComponent<CharacterController>();
transform.Rotate(0, Input.GetAxis("Ho

Unity的CharacterController组件提供了一种简单的方式来进行受碰撞约束的移动,无需处理刚体和碰撞体。它有两种移动方法:SimpleMove()适用于地面移动,自动应用重力,Y轴速度受限;Move()则更复杂,不受重力影响,可滑动并检测碰撞,适用于实现跳跃等行为。CollisionFlags属性用于描述碰撞情况,OnControllerColliderHit方法在发生碰撞时触发,可用于推动碰撞物体。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



