Newer
Older
CGTrack / Assets / Scripts / Bausatz / Cart.cs
@Pascal Syma Pascal Syma on 25 Jul 2021 744 bytes Initial Commit
using System;
using UnityEngine;

namespace Bausatz
{
    public class Cart : MonoBehaviour
    {
        public Track track;
        public float u = 0f;
        public float v = 0f;
        public float a = 0f;
        public float g = 9.81f;


        private void Update()
        {
            // Euler integration
            v -= a * g * Time.deltaTime;
            u += v * Time.deltaTime;

            u = track.GetPositionOnTrack(u, out a, out var position, out var rotation, out var constantSpeed);
            if (constantSpeed > 0)
            {
                v = constantSpeed;
            }
            transform.position = position;
            transform.rotation = rotation * Quaternion.Euler(0, 180, 0);
        }
    }
}