QuartzComposer

QuartzComposerでKaossPad KP3の入力を取得する

   

Quartz Composerでやってみたかったことの一つをやってみました。
マウスの取得で、画面に数値と文字の出し方はわかっていたので、わりとあっさり出来ました。

KORG USB-MIDI Driver for Macintoshをまずはインストール。USBケーブル経由でKP3からMIDI信号を取得できるようにします。

あとはMIDI信号を受信するためのMIDI Controllers Receiverパッチを使用。
Effect Control 1がタッチパッドのX方向で、0〜1の値を返す(左端が0、右端が1)。
Effect Control 2がタッチパッドのY方向で、0〜1の値を返す(下端が0、上端が1)。
Effect 3 DepthがLevelフェーダーで、0〜1の値を返す(下端が0、上端が1)。

という感じ。

あとはString Printerパッチで改行を入れる方法がわからず、ちょっと悩んだんだけど、この画面(String PrinterのSetting)でCtrl + Enterを押すと改行が入れられることを発見。

2

以下、ソースコード。

3

「KP3_MIDI_ex.qtz」をダウンロード

| | コメント (3) | トラックバック (0)

QuartzComposerでマウス座標の取得

   

マウス座標を取得して、画面に文字列で描画するサンプルを作ってみました。

今回初めて使ってみたパッチは、Number Formatter。
これで、マウスのX座標、Y座標を整数部2ケタ、小数部3ケタのフォーマットに。

4

これで整理した座標の数字を、String  Printerパッチで、画面に表示しているX:??? Y:???という形式の文字列に。
String Printerは、C言語、PHPで言えば、sprintfみたいなやつ。


5

ソースが以下。今回はだいぶ横長。

2

「Mouse_ex.qtz」をダウンロード


| | コメント (0) | トラックバック (0)

QuartzComposerの文字列関連のパッチ

10
文字列関連の処理をするパッチについて調べてみました。

Stringで検索して表示されたパッチの機能は以下の通り。

-- Generator --

・Image With String
 文字列をイメージにレンダリングする

-- Modifier --

・String Component
 セパレータ文字列で文字列をセパレートして分解する

・String Printer
 テンプレートから文字列を生成する

・String Replace
 特定の文字列を置換する

・String Scanner
 文字列が使用しているテンプレートから、引数を抽出する

・String Subrange
 文字列から部分文字列を抽出する

・String Truncate
 文字数、単語、文節で文字列を切り捨てる

-- Tool --

・String Compare
 文字列比較

・String Length
 文字列の長さを取得

・String MD5
 文字列からMD5ハッシュを生成する

なるほど。

| | コメント (0) | トラックバック (0)

QuartzComposerでの爆発表現

   

例によって、サンプルのExplosive.qtzをちょっと変えてみたモノ。

これもParticle Systemパッチの一発モノで、パーティクルの場合とほぼ違いはないのだけど、

唯一違うポイントはParticle SystemパッチのStart Up Delayの設定。
この値が0.1とかなり小さい値に設定されている。

7

Start Up Delayプロパティの意味がよくわからなかったので、解説の英文を日本語訳してみました。

The Start up delay defines the duration in seconds during which all the particles are initially created when the system starts.

Set the delay to 0 to create an explosive start or to a bigger value to create a smoother start.

Setting this delay to a value smaller than particles lifetime will make the particles flow appear discontinuous.

----

start up delayはシステムが開始した時、全てのパーティクルが初期化作成される間の秒数を宣言する。

爆発の開始を作成するにはdelayを0にセットし、スムーズな開始を作成するには大きい値をセットしてください。

このdelayの値をparticle lifetimeより小さくすると、パーティクルの流れは断続的になる。

なるほど。

つまりパーティクルが256個あったら、この値が0.1なら0.1秒の間に256個作成する。
2なら、2秒の間に256個作成。

爆発のようなものを表現するなら、一気にパーティクルが作成されている必要があるから0.1に設定されている。

ということのようだ。
ふむふむ、そうか。

9

「Explosive_ex.zip」をダウンロード

| | コメント (1) | トラックバック (0)

QuartzComposerでblob表現

   

これも例によってサンプルのblob.qtzを自分なりに変えてみたもの。

