Hi there.

Im making a simple pathfinding algo and i got confused in its first part, how could i move a vector toward another vector in a constant speed ??

THanks alot for any attention !

https://wiki.jmonkeyengine.org/legacy/doku.php/jme3:math_for_dummies

[jME Tutorial 1-2] Vector math with the jMonkeyEngine - YouTube

Basically subtract the initial vector from the destination vector, and normalize it. This gives you the direction, and then do vec1.move(direction.mult(tpf)) or w/e

i dont got how could i use interpolation to do this

[java]

private static final float moveSpeed = 1f;

public void moveTowards(Vector3f dir) {

myPosition.addLocal(dir.mult(moveSpeed));

}

[/java]

How could i use interpolation to get a vector to the direction however at a constant movespeed ?

You also have to multiply the movespeed with tpf to have a constant movespeed since the speed basically right now depends on your framerateâ€¦

i do that was an example code ^^

thanks for the attention, but , i couldnt do my intention yet

ty for the help

You can also do firstVector.subtract(otherVector) and then you get a new Vector that points from otherVector to secondVector.

You basically do the things above, that means you subtract your goal vector from your current position vector and then you NORMALIZE it. Only then you can make sure that it will say â€śthe same lengthâ€ť in every situation. And then you just multiply your normalized direction vector with movespeed*tpf and youâ€™re fine!
public void moveTowards(Vector3f dir) {
myPosition.addLocal(dir.normalizeLocal().mult(moveSpeed*tpf));

}

Remember that directions are always normalized!

aaah now i understand what normalize do ;d

thank you alot !

all of this was said in the first reply

@wezrule said:

all of this was said in the first reply :P

[java]if(post.contains(documentation)){

ignorePostContent();

if(rnd.nextFloat()>0.5)

startFlamingAboutAttitude();

}[/java]