電飾みたいに流れるように点灯していくパターン

電飾みたいに流れるように点灯していくパターン

 

イルミネーションの電飾のように、右から左へ光が流れていくようなパターンを作りました。

こんな感じです。

○単色ver.

 

○2色ver.

 

ただ単に「1色流す」っていうのは割と簡単に出来たのですが…

 

ベースの色は(20 0 245 )の青。ここにハーフぐらいの明るさの赤を流して、さらにはグリーンも追加で流したい…条件をたくさん付けていくと、複雑になってきました。

それで、出来上がったパッチがこちら。

スクリーンショット 2015-03-04 21.43.06
※クリックすると拡大できます。

左側の「Bace Color」という所で、ベースの色を選択。
色味も明るさも設定できる状態。

ここではcolor blast(LED)を5台使って試してるので、「P red × 5」〜と書いてあるサブパッチは、その分のアドレスをパッチしています。

「Accent Color 1」「Accent Color 2」で、流すアクセントになる色を選択。

あとは、スタートを押せば、シーンが再生されます。

 ちなみに、、流すのが1色(1パターン)でいい時は、gateをオフにして切り替えれるようにしてあります。

 

流す仕組みとしては…

counterオブジェクトと+オブジェクトを使ってます。

1つの灯体にしてRGBの3つのアドレスになっているので、

カウントに対して、+3 +2 +1 をしていく事で、灯体ごとのRGBをまとめています。

 

「*3」をしてるのは、試してる灯体5台のスタートアドレスが25からで、
① 25,26,27
②28,29,30

というように設定していて、最初のカウントが25から始まるように調整したためです。

アクセントのカラーが出力されたら、「アクセントのカラーを消す」という指示をどこかで出さないとそのカラーが残ったままになります。

それだと、アクセントのカラーが順番についていくだけでループしないので…

出力したら、「s Bace Color」でベースカラーにbangを送るようにしました。

そしたら、全にベースカラーが出力され、アクセントのカラーが消え、そしたらまた次のカウントで次の灯体のアクセントカラーが出力される、というループになりました。

 

最初はベースカラーを出力し続けさせるために、metroオブジェクトを使っていたのですが…
metroのカウントとcounterのカウントが被ってしまう時があり、1個飛ばしで流れる瞬間や、流れが止まってしまったように見える瞬間があり。。。

それで、send receiveオブジェクトで、ちゃんと順番に点いて消えるように作り直しました。

 

2色流す仕組み…

1色だけ流すっていうルールだったら、もっとシンプルなパッチになったかと思うけど…

この複数流すっていうのが、ちょっと難しかった。。

 

最初は単に2色目のアクセントカラーをdelayさせていけば…
と思いやってみたけど、結局ベースカラーのbangにアクセントカラーのbangが目にも見えない速度で消されてしまったり、そもそも機能しなくなったり、全然思う通りにならなかったので。。。

他の時間管理の方法として、timepointオブジェクトを使いました。

timepointはtransportによって、〜〜なので、delayよりは正確で分かりやすい。

でも、秒単位ではないので、なんか時間の間隔がよく分からない。。
あと、metroとの間隔にもよって時間が左右されてくるので、ちょうどいいバランスの数値を設定しないと2色のアクセントカラーのタイミングがかぶったりしちゃいます。
時間管理について、もっと正確で分かりやすいのがあったらもっと完成度あがるのに。。

という事で、今度Max for Liveを試してみようかと思います!