» jp.Propaganda
This site relies heavily on Javascript. You should enable it if you want the full experience. Learn more.

jp.Propaganda

English | Russian | Mandarin | Spanish | Spanish | Italian | French | Korean

This translation is outdated. Please consult the english version of this page for latest informations.

vvvvは多目的なツールキットです。
グラフィカルにプログラムを組み立てる開発環境です。
非営利目的の使用は無料です。

vvvvはオーディオ、ビデオ、3Dアニメーション、インターネットといったコンピュータで扱う一般的なメディアを使ったワクワクするような作品制作に適しています。前述のメディアコンテンツを作成・変換するのに加え、vvvvは様々な外部デバイスからの入力を受け取ったり出力を生成したりするのも得意です。以下にvvvvの主な能力や特徴を紹介しましょう:

ランタイムグラフィカルプログラミング

vvvvのツールはグラフィカルなプログラミング言語として提供されます。これはmaxpdreaktorsimulinkといったソフトウェアに良く似ています。個々の動作やファンクションはノード(nodes)として示されます。 ノードとノードがリンク(Links)すると線でつながります。修正は最低限のマウスクリックででき、パッチ(patch)と呼ばれる、データがノードから別のノードへパラメータとして渡される構造を作っていきます。スクリーンショット(Screenshots)を見て、実際にvvvvでどんなことができるのか見てみましょう。

多くのプログラミング言語はプログラムの作成と実行のモードがはっきり分かれていますが、vvvvにはたった一つ、ランタイム(runtime)モードしかありません。言い換えると、vvvvはパッチを編集している間も常に計算を行い、グラフィックの描画をしているのです。

安定性

vvvvは非常に安定していることを何年もの間示してきました。 While it still likes to vanish beneath ones mouseclicks randomly like any good software does it tends to stay up when it is up. ガッレリア(Galleria)にはvvvvによるたくさんの展示例が並んでいます。

スプレッドによってたくさんのオブジェクトを簡単に扱う

vvvvではユーザが面倒な苦労をせずに同時にたくさんのオブジェクト、グラフィック、データを扱うことができます。これは画像のようなグラフィック要素を扱う数が1個から100個になってもユーザーインタフェース上で簡単に変更できるということです。我々はこのテクニックをスプレッディング(spreading)と呼んでいます。

スプレッディングとは、ひとまとまりのオブジェクト群に対して異なる値を割り当てる行為を抽象化した表現です(「食卓を準備する」とは、いくつかの料理をテーブルの様々な場所に並べる、すなわち「スプレッディング」するというのが本来の意味であることに由来します)。vvvvにはスプレッドを生成する仕組みがたくさん用意されているので、膨大なオブジェクトのまとまりに対して複雑なふるまいを簡単にプログラムできます。

Spread of Jellyfish

ボーイグルーピング(クライアント/サーバー描画クラスターモード)

アプリケーションによっては、求められる出力やスクリーンの数に対応するため複数のPCが必要になる場合があります。そういった状況で全てのPCを個々に扱うのは非常にやっかいな処理となります。その代わりとして、たいていは(描画の)クライアント/サーバを用意することでクライアントコンピュータが何台あっても1台のサーバで便利にコントロールできるようになります。

vvvvにビルトインされているボーイグルーピング(boygrouping)テクニックがこれにあたり、それによってマルチ・スクリーンシステムやシームレスなマルチ・プロジェクションのセットアップができるようになります。ボーイグルーピングは描画のクラスターを作り、サーバで実行するノードとクライアントで実行するノードを個別に選ぶことができます。セットアップを最適化するために、ネットワーク経由で渡す必要があるのはどのデータで、全てのクライアントで個別に計算する方が良いのはどのデータなのかを手動でコントロールできる能力があります。魔法は使っていません。

Boygroup Setup

vvvvの拡張

vvvvは独自のノードを作りたい人のために数多くの方法を提供しています。プログラマー向けには、COMベースのプラグインインタフェース(plugin interface])があり、c#やf#、delphiやc++などの様々な言語で記述されたノードが利用できます。頂点シェーダーやピクセルシェーダーのノードはDirectX Effect frameworkをベースに作ることができます。ビデオフィルターとビデオ解析のノードはFreeFrame 1.0 standardがベースとして提供されています。VSTプラグインはオーディオのノードとして使われています。そしてもちろん、パッチ類は再利用可能なモジュール(modules)として用意されています。

3Dレンダリング

vvvvの3Dエンジンは、ハイパフォーマンスなコンピュータグラフィックス向けのDirect3D API(OpenGLに似ている)がベースになっています。最新のグラフィックカードの性能を使えば、これらのAPIがvvvvのようなアプリケーションでコンピュータゲームと同じような描画パフォーマンスを実現します。

