一. 前言
近年来,游戏开发行业迅猛发展,各种各样的游戏引擎和开发工具层出不穷。在游戏角色控制方面,最常用的两种方式是使用Character Controller和Rigidbody。本文将介绍这两种方式的区别,并通过代码示例展示它们的使用方法。
二. Character Controller
Character Controller是Unity中一个非常常用的组件,它是用于控制角色移动和碰撞检测的。Character Controller可以通过代码控制角色的移动、跳跃、旋转等动作,并且可以检测角色与其他物体的碰撞。
下面是使用Character Controller控制角色移动的示例代码:
using UnityEngine;
public class PlayerController : MonoBehaviour
{
private CharacterController controller;
private Vector3 moveDirection;
public float speed = 10f;
public float jumpSpeed = 8f;
public float gravity = 20f;
void Start()
{
controller = GetComponent<CharacterController>();
}
void Update()
{
if (controller.isGrounded)
{
moveDirection = new Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical"));
moveDirection = transform.TransformDirection(mov