SamplePluginプロジェクトでは、 ToyStudioの全般的なデータについての入出力を行っています。 このプロジェクトのソース コードを参照することで、 プラグインの具体的な作成方法が一通り理解できるようになっています。 以下のデータ項目に対応しています。
- マテリアル関係
- 名前、カラー、拡散光、環境光、自己発光、不透明度、反射光、反射の強さ
- 現在のマテリアル
- アニメーション関係
- 名前、フレーム レート、現在のフレーム、最初のフレーム、最後のフレーム
- 現在のアニメーション
- オブジェクト関係
- タイプ、名前、オイラー角の順序、移動、回転、スケール、せん断
- スキンのバインド時変換行列
- ボーンのバインド時変換行列
- バインド ポーズ
- 頂点関係
- 三次元座標値、ボーン インデックス、ボーン ウェイト
- 面関係
- マテリアル参照、頂点参照、フラット シェーディング フラグ、UV座標値
SamplePluginプロジェクトでは、 「.txt1」と「.txt2」の2種類のファイルのインポート、 エクスポートを行っています。 ファイルは階層化された可読性の高いテキスト形式になっており、 ユーザー独自のファイル フォーマットの雛形としても利用しやすいものになっています。
- インポート
- テキスト ファイル1 (*.txt1)
- テキスト ファイル2 (*.txt2)
- エクスポート
- テキスト ファイル1 (*.txt1)
- テキスト ファイル2 (*.txt2)
「.txt1」と「.txt2」とでは、アニメーションの保存形式のみが異なります。
「.txt1」では、 アニメーション アイテム(CTaAnimItem)のキー フレームのリストをそのままファイルに入出力しています。
「.txt2」では、 出力時にアニメーションを一定のフレーム間隔におけるオブジェクトの変換行列のリストに変換し、 入力時にはオブジェクトの変換行列を姿勢パラメータに変換しています。
開発ツールの下位互換性を考慮し、 Visual C++ 6.0 SP5、Visual Studio .NET 2002 SP1用のプロジェクト ファイルが添付されています。 より新しい開発ツールでプロジェクト ファイルを開くと自動的に新しい形式に変換されます。 デバッグ実行用の
「コマンド」、「作業ディレクトリ」の設定は入力する必要があります。
Visual Studio 2005以降を使用する場合は、 以下のようにプロジェクトの「for ループ スコープの強制準拠」を「いいえ」に設定する必要があります。
サンプル用のソース コードとしてシンプルなものにするため、 C言語のライブラリ関数は基本的なものを使用しており、 エラー チェックなどは省略されています。