スクリプト作成: 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; }