So I have a door prefab that I made which consists of a parent object and its 2 children, the left and right door, my intention is to create an elevator door.
I’m using a script in unity to animate the sliding doors with the following line of code.
LeftDoor.transform.Translate(Vector3.left * DoorSpeed * Time.deltaTime);
The problem occurs when I change the rotation of the door, since I only want to move the door 2 world units I check the x axis and stop when that position is equal to the original position of the door + 2. But that’s not going to work if I rotate the door then I might have to check the Z axis instead and if I rotate the door 35 degrees or something else that’s not entirely straight it’s not going to work at all.
I could just do the animation in Blender but I feel that it’s a lot more flexible to do these simple animations in Unity.
I’m looking for a way to move a transform in unity a specified number of world units regardless of its rotation.