これは簡単な作業かもしれませんが、現時点では、これを簡単な方法で行う方法がまったくわかりません。次のような状況があります。3D プログラム Cinema 4D のスクリプト言語である COFFEE で書かれたスクリプトがあります。このスクリプトは、次の形式の位置データをテキスト ファイル (この場合は rtf ですが、.txt の場合もあります) に書き込みます。
0 0.0 471.2 0.0
1 0.0 470.5 0.0
2 0.0 468.8 0.0
3 0.0 465.9 0.0
4 0.0 461.9 0.0
5 0.0 456.8 0.0
6 0.0 450.5 0.0
7 0.0 443.2 0.0
8 0.0 434.8 0.0
9 0.0 425.2 0.0
フレーム、X、Y、Z。
次に、この位置データを次の形式に変換する必要があります。
Transform Position
Frame X pixels Y pixels Z pixels
0 0.0 471.2 0.0
1 0.0 470.5 0.0
2 0.0 468.8 0.0
End of Keyframe Data
ここでは実際には表示されませんが、ここにはスペースがありません。すべてがタブで区切られています (実際にタブを表示するには、それをメモ帳にコピーしてください)。すべての数字の間にタブを入れることが重要です。スペースを入れることはできますが、常に 1 つのタブ文字が必要です。したがって、最も重要な部分は、最初のデータセットからこれらの数値を取得し、プログラムにすべての数値の間に \t を追加させるにはどうすればよいかということです。
スクリプト内でこれを実行しようとしましたが、位置の間にいくつかのスペースではなくタブを使用すると、スクリプトが失敗します。かなり検索しましたが、これに対する良い解決策が見つかりませんでした。私は C++ と小さなバッチ スクリプトに精通していますが、別の言語の基本を学ばなければならない場合でも、すべてのソリューションに満足しています。
私は C++ で方法を見つけようとしましたが、思いついた方法では n 行をフォーマットできず、すべてが複雑になりました。フレーム/ラインの数は毎回変わるので、ライン数が固定されることはありません。