CharacterController 可使您轻松进行受碰撞约束的移动,同时不必处理刚体。
CharacterController 不受力影响,仅在您调用 Move 函数时才会移动。
然后它执行移动,但受碰撞约束。
另请参阅:角色控制器 (Character Controller) 组件和角色动画示例
center | 该角色的胶囊体中心(相对于变换组件的位置)。 |
collisionFlags | 在上次 CharacterController.Move 调用期间,该胶囊体的哪个部分与环境发生了碰撞。 |
detectCollisions | 确定其他刚体或角色控制器是否与该角色控制器碰撞(默认情况下始终启用它)。 |
enableOverlapRecovery | 启用或禁用重叠恢复。 启用或禁用重叠恢复。用于在检测到重叠时取消角色控制器从静态对象的穿透。 |
height | 该角色胶囊体的高度。 |
isGrounded | 在上次移动期间 CharacterController 是否接触地面? |
minMoveDistance | 获取或设置此角色控制器的最小移动距离。 |
radius | 该角色胶囊体的半径。 |
skinWidth | 该角色的碰撞皮肤宽度。 |
slopeLimit | 这些角色控制器的坡度限制(单位为度)。 |
stepOffset | 这些角色控制器的台阶偏移量(单位为米)。 |
velocity | 该角色的当前相对速度(请参阅注释)。 |
Move | 为 GameObject 的移动提供附加的 CharacterController 组件。 |
SimpleMove | 以 speed 移动该角色。 |
OnControllerColliderHit | 当该控制器在执行 Move 时撞到碰撞体时调用 OnControllerColliderHit。 |
attachedArticulationBody | The articulation body the collider is attached to. |
attachedRigidbody | 碰撞体附加到的刚体。 |
bounds | 碰撞体的世界空间包围体积(只读)。 |
contactOffset | 该碰撞体的接触偏移值。 |
enabled | 启用的 Collider 将与其他 Collider 碰撞,禁用的 Collider 不会这样。 |
isTrigger | 碰撞体是不是触发器? |
material | 碰撞体使用的材质。 |
sharedMaterial | 该碰撞体的共享物理材质。 |
gameObject | 此组件附加到的游戏对象。始终将组件附加到游戏对象。 |
tag | 此游戏对象的标签。 |
transform | 附加到此 GameObject 的 Transform。 |
hideFlags | 该对象应该隐藏、随场景一起保存还是由用户修改? |
name | 对象的名称。 |
ClosestPoint | 返回碰撞体上最接近给定位置的一个点。 |
ClosestPointOnBounds | 与附加碰撞体的包围盒最接近的点。 |
Raycast | 投射除这一个外忽略其他所有 Colliders 的 Ray。 |
BroadcastMessage | 调用此游戏对象或其任何子项中的每个 MonoBehaviour 上名为 methodName 的方法。 |
CompareTag | 此游戏对象是否使用 tag 进行了标记? |
GetComponent | Returns the component of Type type if the GameObject has one attached, null if it doesn't. Will also return disabled components. |
GetComponentInChildren | 使用深度首次搜索返回 GameObject 或其任何子项中类型为 type 的组件。 |
GetComponentInParent | 返回 GameObject 或其任何父项中类型为 type 的组件。 |
GetComponents | 返回 GameObject 中类型为 type 的所有组件。 |
GetComponentsInChildren | Returns all components of Type type in the GameObject or any of its children. Works recursively. |
GetComponentsInParent | 返回 GameObject 或其任何父项中类型为 type 的所有组件。 |
SendMessage | 调用此游戏对象中的每个 MonoBehaviour 上名为 methodName 的方法。 |
SendMessageUpwards | 调用此游戏对象中的每个 MonoBehaviour 上或此行为的每个父级上名为 methodName 的方法。 |
TryGetComponent | 获取指定类型的组件(如果存在)。 |
GetInstanceID | 返回对象的实例 ID。 |
ToString | 返回对象的名称。 |
Destroy | 移除 GameObject、组件或资源。 |
DestroyImmediate | 立即销毁对象 /obj/。强烈建议您改用 Destroy。 |
DontDestroyOnLoad | 在加载新的 Scene 时,请勿销毁 Object。 |
FindObjectOfType | 返回第一个类型为 type 的已加载的激活对象。 |
FindObjectsOfType | Gets a list of all loaded objects of Type type. |
Instantiate | 克隆 original 对象并返回克隆对象。 |
bool | 该对象是否存在? |
operator != | 比较两个对象是否引用不同的对象。 |
operator == | 比较两个对象引用,判断它们是否引用同一个对象。 |
OnCollisionEnter | 当该碰撞体/刚体已开始接触另一个刚体/碰撞体时,调用 OnCollisionEnter。 |
OnCollisionExit | 当该碰撞体/刚体已停止接触另一个刚体/碰撞体时,调用 OnCollisionExit。 |
OnCollisionStay | 对应正在接触刚体/碰撞体的每一个碰撞体/刚体,每帧调用一次 OnCollisionStay。 |
OnTriggerEnter | GameObject 与另一个 GameObject 碰撞时,Unity 会调用 OnTriggerEnter。 |
OnTriggerExit | 当 Collider other 已停止接触该触发器时调用 OnTriggerExit。 |
OnTriggerStay | 对于正在接触该触发器的每个其他 Collider,“几乎”所有帧都调用 OnTriggerStay。此函数位于物理计时器上,因此它不必运行每个帧。 |