I need to know the local forward/right/up vectors of my creature’s feet bones at all times. So naturally I assumed GetBoneTransform/GetSocketTransform
would be my solution. However, I can only achieve this in BP via the identically named nodes because they’re calling different functions than the C++ implementations. I haven’t yet spent enough time dissecting the engine’s API to understand why or what the intended purpose of this inconsistency is.
So in the BP implementation, for example, the forward vectors are always pointing towards that component’s local forward regardless of how the actor is oriented. Yet the C++ versions seem to be in world space, i.e. they will always point in the same world direction regardless of my actor’s orientation. Why? This happens with both GetBoneTransform
and GetSocketTransform
.
I’m using RTS_World
in both cases. Switching to RTS_Component
on the BP version yields the results I don’t want, described in the last paragraph. Switching to RTS_Component
in the C++ version yields the same result (i.e. it behaves identically to using RTS_World
in C++.) I feel like this is either a bug or there’s a gap in my understanding here.
I ultimately wont be using blueprints anywhere in this particular custom character controller, so I need to understand why this is happening and how to properly achieve the results I’m looking for. Can someone help please?