unity角色控制器参数详解
场景:
方法
Slope Limit:角色控制器在斜坡上行走的最大角度。
Step Offset:角色控制器可以爬升的最大高度。
Skin Width:角色控制器的皮肤宽度,用于避免角色与其他物体之间的穿透。
Min Move Distance:角色控制器移动的最小距离。
Detect Collisions:是否检测碰撞。
Collision Flags:碰撞标志,用于检测碰撞。
Move Direction:角色控制器的移动方向。
Velocity:角色控制器的速度。
Is Grounded:角色控制器是否在地面上。
Material:角色控制器的物理材质。
举例子
现在利用角色控制器,wsad移动、空格跳跃脚本
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class PlayerController : MonoBehaviour
{private CharacterController controller;private Vector3 moveDirection;public float speed = 5.0f;public float jumpSpeed = 8.0f;public float gravity = 20.0f;void Start(){controller = GetComponent<CharacterController>();}void Update(){if (controller.isGrounded){moveDirection = new Vector3(Input.GetAxis("Horizontal"), 0.0f, 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);}
}