Что такое Transform.Translate в Unity C#?
Метод Transform.Translate используется для перемещения объекта в пространстве на заданное расстояние. Этот метод изменяет положение объекта относительно его текущей позиции. Он часто применяется для реализации движения объектов, таких как персонажи, камеры или другие игровые элементы.
Transform.Translate
- Относительное перемещение: Метод изменяет позицию объекта относительно его локальной системы координат или глобальной, если это указано явно.
- Удобство использования: Подходит для быстрого и понятного перемещения объектов в реальном времени.
- Гибкость: Позволяет задавать направление и расстояние перемещения, а также учитывать время выполнения, используя
Time.deltaTime.
using UnityEngine;
public class Player : MonoBehaviour
{
private float speed = 5.0f;
void Update()
{
// Получаем данные ввода
float horizontal = Input.GetAxis("Horizontal");
float vertical = Input.GetAxis("Vertical");
// Формируем направление движения
Vector3 movement = new Vector3(horizontal, 0, vertical);
// Перемещаем объект с учетом времени
transform.Translate(movement * speed * Time.deltaTime);
}
}
Этот пример демонстрирует использование метода Transform.Translate для перемещения объекта в зависимости от ввода пользователя. В данном случае объект будет перемещаться с заданной скоростью в направлении, определяемом осевым вводом.
Transform.Translate
- Метод принимает параметры типа
Vector3, задающие направление перемещения. - Можно указать второй параметр
Space.SelfилиSpace.World, чтобы задать систему координат (локальную или глобальную).
Пример с глобальной системой координат:
void Update()
{
Vector3 forwardMovement = new Vector3(0, 0, 1);
transform.Translate(forwardMovement * speed * Time.deltaTime, Space.World);
}
Комментарии