I have a Blueprint where a Line Trace for Objects applies to all actors in the Blueprint, allowing interaction with them. I encountered a problem when creating a cabinet with two doors that open in opposite directions: one door opens by 90 degrees, and the other by -90 degrees.
In my Blueprint, the logic is set up to add or subtract 90 units upon interaction. As a result, one door opens correctly, while the other opens inward. I’ve tried adjusting it in various ways, but nothing works—one door always opens inward, and I can’t fix it.
Is it possible to invert the Z-axis so that a 90-degree rotation in the other direction is also positive, but the door still opens outward? Essentially, I want the coordinates for the other mesh to be calculated with an inversion.
Is there a way to implement such logic without making significant changes?
One straightforward thing to do with no changes whatsoever is to tag the swinging doors as left / right. When interaction happens, query tags and invert values.
Another way is to flip the scale to -1.
Or use scene comps as hinge / pivot.
Or redesign the cabinet - hard to tell how exactly without knowing the current component hierarchy. For all we know, it may be a skeletal mesh.
Nothing works for me anymore
The logic goes all the way to Set Relative Rotation, and you can see the line entering it, but there’s no movement when I press the Interact button. Honestly, I’m exhausted from all these complications. I didn’t change anything—I just decided to experiment with your advice, it didn’t work, and then I simply reverted all the changes, but after that, nothing works anymore
Without saving anything, I restarted the project, and everything remained exactly as it was before making changes, but it still stopped working