Métodos comunes para controlar el movimiento de los personajes en Unity

Los siguientes son algunos métodos comunes para controlar el movimiento de los personajes en Unity, así como su uso y código de muestra:

  1. Método traducir ()

El método Translate() se puede utilizar para mover el objeto y acepta un parámetro de tipo Vector3, que indica la cantidad de movimiento del objeto en los tres ejes.

// 将物体向前移动1个单位
transform.Translate(Vector3.forward * Time.deltaTime);
  1. Método Rigidbody.AddForce()

Si desea controlar el movimiento del cuerpo rígido, puede usar el método AddForce() del componente Rigidbody, que puede aplicar una fuerza sobre el objeto.

// 在x轴方向上施加一个力
GetComponent<Rigidbody>().AddForce(Vector3.right * 10f);
  1. Método Rigidbody.MovePosition()

Si desea mover el cuerpo rígido directamente, puede usar el método MovePosition() del componente Rigidbody, que puede mover el cuerpo rígido a una posición específica.

// 将刚体移动到指定的位置
GetComponent<Rigidbody>().MovePosition(transform.position + Vector3.forward);
  1. Método CharacterController.Move()

Si desea controlar el movimiento del personaje, puede usar el método Move() del componente CharacterController, que permite que el personaje se mueva en el suelo.

// 控制角色在地面上移动
CharacterController controller = GetComponent<CharacterController>();
float speed = 5f;
Vector3 moveDirection = new Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical"));
controller.Move(moveDirection * speed * Time.deltaTime);
  1. Método NavMeshAgent.Move()

Si desea controlar el movimiento del personaje en NavMesh, puede usar el método Move() del componente NavMeshAgent, que permite que el personaje se mueva a lo largo de la ruta en NavMesh.

// 控制角色在NavMesh上移动
NavMeshAgent agent = GetComponent<NavMeshAgent>();
agent.SetDestination(target.position);
agent.Move(agent.desiredVelocity * Time.deltaTime);

Nota: El uso de estos métodos depende de sus necesidades específicas, y es posible que algunos métodos deban usarse con componentes o escenarios específicos. Antes de usar estos métodos, debe asegurarse de comprender cómo se usan y sus limitaciones.

おすすめ

転載: blog.csdn.net/qq_20179331/article/details/130694285