Hmm, sounds like I might not be understanding your use case. Can you show what you have in a Playground?
Taking your example of a rocket launcher, the rocket launcher always believes itself to be sending rockets forward — in the direction of (0, 0, 1) — in its local space. It doesn’t matter where the rocket launcher is or whether it’s really facing up, left, or wherever; it still thinks of the direction it’s facing as forward. Thus, if you stuck a projectile “in front of” the rocket launcher — perhaps at position (0, 0, 2) — then parented it to the rocket launcher, it would stay “in front” no matter how you moved the rocket launcher. If, for example, you moved the rocket launcher to (6, 3, 8) and rotated it so that it was “pointing” straight down, the projectile would be automatically moved to (6, 1, 8) because that position is “in front of” the rocket launcher — at local position (0, 0, 2) — even though it’s actually below the rocket launcher in world space.
Is any of that helpful? Or have I completely missed the boat again. If so, a Playground should help me better understand what you’re describing.