XPresso入門Part 1:Xpressoの基本操作方法
XPressoは細かい言語や文法を覚えることなく直感的に扱えるノードベースのプログラミング環境。主な機能としては、さまざまなパラメーター間の関係性を定義し、これにより仕組みを自動化したり、キーフレームアニメーションでは複雑になってしまうアニメーションをプログラミングでシンプルにコントロール可能になることが挙げられる。
またXPressoの利点として、一度組んだXPressoは保存して再利用できる。
基本用語
ノードの出力ポートと入力ポートをワイヤ(線)で結んでいくことでXPressoを組んでいく。ノードの青い四角形を入力ドッグ、赤い四角形を出力ドッグと呼ぶ。
※赤いボックスの下のポートは出力ポートで、値をXGroupまたは他のノードに送り出す。青いボックスの下のポートは入力ポートで、値を他のノードまたはXGroupから受け取る。
XGroup
- ヌルを新規作成。←ヌルである必然性はない。どんなオブジェクトであってもタグを適用可能。ただ、一般的にはヌルオブジェクトで管理することが多い。
- Xpressoタグを適用する(タグ>プログラミングタグ>Xpresso)
ビューポートにXpresso編集画面があらわれる。
- ヌルオブジェクトの名前を「Xpresso」とする(通常は自分が分かりやすい名前でOK)
Xpresso編集画面 Xpresso Editor
編集画面の左上に[Xマネージャ]と[Xプール X-Pool]がある。
Xマネージャ X-Manager
[Xマネージャ]は編集中のノード(自分で作成したノード群)を一括表示してくれる。
Xプール X-Pool
[Xプール]はC4DのXpressoノードライブラリになっている。すべてのXpressoノードが格納されている。
プロパティを開くとXpressoの機能の一覧となって表示される。ここからドラッグ&ドロップで編集画面に任意のノードを配置できる。例えば、下の例でいくと[ベクトル→実数]変換ノードは[System Operators>Xpresso>変換]にあって、使用したい場合は選択して編集画面にドラッグ&ドロップすれば良い。
また、同じことは編集画面上でも出来る。[編集画面上で右クリック>新規ノード>Xpresso>変換>ベクトル→実数]。
ノードが作成される。
ノードを削除する場合は、ノードを選択しDeleteで削除。
ノードの操作 1:20~
編集画面(エディタ)上でのノード作成
- エディタ上で[計算]ノードを作成する。[編集画面上で右クリック>新規ノード>Xpresso>計算>計算 Math]
計算ノードが作成された(デフォルトでは「計算;加算 Math;Add」)
ノードはドラッグして移動させたり、スケーリングできる。操作方法はC4Dの他のウィンドウ操作と同様。画面右上のアイコンでも移動とスケーリングは可能。
また、ノードは好きに変形できる(ノードの囲み線をドラッグ)。
ノード上で右クリックして[最適化 Optimize]を選択すると、表示が最適化される。
ポートを増やす、削除する
- ポートをダブルクリックすると、削除できる。
- ポートを追加する場合は、入力ドッグ(青い四角)もしくは出力ドッグ(赤い四角)でクリックすると、加えるポートの候補が表示されるので、選択する。
オブジェクトの利用
- オブジェクト(例では球体オブジェクトを作成)はオブジェクトマネージャから直接ドラッグ&ドロップでノードとして扱えるようになる。ライトやマテリアル等もノードとして扱える。
- 下の例はライトオブジェクトの入力ポートに[強度]を加えている。入力ドッグをクリックし、[一般>強度]と進んで選択して、入力ポートを加えている。※同じことはライトの属性マネージャから直接パラメータを入力ドッグにドラッグ&ドロップしても行える。
検索からノードを作成
Xプールの検索アイコンをクリックすると、検索窓があらわれる。ここからノードを検索し、目的のノードをエディタにドラッグ&ドロップすればよい。
ノードとノードをワイヤでつなぐ
- [定数 Constant]ノードを作成。[編集画面上で右クリック>新規ノード>Xpresso>一般>定数]。出力ポートのみのノードが出来た。
- [定数]ノードを選択状態にして、属性マネージャを見ると以下のようになっている。今回は[値 Value]を「5」とする。
- [計算]ノードを作成する(既にあればそれを使用)。[編集画面上で右クリック>新規ノード>Xpresso>計算>計算 Math]
- [計算]ノードの入力ポートをすべてで4つ作成。[演算タイプ]が「加算」になっていない場合は、属性マネージャで[演算タイプ]を「加算」に変更。
- [計算]ノードの出力ポートと[計算ノード]の入力ポートをワイヤで結ぶ。
- [計算]ノードを選択状態にして、属性マネージャで見る。[ノード]タブと[パラメータ]タブを表示。
いま、4つある入力ポートのうち、ひとつは[定数]ノードの出力値を利用しているので、3つの入力ポートが空いている。この空きポートには他のノードの値を入力値にしなくても、属性マネージャで直接入力は可能である。
- 今回はテストとして、それぞれの入力窓に「2」「3」「4」と入力してみる。
- [結果 Result]ノードを作成する。[編集画面上で右クリック>新規ノード>Xpresso>一般>結果]
- [計算]ノードの出力ポートと[結果]ノードの一番上の入力ポートをワイヤで結ぶ。結果ノードに計算された値の「14」が表示された(5+1+2+3+4)。
- [定数]ノードを複製([定数]ノードを「Ctrl+ドラッグ」)。属性マネージャで[値]を「6」とする。
- 複製した[定数ノード](値は6)の出力ポートと[計算]ノードの上のから3番目の入力ポートをワイヤで結ぶ。
属性マネージャを見ると、[パラメータ]の入力数が減ったのが分かる。また振られている番号も2,4である。
Xグループの作り方
いま、エディタで以下のようになっている。X-マネージャを見ると、編集画面のノードが一覧で表示されている。
- 「Mat」「ライト」「球体」を選択状態にして、右クリック。[XGroupに変換]を選択。
以下のようにXGoupが作成された。Xマネージャで確認すると、XGroupの中に、Xgroupが出来たのが分かる。
新しく作成したXGroupの名前を変更する。XマネージャでXGroupの上で右クリック。ポップアップ画面で名前を入力する。「Various Objects」とする。※エディタ上でXGroupを選択状態で、属性マネージャの[基本]タブに[名前]の項目があるので、そこで変更することも可能。
XGroupを選択状態で、属性マネージャの[基本]タブの[タイトルバーの色]で色を変更する。
Xpresso編集画面は以下のような表示になる。