見出し画像

vvvv Hello World

さて、前回のnoteでは、vvvvのインストールと、動作確認まで行いました。

今回は、何かしら動くものを作ってみましょう。

題材

基本図形を表示させつつ、将来的にインタラクティブに動かしたいということもあり、マウスを使って中の図形が動くものを作ってみます。

やってみます

まず、基本図形を表示させてみます。

vvvvを起動し、ダブルクリックして、Renderer (EX9) を置いてみます。

置くと、以下のように、真っ黒なウィンドウが出てきます。ここに何かの表示を行うわけですね。


ただ、今は別ウィンドウにせず、vvvvのウィンドウ内(どうやら「パッチ」と言うようですが)で表示させてみます。Rendererをクリックし、Alt+2キーを押すと、vvvvのパッチ内に表示用のエリアが移動します。

あとは表示したい部品を置いていくだけなのですが、Hello Worldということで四角いポリゴンを表示させましょう。
パッチの空きスペースでダブルクリックし Quad(DX9) を選択、Quadの出力端子(箱の下側にあるポッチが出力端子、逆に上側にあるポッチは入力端子ですね)と、Rendererの最左の入力端子をクリック→クリックでつなげてみます。

白い四角が表示されました。はじめての図形表示です。やったね!
ここまでで基本図形の表示ができるようになりました。

ここからは、マウスでのインタラクティブ操作をさせてみたいと思います。
Rendererは、描画領域上にマウスカーソルがある場合、その位置(x,y)を出力端子から得ることができます。試しに値を表示させてみましょう。
値を表示するには、パッチをダブル右クリックして配置した Value というボックスでできます。Valueボックスを2つ並べ、xとyをそれぞれ表示してみましょう。Rendererのxとyは出力の最左の2つです。

また、Valueボックスをミドルクリック(マウスの中ボタンでクリック)すると、接続している要素名が表示されます。

この数字、Renderer上の位置を示しているのですが、その値は±1の間の小数で表されます。Rendererの左下が(x, y)=(-1, -1)、右上が(x, y)=(+1,  +1)になります。xが横方向、yが縦方向を表します。

ということで、次はRendererをもう一つ追加し、1つ目のRendererで取得した(x, y)を使って、その数値の位置で2つ目のRendererに小さい四角を表示してみましょう。小さい四角は、Quadの縦横を0.1倍にしたものとしましょう。
他に使うボックスは、表示する要素のサイズを変更する Scale と、表示する位置を変更する Translate を配置します。具体的には、下図のように配置しました。

この配置にする前は、ScaleとTranslateの位置を逆にしていました。
「小さくしてから移動する」という感覚なら、ScaleしてTranslateする、という流れになると思うのですが、vvvvの場合、Quadに近いところから処理されるようで、 Translate → Scale → Quad の順で接続します。逆に接続するとどうなるか、確認してみるのも面白いです。

で、マウスをグリグリ動かしてみました。上側のRenderer上でマウスカーソルを動かすと、下側のRendererの小さい四角が追従して動いていることがわかります。

…よくよく見てみると、上側のRendererの左右端っこまでマウスを持っていっても、下側のRendererの左右の端っこまでは四角が移動していませんね。
これについては、次回対策してみたいと思います(Aspectが関係しています)。

まとめ

・Rendererに図形を表示してみました。
・マウスでインタラクティブに動かせるものを作ってみました。

Hello Worldとしては、こんなところではないでしょうか。
次回は、違う形や色付けについて何かしてみようと思います。

この記事が気に入ったらサポートをしてみませんか?