Controllable 3D Character Motion Generation