как сделать телепорт объекта
я хочу сделать в главном меню игры облака которые типа плывут над океаном. и не знаю как зациклить их движение слева направо . вот код который я нашёл на передвижение объекта в пространстве , и хотел бы узнать лучший способ зацикливания их передвижения (чтобы они уходили в одну сторону и появлялись с другой)
public class небо : MonoBehaviour
{
public Vector2 direction;
public float speed = 2;
void FixedUpdate()
{
transform.Translate(direction.normalized * speed);
}
}
Ответы (1 шт):
Вы же правильно пишите, что для зацикливания нужно просто когда облако уйдет направо за экран перемещать его в левую часть экрана (точнее в левую часть за экраном, чтобы оно потихоньку выплыло). Что именно вам не понятно? Как это реализовать? Если да, то реализовать это можно с помощью условия если облако ушло за экран, то переместиться в левую часть экрана:
if (transform.position.x > Screen.width) {
transform.position = new Vector3([число слева экрана], transform.position.y, transform.position.z);
}
Поэкспериментируйте с числами, чтобы облако появлялось слева от экрана, но, чтобы его не была видно, т.к. оно должно медленно выплывать слева.