Hmm, I made a script to bake nCloth (or any animation pretty much) to a blendShape. You just have to make sure that your key frames are set to linear, or after you use it, open the graph editor on the blend shape and adjust the curve to make it linear, otherwise it will throw off the timing.
I never tried bringing in a blendShape to Realflow, but let me know if it works for you. Here is the script, just copy and paste in script editor or on a shelf button should work:
//Blend Bake script:
global proc blendBake(int $numFramesBlendBake)
{
displaySmoothness -divisionsU 0 -divisionsV 0 -pointsWire 4 -pointsShaded 1 -polygonObject 1;
subdivDisplaySmoothness -smoothness 1;
global string $blendBakeWindow;
if (`window -exists $blendBakeWindow`) deleteUI $blendBakeWindow; //Checks for and deletes existing window
string $dupObjs[] = `ls -sl`; //Creates array with selected object.
string $blendObj = $dupObjs[0]; //Makes object a string.
int $i = 0;
int $startTime = `currentTime -q`; //Stores current time for later.
for ($i = 0; $i<$numFramesBlendBake; $i++) //Will go however many frames specified.
{
currentTime -edit (`currentTime -q` +1); //Forward 1 frame
duplicate -rr; //duplicates selected object.
//Next 3 lines create an array with duplicated objects, then adds them to the end of
//the first array, $dupObjs[]
string $newDupObjs[] = `ls -sl`;
string $newDupObj = $newDupObjs[0];
$dupObjs[size($dupObjs)] = ($newDupObj + "");
setAttr ($newDupObjs[0] + ".visibility") 0;
select $blendObj; //Selects the original object so it can be duplicated next frame.
};
int $endBakeTime = `currentTime -q`; //stores time of animation's end for blendshape keyframe
currentTime -edit $startTime; //Resets time to start of animation
duplicate -rr $blendObj; //Duplicates original object so animation isn't deleted
//Once again the next 3 lines add the duplicated object to the end of the $dupObjs array
string $newDupObjs[] = `ls -sl`;
string $newDupObj = $newDupObjs[0];
$dupObjs[size($dupObjs)] = ($newDupObj + "");
//these next fewlines reorder the selection for the blendshape
select $dupObjs;
select -d $dupObjs[0];
select -add $dupObjs[(size($dupObjs)-1)];
//creates blendshape, and deletes excess objects.
blendShape -origin world -ib -n "bakedAnimation";
string $blendAttName = $dupObjs[(size($dupObjs)-2)];
select -d $dupObjs[(size($dupObjs)-1)];
doDelete;
//adds keyframe at the in and out point of the animation
select $dupObjs[(size($dupObjs)-1)];
string $findBlendNode[] = `listHistory`; //selects blendshape node
select $findBlendNode[1];
setKeyframe -at $blendAttName -v 0;
setKeyframe -at $blendAttName -t $endBakeTime -v 1;
select $dupObjs[(size($dupObjs)-1)]; //re-selects object
rename ($dupObjs[(size($dupObjs)-1)]) ("BAKED " + ($dupObjs[(size($dupObjs)-1)]));
};
//Inserts number of frames from UI into blendBake global proc
global proc insertBlendBake()
{
global string $blendBakeBtn;
global string $numFramesBakeInt;
int $numFramesBlendBake = `intFieldGrp -q -v1 $numFramesBakeInt`;
string $blendBakeObjs[] = `ls -sl`;
int $i = 0;
string $blendBakedObjs[] = `select -cl`;
string $blendBakedSelection[] = `select -cl`;
for ($i = 0; $i<size($blendBakeObjs); $i++)
{
select $blendBakeObjs[$i];
blendBake($numFramesBlendBake);
$blendBakedObjs = `ls -sl`;
$blendBakedSelection[$i] = $blendBakedObjs[0];
select $blendBakedSelection;
}
};
//creates window
global string $blendBakeWindow;
if (`window -exists $blendBakeWindow`) deleteUI $blendBakeWindow; //Checks for and deletes existing window
//Base form
string $blendBakeWindow = `window -title "Blend Bake" -widthHeight 200 100` ;
string $blendBakeForm = `formLayout -numberOfDivisions 100`;
string $blendBakeBtn = `button -label "Blend Bake" -w 70 -h 30 -bgc .3 0 0 -command insertBlendBake`;
string $numFramesBakeInt = `intFieldGrp -cw1 80 -cw 2 45 -label "Number of frames to bake:"
-cal 1 "left"`;
//Arranges content
formLayout -edit
-attachForm $numFramesBakeInt "top" 25
-attachForm $numFramesBakeInt "left" 2
-attachForm $blendBakeBtn "bottom" 5
-attachForm $blendBakeBtn "left" 10
-attachForm $blendBakeBtn "right" 10
$blendBakeForm;
showWindow $blendBakeWindow;