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