2010年12月04日
Quartz Composer「Queue」 @ Mac
気が向いた時に、Tipsって程でもないけど、Quartz Composerに関する事を少し書こうと思います。
最初のネタとして何にしようか少し悩みましたが、初歩的な事はあちこちにあるので、いきなり「Queue」です。
「Queue」は、意味的には辞書を引くと「順番待ちの列」って事ですが、まさにそんな感じのパッチです。
インプットパラメータのValueに入れた値を、Queue Sizeで指定した個数分だけ、保持して、Structure型として出力してくれます。値は、FillingがTrueの時に取り込まれます。また、Reset SignalがTrueに成ると中身は一度空に成ります。
わかりやすい例として、Audio Inputを使って、音量のピークを視覚的に表示してみます。
まずは、Audio Inputパッチを使って、Volume PeakをQueueパッチのValueへ繋ぎます。そのまま繋いだのでは、値が小さいので、Mathパッチで10倍くらいにしています。Queue Sizeに関しては、大きめの方が波形表示したみたいになるので、200位にしています。もっと大きくしても良いと思いますが、環境に依っては重くなるかもしれません。
Queueパッチの内容を表示する為にIteratorパッチを使います。予めIteratorパッチの中にStructure Index Memberパッチを配置して、インプットパラメータのStructureをパブリッシュしておきます。パブリッシュする事で、親のIteratorパッチのインプットしてStructureが表示されるので、Queueパッチの出力から繋ぎます。
また、表示用にSpriteパッチを使い、表示する位置は、Iterator Variablesパッチを使ってCurrent IndexとIterationsの値をMathパッチで加工してSpriteのX Positionへ入れています。こうする事でインデックスに応じて位置をずらしています。Spriteの幅も、Iterator VariablesパッチのIterationsの値に応じて変化するようにしています。Spriteの高さは、音量のピークを貯めてあるQueueパッチの出力を使用するので、Structure Index MemberパッチのIndexにIterator VariablesパッチのCurrent Indexを繋いで、インデックスに応じた値を取り出して、SpriteのHeightへ入れています。
後は、見た目が白いままだと寂しいので、HSL Colorパッチを使って、一つずつ色が変化するようにしています。方法としては、Iterator VariablesパッチのCurrent PositonをHSL ColorパッチのHueに繋ぎ、SaturationとLuminosityは0.5にしています。
主な構成としてはこんな感じです。説明を可成り端折っているので、初歩的なところが分かってないと理解出来ないかもしれませんが、比較的簡単に、こんな事が出来ると分かって貰えたのではないかと思います。(写真が三枚しか掲載出来ないシステムなので、画像を含めた説明としては実はこれが限界だったりします。)
Queueが保持出来るデータは必ずしも数字って事でもないので、VideoのImageを繋いで、色々遊べたりします。これはこれでなかなか面白いので、お試しあれ。ただ、そのままVideoに応用したので、イマイチなので、次に紹介するかも。
関連日記
- 2009年04月20日 Quartz ComposerでARToolKit (9291)@ Mac
- 2012年12月21日 ARアプリ開発の為のCamTwist活用方法(Unity+Vuforia編) (7457)@ iOS
- 2008年08月26日 OSCulator (7297)@ Mac
- 2008年11月08日 Quartz ComposerでOSC (6286)@ iPod touch
- 2013年08月22日 先の日曜日はA8D:1だった (5641)@ 雑
- 2010年12月24日 Kinectの実験、奥行き+顔認識 (5526)@ Mac
- 2009年04月19日 a tangible multi-touch interaction framework「reacTIVision」 (5442)@ Flash
- 2011年01月22日 Keynoteの画面にウェブカメラの映像 (5357)@ Mac
- 2014年09月30日 Quartz Composerのプラグイン作成でハマった事 (4932)@ Mac
- 2011年03月09日 MacBookでトリプルディスプレイ? (4400)@ Mac
- 2009年05月23日 昨日の勉強会で紹介したモノ (4382)@ Mac
- 2009年12月31日 2009年の日記閲覧数トップ10 (4329)@ 雑
- 2010年11月12日 PlayStation Eye (4195)@ ゲーム
- 2009年04月22日 reacTIVisionのMIDI設定 (4181)@ Mac
- 2010年12月23日 Kinectの実験 (4000)@ Mac
- 2011年03月28日 Quartz ComposerとKinect (3784)@ Mac
- 2010年12月20日 Quartz Composerでパーティクルのテスト (3706)@ Mac
- 2009年09月26日 mrmrとQuartz ComposerをOSCで繋ぐ (3688)@ Mac
- 2007年09月22日 明日の勉強会はQuartz Composer (3643)@ Mac
- 2007年09月06日 今度の勉強会はQuartz Composerかも (3569)@ Mac
- 2010年11月06日 Quartz Composer Visualizer (3495)@ Mac
- 2006年12月10日 DarwiinRemote 0.3がリリースされてました。 (3442)@ Mac
- 2008年11月29日 YouTube「はじめてのQuartz Composer」 (3429)@ Mac
- 2010年11月29日 光学迷彩 (3423)@ Mac
- 2010年06月18日 Quartz ComposerでTwitterのTLを表示して・・・ (3390)@ Mac
- 2007年10月17日 10.5のQuartz Composer (3376)@ Mac
- 2005年06月13日 Quartz Composer (3331)@ Mac
- 2008年09月10日 Quartz Composer Book (3306)@ Mac
- 2010年11月05日 OpenGL Shader Builder (3294)@ Mac
- 2010年08月16日 FLARToolKit確認用Quartz Composer (3216)@ Mac
アマゾン広告
この日記ページは閲覧数などの条件に応じて、閲覧制限を行っています。他からリンクしていただいても、そのリンクから辿った閲覧者が当ページの内容をご覧頂けない場合があります。ご了承下さい。