Cinema 4Dのプラグインを作成するうえで欠かせないのがパラメータ設定を行うインターフェイスの設定です.
ここでは.str, .h, .resファイルを用いた方法でインターフェイスを作成するための初歩的な備忘録として記しておきます.
sample.h
#ifndef _SAMPLE_H_
#define _SAMPLE_H_
enum
{
SAMPLE_1 = 1,
SAMPLE_2,
...
}
#endif
sample.str
STRINGTABLE SampleStringTable
{
Tsample "SampleStringTable";
SAMPLE_1 "Sample_1";
SAMPLE_2 "Sample_2";
ID "Name";
...
}
.resではパラメータの型やスライダなのか,プルダウンメニューなのかなどを設定する.ヘッダーファイルとストリングを定義しているので,後はCinema 4D SDKにならい必要なパラメータとして設定します.
パラメータはBUTTONやLONG,MATRIXなどの型を記述し,続いてIDを記述します.この時点でパラメータの初期値および最大値などを設定することもできます.
GROUPではCOLUMNを設定することで,複数列のコラムを作成できます.
CYCLEを使ってドロップダウンメニューを作成できる.複数のIDを階層内に記述します.
sample.res
CONTAINER Tsample
{
NAME Tsample;
INCLUDE Tbase; #タグベース Obase,Mbaseなどプラグインタイプにより変更可
GROUP ID_TAGPROPERTIES
{
BUTTON SAMPLE_1 { }
MATRIX SAMPLE_2 { }
SEPARATOR { SCALE_H; LINE; }
LONG ID
{
CYCLE
{
ID;
ID;
}
}
MATRIX ID { }
SEPARATOR { SCALE_H; LINE; }
BUTTON ID { }
LONG ID { MIN 1; MAX 1000; }
GROUP ID
{
COLUMNS 2;
ID { }
ID { }
}
}
}
上記のサンプルとパラメータは異なるが,BUTTON,MATRIX,GROUP,CYCLEなどを使うと次のようなGUIができる.パラメータは当然ながらほかにも沢山あります.タグプラグインとして作成したタグにパラメータを設定しました.