Version: 5.3 (switch to 5.4b)
IdiomaEnglish
  • C#
  • JS

Idioma de script

Selecciona tu lenguaje de programación favorito. Todos los fragmentos de código serán mostrados en este lenguaje.

Rigidbody2D.MoveRotation

Sugiere un cambio

¡Éxito!

Gracias por ayudarnos a mejorar la calidad de la documentación de Unity. A pesar de que no podemos aceptar todas las sugerencias, leemos cada cambio propuesto por nuestros usuarios y actualizaremos los que sean aplicables.

Cerrar

No se puedo enviar

Por alguna razón su cambio sugerido no pudo ser enviado. Por favor <a>intente nuevamente</a> en unos minutos. Gracias por tomarse un tiempo para ayudarnos a mejorar la calidad de la documentación de Unity.

Cerrar

Cancelar

Cambiar al Manual
public function MoveRotation(angle: float): void;
public void MoveRotation(float angle);

Parámetros

angle @param angle El nuevo ángulo de rotación para el objeto Rigidbody.

Descripción

Rota el rigidbody a un angle.

Rota el rigidbody a un ángulo angle especificado, calculando la velocidad angular apropiada requerida para rotar el rigidbody a ese ángulo durante la próxima actualización del simulador de física. Durante el movimiento, el rozamiento angular no afectará al cuerpo. Esto causa que el objeto se mueva rápidamente desde el ángulo existente al angle especificado.

Debido a que esta característica permite que un rigidbody se mueva rápidamente al angle especificado, cualquier collider adjunto al rigidbody reaccionará como se espera; es decir, producirá colisiones y/o disparará triggers. Esto también significa que si los colliders producen una colisión, entonces esto afectará al movimiento del rigidbody y potencialmente lo detendrá, no permitiéndole alcanzar el angle especificado durante la próxima actualización de la física. Si el rigidbody es cinemático entonces ninguna colisión afectará al rigidbody mismo, y sólo afectará a otros colliders dinámicos.

Los rigidbodies 2D tienen un límite fijado sobre cuán rápido pueden rotar; por tanto, intentar rotar ángulos grandes en escalas de tiempo cortas puede resultar en que el rigidbody no alcance el angle especificado durante la próxima actualización de la física. Es recomendado que se utilice esto para únicamente movimientos rotacionales pequeños.

Es importante entender que un cambio en la rotación real solo ocurrirá durante la próxima actualización de la física; por tanto, estar llamando a este método repetidamente sin esperar a la próxima actualización resultará en que solo sea usada la última actualización. Por esta razón, es recomendado que sea invocado durante la llamada al método FixedUpdate.

var speed: float;
var rb2D: Rigidbody2D;

function Start() { rb2D = GetComponent.<Rigidbody2D>(); }

function FixedUpdate () { rb2D.MoveRotation(rb2D.rotation + speed * Time.fixedDeltaTime); }
using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour { public float speed; public Rigidbody2D rb2D; void Start() { rb2D = GetComponent<Rigidbody2D>(); } void FixedUpdate() { rb2D.MoveRotation(rb2D.rotation + speed * Time.fixedDeltaTime); } }