マリオネット・スクリプト解説講座

第22回「マリオネットツール 2022」

ArchitectLandmarkSpotlightDesigner2022

この記事は【2022年1月25日】に公開されたもので、2年以上経過しています。
記事の内容が古くなっていたり、新機能の追加・機能の改善が図られていることがあります。

先日リリースされたVectorworks 2022に搭載されるマリオネットツールでは玄人向けのアップデートが適用されています。地味ながら作業効率がグンと向上する機能となっておりますのでぜひチェックしてください。

ビジュアルプログラミングであるマリオネットは、テキストベースの難しいコードを入力する必要がありません。設計者のようにプログラミングの専門家でなくてもプログラムを始めることができますし、プログラマーであってもノードを並べるだけでプログラムを組むことができるので、キーボードに触ることもなく作業が楽に済んだという場面もあります。

ただ、コードの入力がない反面、ノードを置いてワイヤーをつないで、またノードを置いてと、マウスやトラックパッドでのカーソル操作は非常に多いです。

また、プログラムのメンテナンスについてはどうでしょうか。やはりプログラムには「バグ」はつきものです。これはテキストベースであってもビジュアルプログラミングであっても同じです。プログラムがうまく動かないとき、意図した結果にならないとき、どこが悪いのか特定して対処することが求められます。

マリオネットツールのデバッグモードではワイヤーを流れる値を見ることができますが、とくにノードの数が増えてくると確認する場所も多くバグの原因特定には時間がかかります。

マリオネットツール2022では、マリオネットを使ってみると分かる「ちょっと困っている」ことに効果を発揮する機能が追加されました。

    • ワイヤーの双方向接続
    • ノード使用時間の表示
    • 無効ノードの設定
    • リスト吸収型ノードの可視化

今回は、バージョン2022で追加された4つの機能について解説します。

22-1. ワイヤーの双方向接続

ワイヤーの接続は、ノード右側に設置された出力ポートから、受け手側のノードの入力ポートに繋ぐ一方通行でした。2022では受け手側の入力ポートからもワイヤーの接続が可能になりました。

< 操作方法 >

1) 受け手側のノードを選択状態にします。

2) 入力ポートに表示されるコントロールポイントをクリックします。

3) 入力ポートからワイヤーが伸びます。接続したいノードの出力ポートの上にカーソルを合わせてクリックします。

4) ノード間がワイヤーで接続されました。

※右から左にワイヤーを継いだ場合でも、ワイヤー内のデータが流れる方向は左から右となります。

さらに、複数ワイヤーをまとめて移動することができるようになっています。これによってノードの置き直しでもワイヤーの操作は一回で済みます。

< 操作方法 >

1) 受け手側のノードを選択状態にします。

2) 送り手側の出力ポート上に表示されるコントロールポイントをクリックします。

3) 送り手側からワイヤーが切り離され、ワイヤーの始点(左側)を操作できる状態になります。このとき「mac:cmdキー」「win:ctrlキー」を押下すると、同じ出力ポートから伸びているワイヤーもカーソルに追従してきます。

4) cmd/ctrlキーを押したまま、改めて接続したいノードの出力ポート上でクリックします。ワイヤーの束が移動できました。

22-2. ノードの実行時間の計測

デバッグモードでプログラムを実行したとき、各ノードの下に実行時間が表示されるようになりました。

< 操作方法 >

1) ツールバーの設定ボタンからマリオネット設定ダイアログを開きます。

2) 実行時間を表示のチェックボックスにチェックを入れます。

3) デバッグモードでプログラムを実行します。ノードの下に実行時間が表示されます。

赤い数値がノードの実行時間です。緑の数値はノード実行までにネットワーク全体で消費した時間です。赤い数値が大きいノードが、プログラムの中で負荷の大きいノードであると判別できます。

パラメトリックデザインでは実行速度が重要です。マリオネットオブジェクトはパラメータの変更が直ちにオブジェクトの見た目に反映されますが、反映に待ち時間があるようではあまり効率的とは言えません。反映が遅くて使えないなと諦める前に、プログラムのメンテナンスで解決する可能性があります。

