I will start by saying I am a complete beginner. I followed a tutorial and got far enough to make my platform work technically, but it just keeps going up and down. I need it to not move until the player is on it. I’m hitting a lot of dead ends though so I thought I would ask for help in the mean time. This is what I have so far,
using UnityEngine;
using System.Collections;
public class MovingPlatform : MonoBehaviour {
[SerializeField]
Transform platform;
[SerializeField]
Transform startTransform;
[SerializeField]
Transform endTransform;
Vector3 direction;
Transform destination;
void Start (){
SetDestination (startTransform);
}
void FixedUpdate(){
platform.rigidbody.MovePosition (platform.position + direction * platformSpeed * Time.fixedDeltaTime);
if (Vector3.Distance (platform.position, destination.position) < platformSpeed * Time.fixedDeltaTime) {
SetDestination (destination == startTransform ? endTransform : startTransform);
}
}
void OnDrawGizmos(){
Gizmos.color = Color.green;
Gizmos.DrawWireCube (startTransform.position, platform.localScale);
Gizmos.color = Color.red;
Gizmos.DrawWireCube (endTransform.position, platform.localScale);
}
void SetDestination(Transform dest){
destination = dest;
direction = (destination.position -platform.position).normalized;
}
}
really any help is appreciated