動きをLFOによるサイン波に。

これもParticle Systemパッチを使った物で、パーティクルの場合と少ししか処理に違いは無い。

違うところは、
X Min Velocity
X Mac Velocity
Y Min Velocity
Y Mac Velocity
の値がすべて0に設定され、パーティクルの個々のオブジェクトが動かないようになっている点 (水色の枠線内)。

6_2
「Blob_ex.zip」をダウンロード

| | コメント (3) | トラックバック (0)

zugakousaku.comのQuartz Composer情報が素晴らしい

このQuartz Composerのサンプル動画、YouTubeでよく見かけるQuartz Composer動画で、ヨーロッパの人かアメリカ人が作ったモノかと思ってました。

そしたらなんと、ついさっき教えて貰いましたが(笑)日本の人だったんですね。

http://www.zugakousaku.com/

うーむ、Quartz Composerのサンプルのレベルが高すぎる。

http://www.zugakousaku.com/index.php?ref=study-quartz-jp

素晴らしい。

| | コメント (0) | トラックバック (0)

QuartzComposerでのパーティクル表現

これも、サンプルをちょっと変えてみた程度のものですが。

サンプルに入ってるParticle System.qtzを学習のために解析。

ちょっと自分なりにイメージを差し替えてみました。

陰陽道の太陰太極図に。

このサンプルのポイントは、Particle Systemパッチのプロパティ設定の、
X Min Velocity
X Mac Velocity
Y Min Velocity
Y Mac Velocity
の値 (水色の枠線内)。

これが、-1 〜 1 と設定されているので、パーティクルの一つ一つのオブジェクトが移動しながら消えていく映像になっているわけですね。

このパーティクルの一つ一つの表示される時間の長さが、
LifeTime (紫の枠線内)。

6

「ParticleSystem_Ex.qtz.zip」をダウンロード

| | コメント (2) | トラックバック (0)

QuartzComposerのTriangle Tileパッチを使ったサンプル

   

を作ってみました。
Cells.qtzのBackGroundの処理とほぼ同じ。パラメータと元にしている画像が異なる程度。

Triangle Tileは、与えられた画像を三角形にマップしてタイル上に敷き詰める。
Triangle Tileは無限長の画像を返す。

これだと画面に表示できないので、表示するには出力されるImageを、Image Cropに通す必要がある。
Image Cropは、画像のある範囲を四角形に切り取る処理を行う。
なので、このような順番でパッチ処理がされているようだ(ソース参照)。

なるほどね。

ちなみにこの映像、処理の大元の画像は、こんな和風でうまそうな画像なんですけど(笑

P1030774

これが、こんなビデオドラッグっぽい映像に変わってしまうのが、なんだか笑える(笑

ソースは以下。

5_2

「triangle_tile.zip」をダウンロード

| | コメント (0) | トラックバック (0)

QuartzComposerのHue Adjustパッチを使った単純サンプルを作ってみた

こんな感じで色が変化すると。

Hue Adjustは、文字通り「色(Hue)を調整(Adjust)」するパッチ。

なるほど。

ソースコードとプロジェクトファイルが以下。

5
「HueAdjust.zip」をダウンロード

| | コメント (0) | トラックバック (0)

QuartzComposerでReplicate in Spaceを使ってみる

Quartz Composerのサンプル、Cells.qtzの前景部分で使われている処理を解析して、ほぼ同じですが自分なりに作ってみました。

で、出来た物が上のムービー。

どうにもこうにも、どうなっているのか、なかなか解らなかったのですが。

Replicate in Spaceパッチは、同じ物を何個もコピーして表示するパッチです。
6

なので、このReplicate in Spaceパッチをダブルクリックすると、画面に表示されている白い板の一つを表示しているパッチ群が表示されます。

5
こっちの板きれのほうは、Cells.qtzからまるまるコピー。

Replicate in Spaceパッチは、その中に表示するオブジェクトを設定しないと、画面になにも表示されないということが、なかなかわかりませんでした。

こうすればよかったのかと、わかって良かったです。

ソースが以下。

「replicate_in_space.zip」をダウンロード

| | コメント (0) | トラックバック (0)