I’m trying to create HorizontalSlider in Unity editor.
Path contains any number of nodes and moving object goes through them from first to last.
I would need the HorizontalSlider value to move smoothly from 0 to 1 as moving object goes through it’s path from start to the end. So basically the moving object should reflect it’s position to the slider value.
Right now the slider jumps straight to the next node value. (0 %, 20%, 80%, 100% etc…)
Try calculating the total path length on start like this (I have not tested this code)
List<Node> nodes;
float totalLength;
int node; //The last node you succesfully reached
void Start(){
//Find the total length of the path
for (int i=1;i<nodes.count;i++){
totalLength+= Vector3.Distance(nodes*.transform.position, nodes[i-1].transform.position);*
} }
void Update(){ float currentDistance = 0;
//Add up length of all nodes we have already reached for(int i=1; i<=node; i++){ currentDistance += Vector3.Distance(nodes*.transform.position, nodes[i-1].transform.position);* } //Add the intermediate distance from the last node we reached currentDistance += Vector3.Distance(transform.position, nodes[node].transform.position);