マリオネットツールには600以上のノードが搭載されています。図形を作図するもの、移動するもの、データを整理するもの、計算するものなど多種多様で、すべてのノードを記憶するのは不可能です。その中でも、マリオネットツール活用するうえで知っておいて損はないノードを10種類紹介します。
マリオネットでは、ひとつひとつ機能の異なる600以上のノードを組み合わせていろんなことができますが、目的に合うものを選んで使えば、無理にすべてを使う必要はありません。ただ、たまにノードの一覧を眺めていると新しい発見があります。私自身も「あのプログラム大変だったけど、このノードを使えば簡単にできたなあ」と思うことがしばしばあります。私がこれまでマリオネットを触ってきて、お気に入りのノードがいくつかありますので、
-
- よく使うノード
- 便利なノード
- 隠れた名作ノード
以上の観点でノード10選を紹介いたします。少々マニアックな内容ですが、きっと皆さんのヒントとなるはずです。
20-1. Series
プログラムの心臓として毎回使います。やはりプログラムといえば反復処理です。「Series」ノードは指定した要素数で数列のリストを作成することができます。
ノードは受け取ったリストの要素数だけ処理を繰り返す性質がありますので、Seriesノード以降に接続したネットワークで数列を使用した反復処理を実現できます。一般的なプログラムでいうところのforループに近い処理を実行したいときに使用します。
よくあるのは、図形を配列複製のように並べたいときに、配置する座標値を数列を用いて計算します。例えば、x方向に図形を10個並べる場合、1〜10の数列と複製間隔を掛け合わせることで座標を算出します。
または、ワークシートなどインデックス番号を指定して情報取得する時に使用します。数列を用いることで、連続したデータをまとめて取得することができます。例えば、ワークシートで行番号を数列で指定し、列番号を固定値で指定すると、指定した列のデータを取得できます。
20-2. Pass
何もしないことが、すべてを解決します。「Pass」ノードは入力されたデータに対して何も処理をせずにそのまま出力します。マリオネットネットワークの整理を目的としたノードです。具体的には次のような場面で出番があります。
-
- ワイヤーのスパゲッティ配線を解消する
- ラッパーノードの入力出力データを管理する
- 並列的に作成したネットワークを一つにつなげる
とくにラッパーノードでの活躍は意外なものかもしれません。ラッパー内で複数ポートを持つノードを使用すると不要なポートまでラッパーに表示されてしまいますが、Passノードで中継して名前を設定することで、好きなポートを設置することができます。
20-3. Objs by Crit
図形を取得するならこれ。自由度の高さと使いやすさを両立しています。「Objs by Crit」は検索条件を指定して、ヒットした図形のハンドルを取得するノードです。「図形選択マクロ」コマンドがノード化されたものです。
“Criteria configuration…”ボタンから検索条件ダイアログボックスを開き、直感的に条件を設定できます。とくに「選択されている」図形はマリオネットのメニューコマンドを作成するときによく使います。
20-4. Planar Boolean
え、これあったの?代表です。「Planar Boolean」ノードは、貼り合わせ、切り欠き、抜き取りを実行します。
貼り合わせ、切り欠き、抜き取りの処理は一般的に図形のブーリアン演算と呼ばれます。用語に馴染みがないので、ノードの名前を見てもピンとこずにずっとスルーしていました。
ブーリアン演算は図形を加工する上で重要な操作ですので、必ず抑えておきたいノードの一つです。このノードでは演算の種類をオブジェクト情報パレットのoperationフィールドで指定します。
-
- Add:貼り合わせ
- Subtract:切り欠き
- Intersect:抜き取り
20-5. Regular polygon
名前でピンとこないシリーズ第2弾です。「Regular polygon」は任意の辺の数の正多角形を作図するノードです。正多角形はデザイン的にも構造的にも安定した形状で、分野によらず活用される図形です。
正多角形を通常の多角形(Polygon 2D)で作図しようとすると、頂点座標を計算で求めるのが結構大変です。このノードは辺の数と半径を指定するだけで正多角形を簡単に作図することができます。操作が少なく済むので、私は「とりあえず面のある図形を作図したい」ときに使用しています。
20-6. Filter
マリオネットで条件分岐を実現します。「Filter」ノードは入力されたリストを、True/Falseのリストに従って振り分けます。別途「if」ノードが搭載されていますが、プログラムでいうところの”if”の処理に近いのは「Filter」ノードだと思います。
例として、図形の面積が基準値より大きいものだけ色付けする場合を考えてみます。図形のリストと、図形のサイズを判定したリストを「Filter」に渡して、TrueのリストであるlistTItemsポートの図形に対してのみ、塗り属性を設定します。
20-7. Attribute
マリオネットの可能性を感じるノードです。「Attribute」は入力した図形に属性を設定するノードですが、その設定方法が特殊です。Attributeノード自身のシンボルに設定された属性を使用します。
絵の具を溶かしたバケツに図形に潜らせると色がついて出てくるイメージで使用します。属性データ入力用のノードをこねこねするのではなく、属性パレットから直接設定するので直感的に操作できます。
20-8. add, sub, mul, div
基本的な四則演算のノードです。ノードの名前からはピンときませんがよく使うので覚えておくと便利です。
-
- add:足し算
- sub:引き算
- mul:掛け算
- div:割り算
データの計算もそうですが、図形の座標の計算でよく使います。例えば、四角形(Rectangle)は左下を基準に配置しますが、図形の中心で配置する場合に、割り算と引き算を使用して配置座標を調整します。
20-9. Locus
空間把握にはこれを使いましょう。「Locus」は指定した座標に基準点をプロットするノードです。基準点のシンプルな機能ですが、私は座標値のグラフィカルなデバッグツールとして使っています。
デバッグモードではワイヤーを流れる値を確認することができます。図形のサイズを示す実数値や名称などの文字列のデータはここで十分に確認できます。座標値も同様にタプル表示で確認することができますが、値だけ見て図面上のどの位置なのかイメージするのは難しいです。
座標値のデータをLocusノードに渡すことで実際に図面上にプロットして座標値が示す位置を可視化することができます。
-
- 座標がずれていた
- x座標とz座標が逆だった
- y座標が負の方向になっていた
- 値のオーダーが小さかった
実際にプロットすると、間違いがよくわかります。間違ったまま作り込んでいくとあとで修正が大変ですので、座標のデータを扱うたびに、とりあえずLocusで確認しましょう。
20-10. Any
なんでもできるが故に、扱いが難しいノードです。「Any」ノードは”eval”フィールドに入力された文字列をPythonのコードに変換して、プログラムで使用できる値として認識します。つまり狭いフィールドに簡単なプログラムを書けるノードです。
一番使うのは数列のリスト入力です。例えば1〜10の数列であればフィールドに”[1,2,3,4,5,6,7,8,9,10]”と入力するだけですのでSeriesより断然速いです。
ただし、Pythonの文法を守る必要がありますので”[“や”,”を忘れると認識してもらえません。Pythonの文法を理解している場合は強力に使用できます。
マリオネットでは標準のノードではできないことをやる場合はノードのカスタマイズが必要になりますが、コード1行で済む内容ならAnyでいいかもしれません。
-
- ファイル選択ダイアログ開いてファイルパスの文字列を作成する
vs.GetFile()
-
- Vectorworksのメニューコマンドを呼び出す(例:ビューを斜め右に設定)
vs.DoMenuTextByName('Standard Views',8)
この機能を利用できる製品
Vectorworks Architect建築設計や内装、ディスプレイデザインに対応した先進的なBIM・インテリア設計支援機能、拡張機能、さらには豊富な建築向けのデータライブラリを搭載した建築/内装業界向け製品 |
|
Vectorworks Landmark地形モデルや多彩な植栽、灌水設備計画等に対応するランドスケープデザイン機能、さらには豊富な造園向けのデータライブラリを搭載した都市計画/造園業界向け製品 |
|
Vectorworks Spotlightステージプランニングやライティング計画に対応した先進的な舞台照明計画支援機能、さらには各種メーカー製のトラスや照明機材、音響機器等の豊富なデータライブラリを搭載したエンタテインメント業界向け製品 |
|
Vectorworks Design Suite専門分野別(建築設計/ディスプレイデザイン、ランドスケープデザイン、ステージデザイン&スポットライトプランニング)の設計支援機能、拡張機能、さらには豊富なデータライブラリを搭載した最上位の製品 |