ジオメトリ・データの作成と修正を行うノードのコレクションの他に、vvvvはたいていのメジャーな3Dモデリングソフトウェアから書き出し可能なXファイル(X file)とColladaファイルを読み込むことができます。Colladaファイルではvvvvにジオメトリのアニメーションデータをインポートでき、キャラクターやスケルトンのアニメーション、生成を行うプラグインノードのセットがあります。

任意のデータ、(ライブ)ビデオ入力、flashムービーやデスクトップのキャプチャからダイナミックにテクスチャを生成できます。

vvvvにはシンプルなHLSLベースのシェーダー(shader)エディタが付属しており、追加のツールがなくても頂点シェーダーやピクセルシェーダーの作成や修正が可能です。

Imported 3D model
Dynamically generated and shaded 3D geometry

アニメーション

vvvvにはスムーズなアニメーションの生成や、連続して入ってくる値のフィルタリングに特化したノードが数多く用意されています。連続的なイベントが要求される場面のためにvvvvは有限オートマトンを含んだタイムラインエディタを提供しています。
vvvvのタイムラインは、vvvvとは独立したスタンドアロンのバージョンも利用できます。詳しくはTimelinerSAを見てください。
vvvvのアニメーションに関する全ての情報はAnimationページにまとめられています。

ビデオトラッキングとエフェクト

vvvvのビデオエンジンはDirectShowがベースで、インストールされているコーデックに応じて様々なフォーマットのビデオを再生できます。また、一般的なWDMドライバ対応のビデオデバイスはvvvvでの使用がサポートされています。それはUSBカメラやDV/Firewireカメラ、アナログ又はデジタルキャプチャカードに当たります。
ビデオエフェクトとビデオ解析のノードは、freeframeプラグインの構成を通じて提供されるため、vvvvとは独立して開発することができます。これらのノードは、輪郭や色のトラッキング、動きやオブジェクトの検出といった異なるトラッキングテクニックを提供します。
vvvvのビデオに関する全ての情報はVideoページにまとめられています。
Video Tracking

オーディオ

vvvv固有のサウンドエンジンはDirectShowがベースで、かなり基礎的なものです。サウンドファイル(基本的にウィンドウズメディアプレイヤーで再生可能な全てのフォーマット)の再生や、簡単なストリームのFFT解析であれば何の問題もありませんが、その他の本格的なサウンド操作や生成には向いていません。
Bass関連のプラグインノードのセット(営利目的の使用は追加のライセンスが必要です!)はより万能で、複数のサウンドソースをミックスできるASIOがサポートされています。
vvvvのオーディオに関する全ての情報はAudioページにまとめられています。
FFT visualisation

物理シミュレーション

vvvvには3D物理エンジンのODE関連のノードのセットが含まれています。また、Box2Dエンジン関連のプラグインノードのセットもあります。どちらも剛体力学(摩擦係数付きの衝突判定)のシミュレーションに使うことができます。
Before
After

拡張デバイスやプロトコルによるインタフェース

vvvvには種類の異なる数多くのサードパーティ製デバイスをコントロールするノードがあります。それは、DVDプレーヤー、(照明や電子機器向けの)産業用インタフェース、タッチスクリーンモニタ、ゲームデバイス、ダイアル、スイッチ、姿勢・方位センサ、MIDI機器、DMXインタフェース、シリアルポートデバイス、キーボードと(同時に複数の)マウスなどが含まれます。

TCPUDPRS232といった一般的なローレベルのプロトコルによる他のコンピュータやソフトウェアとの通信に加えて、vvvvはより高度なMIDIDMXArtNetOSCHTTPIRCなどを経由した通信用のノードを提供します。

Lighting controlled with vvvv

人々がvvvvでどんなことをしているか実感するためにGalleriaをチェックしてはどうですか?その他の宣伝はTestimonials and Reviewsをどうぞ。

anonymous user login

Shoutbox

~56min ago

joreg: @xd_nitro: got it. see \girlpower\VL\Animation\MultiTouch for a little #vl example of doing this #vvvv

~18h ago

xd_nitro: will do Joreg. @cat - poss but can't move to 50 anyway.

~22h ago

catweasel: zoom-pan-rotate-touchgestures @XD_nitro, could VL do what you need?

~1d ago

joreg: @xd_nitro: from looking at that patch i don't really understand what it is doing: can you start a forumthread and specify your needs?

~1d ago

xd_nitro: oh it's a contribution not forum. doh! multitouch-stack-revived

~1d ago

xd_nitro: hey y'all - anyone up for doing some sponsored work on multitouch-stack-revived?

~2d ago

tonfilm: @all please update your VVVV.OpenVR pack, important bugfix: vvvv.openvr #htc #vive #oculus #rift #vr

~2d ago

~2d ago

id144: @joreg i'm not sure where to start with the requests, everything i know is wrong and yoghurt

~2d ago

joreg: only 5 requests but already 20 proposals for #node17 workshops. keep'em coming: node17-call-for-workshops #vvvv #vl #visualprogramming