Unity 5. Метод transform.Translate

Unity 5. Метод transform.Translate

Перемещение в пространстве.

В этой статье я хочу познакомить вас с одним методом в Unity 5, с помощью которого можно перемещать любые предметы в пространстве относительно оси координат. Этот метод называется transform.Translate. Давайте посмотрим на практике как это работает. Я буду перемещать кубы с разной скоростью, которая генерируется рандомно для каждого куба.

Создадим две плоскости и между ними сделаем небольшое расстояние (как пропасть), над ними создадим несколько кубов в виде ступеней, по которым можно перейти с одной стороны на другую.

Transform

Добавим С# скрипт назовем его speed и напишем в нем такой код:

 

using UnityEngine;
using System.Collections;

public class speed : MonoBehaviour {
    public float speedV; //добавим числовую переменную, скорость

	void Start () {
        speedV = Random.Range(0.5f, 3); // при старте зададим диапазон скорости от 0.5 до 3
	}
	
	void Update () {
        transform.Translate(0, 0, speedV * Time.deltaTime); // наш метод, нам нужно движение по оси координат z 
        if (transform.position.z > 2){ // ограничение, если позиция куба по оси з больше 2, то куб будет двигаться в обратную сторону
            speedV = -speedV;
        }
        if (transform.position.z < -5) { // если меньше -5, то скорость опять принимает рандомное значение
            speedV = Random.Range(0.5f, 3);
        }
	}
}

Таким образом наши кубы зациклятся в движении и будут двигаться все время с разной скоростью.

Переместим скрипт на каждый куб и смотрим что получилось. При необходимости можно изменить строку

transform.Translate(0, 0, speedV * Time.deltaTime)//z

и  изменить направление движения кубов.

transform.Translate(speedV * Time.deltaTime, 0, 0)//x
transform.Translate(0,speedV * Time.deltaTime, 0)//y

Этот метод можно широко применять как в создании 2d игр, создавать различные препятствия, движение предметов, мобов и многое другие, так и применять в 3d играх. Удачных проектов!

             На главную

Обсудить на форуме


Оставить Комментарий