Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

Объявление

public void MoveRotation(float angle);

Параметры

angle The new rotation angle for the Rigidbody object.

Описание

Поворачивает Rigidbody на angle (указывается в градусах).

Поворачивает Rigidbody на указанный angle, вычисляя соответствующую угловую скорость, необходимую для поворота Rigidbody на этот угол во время следующего обновления физики. Во время движения угловое сопротивление не влияет на тело. Это заставляет объект быстро перемещаться от существующего угла к указанному angle.

Поскольку эта функция позволяет быстро поворачивать Rigidbody на указанный angle, любые коллайдеры, прикрепленные к Rigidbody, будут реагировать ожидаемым образом, т. е. вызывать столкновения и/или срабатывания. Это также означает, что если коллайдеры произведут столкновение, это повлияет на движение твердого тела и потенциально помешает ему достичь указанного angle во время следующего обновления физики. Если Rigidbody кинематический, то любые столкновения не повлияют на само Rigidbody, а повлияют только на любые другие динамические коллайдеры.

Компоненты Rigidbody2D имеют фиксированный предел скорости вращения, поэтому попытка поворота на большие углы за короткие промежутки времени может привести к тому, что Rigidbody не достигнет указанного класса angle во время следующего обновления физики. Рекомендуется использовать это только для относительно небольших вращательных движений.

Важно понимать, что фактическое изменение поворота произойдет только во время следующего обновления физики, поэтому повторный вызов этого метода без ожидания следующего обновления физики приведет к использованию последнего вызова. По этой причине рекомендуется вызывать его во время обратного вызова FixedUpdate.

// ПеремещениеВращение // Спрайту задается скорость вращения. using UnityEngine; using System.Collections; public class Example : MonoBehaviour { public Texture2D tex; private Rigidbody2D rb2D; private Sprite mySprite; private SpriteRenderer sr; private float revSpeed = 50.0f; void Awake() { sr = gameObject.AddComponent<SpriteRenderer>(); rb2D = gameObject.AddComponent<Rigidbody2D>(); } void Start() { mySprite = Sprite.Create(tex, new Rect(0.0f, 0.0f, tex.width, tex.height), new Vector2(0.5f, 0.5f), 100.0f); transform.localScale = new Vector3(3.0f, 3.0f, 3.0f); rb2D.gravityScale = 0.0f; sr.sprite = mySprite; } void FixedUpdate() { rb2D.MoveRotation(rb2D.rotation + revSpeed * Time.fixedDeltaTime); } }

Объявление

public void MoveRotation(Quaternion rotation);

Параметры

rotation Полное трехмерное вращение используется для извлечения только вращения по оси Z.

Описание

Перегрузка MoveRotation, позволяющая использовать полный трехмерный поворот в качестве аргумента.

Поворот по оси Z извлекается из заданного Quaternionrotation и используется в качестве целевого угла для перемещения Rigidbody2D в. Важно понимать, что полное трехмерное вращение не используется, поскольку Rigidbody2D имеет только одну степень свободы вращения вокруг оси Z.

Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
API скрипты 2021.3