Справочники Unity C# Transform.Translate

Что такое Transform.Translate в Unity C#?

Метод Transform.Translate используется для перемещения объекта в пространстве на заданное расстояние. Этот метод изменяет положение объекта относительно его текущей позиции. Он часто применяется для реализации движения объектов, таких как персонажи, камеры или другие игровые элементы.


Основные характеристики метода Transform.Translate
  1. Относительное перемещение: Метод изменяет позицию объекта относительно его локальной системы координат или глобальной, если это указано явно.
  2. Удобство использования: Подходит для быстрого и понятного перемещения объектов в реальном времени.
  3. Гибкость: Позволяет задавать направление и расстояние перемещения, а также учитывать время выполнения, используя 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);
}
Комментарии
Добавить комментарий

Пока комментариев нет