Липкая конвейерная лента - PullRequest
2 голосов
/ 10 марта 2020

Я работаю над тем, чтобы иметь липкую конвейерную ленту, чтобы объекты также могли вокруг нее go. Но мои объекты в настоящее время застряли на полпути, как видно на рисунке.

enter image description here

Это код движения конвейерной ленты.

private void HandleCargo()
{
    var _speed = speed * Time.deltaTime;
    foreach (var cargo in _cargo)
    {
        var change = cargo.Key.transform.right * _speed;
        cargo.Key.transform.Translate(change);
    }
}

И код, обеспечивающий поворот на поверхность.

private void Update()
{
    Debug.DrawRay(transform.position, -transform.up, Color.black);

    if (!Physics.Raycast(transform.position, -transform.up, out var hit, _distance)) return;
    var normal = hit.normal;

    transform.up -= (transform.up - hit.normal) * 0.05f;
}

Если у кого-то есть указания относительно того, почему это происходит, это было бы здорово. У меня вроде есть идея, так как право преобразования кода конвейера направлено внутрь под этими углами, так что движение больше не происходит вокруг ленты, но я исчерпал свои попытки исправить это ...

...