Question by
Finneganmac · Nov 24, 2020 at 06:57 PM ·
moving platform
Rigidbodies slowed movement on moving platform
Hi, total newbie to unity and need some help. I made a script that attaches a player to a moving platform, and everything works exactly how I need it to except for the movement. whenever I step on the moving platform my character has slowed and glitchy movement. I have tried for days to figure out why this is happening, if anyone has had this issue and has a obvious fix i'm missing lemme know. Heres my script
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class TrainCarry : MonoBehaviour
{
public List<Rigidbody> rigidbodies = new List<Rigidbody>();
public Vector3 lastPosition;
Transform _transform;
void Start()
{
_transform = transform;
lastPosition = _transform.position;
}
private void LateUpdate()
{
if (rigidbodies.Count > 0)
{
for (int i = 0; i < rigidbodies.Count; i++)
{
Rigidbody rb = rigidbodies[i];
Vector3 velocity = (transform.position - lastPosition);
rb.transform.Translate(velocity);
}
}
lastPosition = _transform.position;
}
private void OnCollisionEnter(Collision collision)
{
Rigidbody rb = collision.collider.GetComponent<Rigidbody>();
if (rb != null)
{
Add(rb);
}
}
private void OnCollisionExit(Collision collision)
{
Rigidbody rb = collision.collider.GetComponent<Rigidbody>();
if (rb != null)
{
Remove(rb);
}
}
void Add(Rigidbody rb)
{
if (!rigidbodies.Contains(rb))
rigidbodies.Add(rb);
}
void Remove(Rigidbody rb)
{
if (rigidbodies.Contains(rb))
rigidbodies.Remove(rb);
}
}
Comment
Your answer
![](https://koobas.hobune.stream/wayback/20220613020344im_/https://answers.unity.com/themes/thub/images/avi.jpg)