Параметры
position | Предоставляет новую позицию для объекта Rigidbody. |
Описание
Перемещает кинематику Rigidbody в направлении position
.
Rigidbody.MovePosition перемещает Rigidbody в соответствии с настройками интерполяции. Когда интерполяция Rigidbody включена, Rigidbody.MovePosition создает плавный переход между кадрами. Unity перемещает Rigidbody при каждом вызове FixedUpdate
. position
находится в мировом пространстве. Для телепортации Rigidbody из одного положения в другое используется Rigidbody.position вместо Переместить позицию.
using UnityEngine;
public class Example : MonoBehaviour
{
Rigidbody m_Rigidbody;
public float m_Speed = 5f;
void Start()
{
// Выберите Rigidbody из GameObject с прикрепленным скриптом
m_Rigidbody = GetComponent<Rigidbody>();
}
void FixedUpdate()
{
// Сохранение пользовательского ввода в виде вектора движения
Vector3 m_Input = new Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical"));
//Применяем вектор движения к текущей позиции, т.е.
//умножается на deltaTime и скорость для плавного MovePosition
m_Rigidbody.MovePosition(transform.position + m_Input * Time.deltaTime * m_Speed);
}
}