亲测好用
角色控制器(CharacterController):
首先,角色控制器没有碰撞效果,这是和刚体的区别,不像刚体可以给其力
【笔记|Unity角色控制器CharacterController移动代码】如果想使人物移动,直接复制官方文本中的CharacterController下的Move()方法,前台添加“CharacterController”这个组件。
using UnityEngine;
using System.Collections;
public class NewBehaviourScript : MonoBehaviour {
public float speed = 6.0F;
public float jumpSpeed = 8.0F;
public float gravity = 20.0F;
private Vector3 moveDirection = Vector3.zero;
void Start() {
}
void Update() {
CharacterController controller = GetComponent();
if (controller.isGrounded) {
moveDirection = new Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical"));
moveDirection = transform.TransformDirection(moveDirection);
moveDirection *= speed;
if (Input.GetButton("Jump"))
moveDirection.y = jumpSpeed;
}
moveDirection.y -= gravity * Time.deltaTime;
controller.Move(moveDirection * Time.deltaTime);
}
}
无需理解,直接复制就可以用了,前后左右移动。
参数:
Slope Limit爬坡限制:小于等于此角度可以上坡
Step Offset台阶高度:
Skin Width 皮肤宽度:太大就抖动,太小就卡住,最好设置成Radius半径的10%
Min Move Distance:0,太多不行,太小动不了
Center:中心点坐标
Radius:半径,一般0.5
Height:高,一般2.0
推荐阅读
- Unity3d|【Unity3D Debug】“CharacterController.Move()在处理角色移动时,角色不论怎么转向其移动方向始终不变”的解决方案
- Unity3D|Unity3D 角色控制器 Character Controller
- 毕设|【截图整理官方教程】unity 2D角色控制器 2D Character Controller
- Unity|Unity CharacterController控制人物移动(包括重力实现)
- 游戏|【Unity】11.1 角色控制器 (Character Controller)
- 笔记|Swagger的使用
- 实习周记-day2
- python|GUI 应用(socket 网络聊天室)
- python|零配置python日志,安装即用