How to create a good blend space for Thrid person shooter with root motion

Hi all,

How to create a good blendspace for Third Person Shooter with root motion animations: Idle, Walk FWD, Walk BWD, Run FWD, Run BWD, Sprint FWD and Strafe animations. And how to control it from C++?