Kinematic Character Controller 3.1.1 下载链接 Kinematic Character Controller 3.2.1 下载链接
Kinematic Character Controller 2.3.0 角色控制器
角色控制器
Kinematic Character Controller
Kinematic Character Controller
角色控制器
Kinematic Character Controller 2.3.0 角色控制器
Requires Unity 2017.2.2 or higher.
What is Kinematic Character Controller?
Kinematic Character Controller a relatively low-level character controller solution that is not tied to any specific game genre and is made to be cleanly integrated into any project/architecture with as little friction or bloat as possible. Instead of using rigidbody physics, it uses a "collide and slide" algorithm that makes its movements perfectly fluid, precise and responsive. Note that its "kinematic" nature means that it will not get pushed by forces or rigidbodies automatically. These sorts of interactions have to be explicitly scripted. 运动学角色控制器是一个相对低级的角色控制器解决方案,不与任何特定的游戏类型绑定,并且能够以尽可能少的摩擦或膨胀干净地集成到任何项目/架构中。
Who is it for?
Strong programming and 3D math knowledge are required in order to use this package. This is by no means a "plug-and-play" solution, and it expects you to write your own input, camera, animation and velocity/rotation-handling code. It was made for users who wish to have the full freedom of writing their own game-specific character controllers, but want to have a strong foundation to start with. 它不使用刚体物理学,而是使用“碰撞和滑动”算法,使得其运动完美地流畅、精确和灵敏。注意它的“运动学”性质意味着它不会自动被力或刚体推动。这些类型的交互必须明确地脚本化。
How is it used?
You create a new class that inherits from an abstract "BaseCharacterController" class, and implement all of its abstract methods. With this approach, you have total control over what the character controller does, and you can implement any feature you want. The methods to implement include things like:
- UpdateVelocity: Asks you to return the velocity the character should have right now
- UpdateRotation: Asks you to return the rotation the character should have right now
- OnMovementHit: Event fired when the character hits something
- IsColliderValidForCollisions: Asks if a certain collider should be considered for collisions or not
- ...and many more
What's included?
This package contains:
- The "core" components that users will use to build their own character controllers
- An "example" character controller that's meant to demonstrate the system's capabilities (the one you see in the WebGL demo)
- A "walkthrough", which is a series of tutorials that give examples of how to implement common features such as double-jumping, climbing ladders, swimming, rootmotion, using navmeshes, networking, etc....
Main features and caracteristics
- Capsule-based collisions
- Smoothly interpolated movement
- No GC allocations and several Quality/Performance options
- Handles moving on steps
- Ground snapping (does not "launch" off of slopes)
- Gracefully handles common character controller pitfalls such as slowly shrinking corridors, angled corners and concave colliders
- Supports pushing or standing on dynamic rigidbodies
- Support for moving platforms, without requiring any object parenting.
- Supports arbitrary gravity and up direction
- Supports locking physics/movement to a specific plane (useful for 2.5D games)
- Support for ignoring specific collisions
- Supports both manual and automatic transforms syncing (Unity 2017.2 feature)
- Made with networking in mind. You can have explicit control over the "ticking" of the character simulation, allowing you to use this package in an authoritative server architecture with re-simulation of inputs.