Как сделать движущейся платформу, чтоб двигался игрок?

Для создания движущейся платформы, которая будет перемещать игрока, нужно использовать Unity и написать код, который будет управлять этой платформой.

В первую очередь, вам понадобится создать объект платформы в Unity. Можно использовать примитивы сцены Unity, такие как куб или плоскость, чтобы создать основу платформы. Разместите этот объект в нужной позиции и задайте ему нужный размер.

Затем вы должны добавить компонент Rigidbody к платформе. Этот компонент отвечает за физическое поведение объектов в игре. Включите флаг "Is Kinematic" в компоненте Rigidbody, чтобы предотвратить влияние физического движения на платформу от других объектов.

Теперь вам нужно написать скрипт для движения платформы. Создайте новый C# скрипт в Unity и назовите его, например, "MovingPlatform". Откройте скрипт в выбранной среде разработки и начните писать код.

using UnityEngine;

public class MovingPlatform : MonoBehaviour
{
    public Transform[] waypoints;   // массив, содержащий точки, куда будет двигаться платформа
    public float speed = 2f;        // скорость движения платформы

    private int currentWaypointIndex = 0;    // текущий индекс точки, куда движется платформа

    private void FixedUpdate()
    {
        // получаем текущую позицию платформы
        Vector3 currentPosition = transform.position;
        
        // получаем позицию следующей точки, куда платформа должна переместиться
        Vector3 nextWaypointPosition = waypoints[currentWaypointIndex].position;
        
        // вычисляем направление движения и нормализуем его
        Vector3 direction = (nextWaypointPosition - currentPosition).normalized;

        // перемещаем платформу в направлении следующей точки
        transform.position += direction * speed * Time.fixedDeltaTime;

        // проверяем, достигла ли платформа следующей точки
        if (Vector3.Distance(currentPosition, nextWaypointPosition) <= 0.1f)
        {
            // если достигла, увеличиваем индекс текущей точки на 1
            currentWaypointIndex++;
            
            // если индекс превышает количество точек, обнуляем его
            if (currentWaypointIndex >= waypoints.Length)
            {
                currentWaypointIndex = 0;
            }
        }
    }
}

Далее, присоедините этот скрипт к объекту платформы в Unity, открывая объект в окне "Inspector" и перетаскивая скрипт "MovingPlatform" на панель компонентов.

Теперь вам нужно создать пустые объекты, которые будут представлять собой точки перемещения платформы. Расположите эти объекты в нужных позициях на сцене Unity и присоедините их к массиву "waypoints" в компоненте "MovingPlatform" платформы.

Теперь все готово. Когда игрок стоит на платформе, он будет двигаться вместе с платформой, поскольку позиция игрока связана с позицией платформы.

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