マリオネット解説講座

第4回「レイヤ追従型柱状体」

ArchitectLandmarkSpotlightDesigner

そろそろマリオネットの実践に移りましょう。
今回は、レイヤの高さに追従する柱状体を作成してみます。四角形や柱状体は初級コースですが、これにレイヤの高さが絡んでくると中級コースになります。

今回いろいろなノードが出てきますが、ノードの詳しい説明については、ノードを選択し、オブジェクト情報パレットの説明をクリックすると見ることができます。

4-1. 底面となる四角形の作成

柱状体のベースとなる四角形をつくるネットワークを組み立てます。
単に四角形をつくるだけでなく、挿入点が四角形の中心に来るように移動するところまで組み立てます。

4-1-1. 幅と高さから四角形を作成

四角形に必要なのは「幅」と「高さ」です。この入力フィールドから四角形を作成するノードにつなげるようにします。

  • 使用するノード
    • 入力関数初級Dim 2つ
    • 図形四角形Rectangle 1つ

それぞれのDimノードを選択し、オブジェクト情報パレットの名前に「1幅」「2奥行き」と入力し、Dimには「100」と入力します。これが初期値になります。

入力関数のノードに名前をつけると、オブジェクトに変換したときにオブジェクト情報パレットのパラメータとして表示できます。
さらに、名前に数字をつけることで、パラメータの順番を指定できます。
オブジェクトへの変換は最後に行います。

Rectangleノードの入力「nWidth」に1幅ノードを、入力「nHeight」に2奥行きノードを接続します。

これで任意の四角形を作成するネットワークができます。

4-1-2. 挿入点に四角形の中心を移動

基本的に図形の左下がオブジェクトの挿入点になります。しかし、柱などの用途になると、四角形の中心が挿入点になっていた方が、サイズ変更などのときに中心を基準として拡大・縮小されるので便利です。

考え方としては、4-1-1で作成した四角形を「幅の半分」「高さの半分」だけ「マイナス方向に」移動する、ということです。

  • 使用するノード
    • 入力関数初級Int 1つ
    • 数学関数基本計算div 2つ
    • 座標Point 2D 1つ
    • 操作Move 1つ

まずIntノードを選択し、オブジェクト情報パレットのIntegerに「-2」と入力します。この数値は固定なので、名前には何も入力しません。名前を入れてしまうと、オブジェクトに変換したときにオブジェクト情報パレットにパラメータとして表示されてしまいます。

次に、2つのdivノードそれぞれの入力「n1」に1幅ノードと2奥行きノードからつなぎます。divノードの入力「n2」にはIntノードをつなぎます。

このように、1つのノードから複数のポートに出力できるので、少ないノードをリユースしながらネットワークを組むことができます。

1幅ノードからつながったdivノードの出力「n」をPoint 2Dノードの入力「nX」につなぎます。
2奥行きノードからつながったdivノードの出力「n」をPoint 2Dノードの入力「nY」につなぎます。
これでPoint 2Dノードの出力が「幅と高さの半分だけマイナス方向」となります。(divノードでそれぞれのサイズを-2で割っているため)

あとは四角形を動かします。
Rectangleノードの出力「hRect」をMoveノードの入力「itemIn」に、Point 2Dノードの出力「p」をMoveノードの入力「vOffset」につなぎます。

「vOffset」は頭文字が「v」のため、基本的にはベクトルデータの入力が必要ですが、Moveノードは2Dまたは3Dの座標「p」のデータでも通ります。

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください