бесконечная 2D анимация заднего фона (C# unity)

164
17 апреля 2022, 16:20

хочу сделать анимацию заднего фона в простой 2D игре, чтобы при нажатии на клавиши движения, вслед за персонажем начинал в нужную сторону двигаться задний фон.
Пробовал сделать так для начала

public GameObject gg; // за кем следить
    Renderer r;
    public float offset = 0.01f;
    Vector2 offsetTexture = Vector2.zero;
    float lastpos;
   
    void Start()
    {
        lastpos = gg.transform.position.x;
        r = GetComponent<Renderer>();
        offsetTexture = r.material.mainTextureOffset;
    }
       void Update()
    {
        if(lastpos!= gg.transform.position.x)
        {
            offsetTexture.x += (lastpos - gg.transform.position.x) * offset  ;
            r.material.mainTextureOffset = offsetTexture;
            lastpos = gg.transform.position.x;
        }
    }

но это не сработало.

Answer 1

Вопрос кажется решён, но если вдруг нужна плавная перемещение то вот:

public class Follow2D : MonoBehaviour
{
    public Transform target;
    public Vector3 pose;
    private Vector3 velocity;
    public float speed = 0.1f;

    void FixedUpdate()
    {
        pose.x = Mathf.SmoothDamp(pose.x, target.position.x, ref velocity.x, speed);
        pose.y = Mathf.SmoothDamp(pose.y, target.position.y, ref velocity.y, speed);
        transform.position = pose;

    }
}
READ ALSO
Архитектура приложения(игры) на Unity

Архитектура приложения(игры) на Unity

Начал заниматься разработкой игр на UnityПри создании стали возникать проблемы с "чистотой" и "грамотностью" скриптов

190
Залить часть геометрической фигуры

Залить часть геометрической фигуры

Нужна помощь коллективного разума на тему: как залить часть произвольной замкнутой геометрической фигуры?

157
Cоздание истории в Инстаграм c помощью Selenium C# gecko

Cоздание истории в Инстаграм c помощью Selenium C# gecko

Я пытаюсь разместить историю в Инстаграмм с компьютераИспользую Selenium + C# + geckodriver (Console Application)

123