If I wanted to always have my velocities first orient themselves to the CharacterOwner->CapsuleComponent’s Orientation where would I find that? I first tried changing the CharacterMovementComponent’s usage of it. In my game the character capsule’s up vector is always pointed toward the world center (0,0,0). Because of this the Z is always up logic was broken or at least I thought so. Then I learned that I could keep the Z up logic (which would reduce a great amount of retro-fitting) if I convert the world to Component space - I presume this allows me to continue to evaluate things but to it’s local Z.
FTransform T = TheComponent->GetComponentTransform();
FVector LocalVector = T.InverseTransformVectorNoScale(WorldVector);
I haven’t tested this out yet but it sounds like a good plan. So this got me thinking, why don’t I just change the global usage of velocities to always first orient to the object in questions root Up Vector. In my game all things UpVector would point toward world center (0,0,0) so I don’t think it would break anything if that rule is universal.
So where would I look?