スクリプト作成: Luca Pataracchia(Autodesk(旧 Alias)Toronto Support)
このプロシージャは明示的なパスを使用して ASCII ファイルを読み込み、指定したオブジェクト($objectName)に移動値をキー入力します。
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
このスクリプトは、ASCII ファイルからのアニメーションのインポート例です。このプロシージャは、インポートするアニメーションの種類によって変更することができます。使用する ASCII ファイルのフォーマットに合わせて、スクリプトを変更してください。
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;
}