LoginSignup
0
2

More than 5 years have passed since last update.

[Cinema 4D] Pythonを使ったインターフェイス構築

Last updated at Posted at 2017-11-20

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ができる.パラメータは当然ながらほかにも沢山あります.タグプラグインとして作成したタグにパラメータを設定しました.

20171120.jpg

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2