I need some help working on some transforms. I'm making a teleport mechanic where I have two transforms that are facing the direction the player will be moving when they hit the teleporter and where they should be facing when they leave the teleporter. I have this working with the below code using Euler's but, this doesn't scale to other axis of rotation... I'm looking for a way to correctly do the following but without `get_euler()`

:

```
var to_rot = tp["to_transform"].basis.get_euler()
var from_rot = tp["from_transform"].basis.get_euler()
var rot_diff = to_rot + from_rot
var new_t = Transform()
# The origin here is offset by the player's distance from the teleporter's origin so that
# when we rotate the transform that offset can be preserved
new_t.origin = state.get_transform().origin - tp["from_transform"].origin
# The player's basis as they pass through the teleporter
new_t.basis = state.get_transform().basis
# What I want to do is rotate new_t by the difference between tp["to_transform"].basis and tp["from_transform"].basis. I don't know how to do this without first converting to Euler's and doing it one axis at a time
if rot_diff.y != 0.0:
new_t = new_t.rotated(Vector3(0, 1, 0), -rot_diff.y)
state.set_linear_velocity(state.get_linear_velocity().rotated(Vector3(0, 1, 0), -rot_diff.y))
state.set_angular_velocity(state.get_angular_velocity().rotated(Vector3(0, 1, 0), -rot_diff.y))
new_t.origin += tp["from_transform"].origin
new_t.origin -= tp["from_transform"].origin - tp["to_transform"].origin
state.set_transform(new_t)
```

I've read the docs on using transforms, but I just lack the fundamental understanding to apply it to my situation here. The problem with my code here is that `rot_diff`

if in Eulers and can get all messed up, especially when adding another axis.I know there's some sort of math I can do on `new_t.basis`

to get what I want, but I just don't know the proper functions to call.