Take the location X,Y,Z of an object and add plus 30 to the X. Then using TeleportTo, to that location.

Take the location X,Y,Z of an object and add plus 30 to the X. Then using TeleportTo, to that location.
:slight_smile:

Hi Kelan,

Try implementing the system in this community video. It uses MoveTo(), but I think knowledge would be transferrable for TeleportTo(). Hope that helps.

In order to get the location of an object you can use

MyPosition:vector3= GetTransform().Translation

To add to a vector there are a few options.
You can always add two vectors together

V1:vector3= vector3{X:=0.0, Y:=0.0, Z:=0.0}
V3:= V1 + vector3{X:=30.0, Y:=0.0, Z:=0.0}

now V3 is V1 plus 30 in X.

And if you wanted to make a helper function to do this lots you could do

(V:vector3).AddX(XOffset:float):vector3=
    return vector3{X:=V.X+XOffset, Y:=V.Y, Z:=V.Z}

VectorAdditionTest():void=
    V1:vector3= vector3{X:=0.0, Y:=0.0, Z:=0.0}
    V2 := V1.AddX(30.0)

Which takes the components of the original vector and adds the offset passed in to the X component.

You can then roughly use something like this to teleport the obj, wit the same rotation it currently has (where Pos is a vector3)

if (PropObject.TeleportTo[Pos, GetTransform().Rotation]):
            Print("Teleported to:{Pos}")
2 Likes