プログラムでは結果を得るためのノードの組み合わせにただ一つの正解はありません。例えば図形の座標や大きさ、移動量を計算するとき、たくさんの機能が詰め込まれた便利なノードを使用するより、必要なデータを絞って四則演算のノードを組み合わせて自分で計算する方が処理速度が速い場合があります。

それと、やはり2D多角形より3D多角形、3D多角形より3Dパス図形のように図形が複雑になるほど処理に時間がかかります。プログラムの目的を思い出してみて、2Dでも検討できそうな内容であれば思い切って図形を簡素化してみてください。検討が済んだら3Dのカッコイイ図形で仕上げるというやり方です。

実行速度やプログラムを組む手間を比較してバランスの良いものを採用するといいでしょう。

22-3. ノードの無効設定

ノードのオブジェクト情報パレットに「ノードを無効にする」チェックボックスが追加されました。

無効設定がオンになったノードは半透明になり、この部分のプログラムは実行されません。

この無効設定はワイヤーを切り離した場合と同じ結果となりますが、ワイヤーの操作がない分素早くON/OFFを切り替えることができます。マリオネットネットワークは左から右に順に実行される特徴から、無効に設定したノードより右側に繋がれたノードは実行されません。

プログラムがうまく動かないとき、複雑に処理を組み合わせたプログラムから原因を特定するのは困難です。後ろのノードから順々に無効設定を適用してプログラムをシンプル化することで原因を素早く特定することができます。

22-4 リスト吸収型ノードの可視化

リスト吸収型のノードは、名前が薄いグレーで表示されるようになりました。

「リスト吸収型」について解説します。
まずは「リスト吸収型」でない通常のノードの性質ですが、ノードはワイヤーを通じてデータを受け取ります。受け取ったデータの数だけ、ノードに定義された機能を繰り返し実行します。

例えば基準点をプロットする「Locus」ノードであれば、ワイヤーを通じて座標データを3つ受け取ったとき、3つの座標データをそれぞれ使用して3つの基準点を作成します。

これに対して「リスト吸収型」のノードは、ワイヤーを複数のデータが流れるとき、ひとつのデータリストとしてまとめて受け取ります。プログラム実行時にはこのデータのリストに対して1度だけノードの機能を実行します。

「addlist」ノードはリスト吸収型のノードです。複数の数値をすべて受け取って合算した値を出力します。

「リスト吸収型」のノードは入力データと出力データの数が違うことが多いため、そのあとのプログラムでデータの数が合わないなどのバグの原因となりやすいですが、ノード名の色で可視化されていればネットワークを俯瞰して見たときにデータの流れの変化を認識することができます。


今回は、期待された派手な新機能の実装はありませんでしたが、マリオネットを使えば使うほど恩恵を受けることができる作業ベースが整いました。強化されたマリオネットツール2022をぜひご活用ください。

この機能を利用できる製品

Architect

Vectorworks Architect

建築設計や内装、ディスプレイデザインに対応した先進的なBIM・インテリア設計支援機能、拡張機能、さらには豊富な建築向けのデータライブラリを搭載した建築/内装業界向け製品
詳細情報 購入ページ

Landmark

Vectorworks Landmark

地形モデルや多彩な植栽、灌水設備計画等に対応するランドスケープデザイン機能、さらには豊富な造園向けのデータライブラリを搭載した都市計画/造園業界向け製品
詳細情報 購入ページ

Spotlight

Vectorworks Spotlight

ステージプランニングやライティング計画に対応した先進的な舞台照明計画支援機能、さらには各種メーカー製のトラスや照明機材、音響機器等の豊富なデータライブラリを搭載したエンタテインメント業界向け製品
詳細情報 購入ページ

Designer

Vectorworks Design Suite

専門分野別(建築設計/ディスプレイデザイン、ランドスケープデザイン、ステージデザイン&スポットライトプランニング)の設計支援機能、拡張機能、さらには豊富なデータライブラリを搭載した最上位の製品
詳細情報 購入ページ