Довідники 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);
}
Коментарі
Додати коментар

Поки що коментарів немає