By Luca Pataracchia, Autodesk (formerly Alias) Toronto Support.
This procedure will read an ASCII file (use an explicit path) and will key translation values for the specified object ($objectName).
The file must be laid out in the following format:
frameNumber Xtranslation Ytranslation Ztranslation
7 2 4 6
10 3.7 3.6 9.3
20 7.4 5.7 3.9
24 4.2 6.789 2.457
32 16.2 3.45 9.75
This script is an example of how you can import animation from an ascii file. This proc can be changed depending on what kind of animation you need to import. You would have to modify the script to suit the format of your ascii file.
global proc getAnim(string $fileName, string $objectName)
{
//open the file for reading
$fileId=`fopen $fileName "r"`;
//get the first line of text
string $nextLine = `fgetline $fileId`;
//while $nextline is not emtpy(end of file) do the following
while ( size( $nextLine ) > 0 ) {
//tokenize(split) line into separate elements of an array
string $rawAnimArray[];
tokenize ($nextLine, " ",$rawAnimArray);
//place each element of the array into separate variables
print $rawAnimArray;
float $frame=$rawAnimArray[0];
float $x=$rawAnimArray[1];
float $y=$rawAnimArray[2];
float $z=$rawAnimArray[3];
//change the currentTime and set keys for tx, ty, tz
currentTime $frame ;
setAttr ($objectName+".tx") $x;
setKeyframe ($objectName+".tx");
setAttr ($objectName+".ty") $y;
setKeyframe ($objectName+".ty");
setAttr ($objectName+".tz") $z;
setKeyframe ($objectName+".tz");
//get the next line in the ascii file.
$nextLine = `fgetline $fileId`;
}
//close file
fclose $fileId;
}