2015年6月28日日曜日

vvvv 線A-B上を長さが決まった線C-Dが移動するパッチ

こんばんは。

vvvvでBoxなんかの頂点から頂点へ線を移動させたかったので、
その基礎技術(?)的なパッチを組んでみました。

線A-B上を長さが決まっている線C-Dが移動するパッチです。
[Move Line C-D]を動かすと線A-B上を線C-Dが移動します。
線C-Dの長さは、[C-D Line Length]に入力します。

むー、ベクトルの嵐・・・(汗
編み出すのにかなり時間がかかってしまった・・・(汗
もうちょっとスマートに出来る気もするが力不足でわかりません。

さらに、これを3点間を移動するにはどうするか・・・
同じような処理なのでスプレッドとかで解決できないか。
スプレッドについては、まだまだ理解が足りてないので、
次回の課題ですかね。

2pointMove.zip



◆覚えたこと
・Sノード、Rノードは値を送受信できるのでノードを整理するのに便利
・CameraはZキー、Oキー、Pキーを押しながら右もしくは左ドラッグで操作
・2点間を移動させるにはNormalize(3d Vector)で単位ベクトルを取得し、
2点間と移動点の比率をかけて(*ノード)やって、起点に加算(+ノード)すれば
求められるっぽい。

◆おもにつかったノード
+(Value)
-(Value)
*(Value)
S(Value)
R(Value)
Line(EX9 FromTo)
Distance(3d)
Switch(Value input)
>(Value)
Camera(Transform Softimage)
Normalize(3d Vector)

さて、つぎはBoxなんかの頂点を移動する線もしくは点のパッチを作ってみたいですな。
その前に2点ではなく、複数点上の線の移動パッチかな。

最近、やりたいことが紆余曲折ありながらも一つの形になるようになってきたので、
楽しくなってきた。vvvvいい感じ。


2015年6月18日木曜日

vvvv サイトキャプチャを作ってIngress Intel Mapのタイムラプスを作る

お疲れ様です。

vvvvでウェブサイトを定期的にリロードして画面をキャプチャするパッチを作ってみました。

HTMLCapture01.zip


ブラウザ画面は別ウィンドウで表示。
IngressのIntel Map を1分おきにリロードしキャプチャしてみる。
URLにキャプチャしたいURLを設定。InputScreenがONの状態で
ログインを実行し、キャプチャしたい場所に移動します。
キャプチャするときはInputScreenをOFFにしてStart CaptureをONにすると
1分おきにリロードが実行されキャプチャされていきます。

あー、そういえばキャプチャしたファイルの連番を0パディングするの忘れてた・・・。


リロードした後の画像キャプチャは1枚でいいので、
WriterのFPSは1で取得したいんですが、そうするとマップを調整するときの画面が
カクカクしてまともに操作できなくなってしまいます。
そんなわけでStart captureボタンが押されたらInputScreenボタンがONになったら
FPSを30にし、OFFになったら1にするようにしました。
他に良い方法がある気もするが・・・。



そんでもって取得した画像でPremiereProを使ってタイムラプスを作ってみました。



キャプチャする画面をすこしづつずらしたかったんですが、どうもうまくいかず
とりあえず画面を動かさないバージョンのパッチを公開することに。
KeyEventsとかMouseStatesあたりを使ってみたんですが、キーが押しっぱなしに
なったりとしてうまく制御できなかったですね。。。勉強不足。

だれかForkしてくれると幸いです。

flightradar24とかをキャプチャしてタイムラプス作っても面白いかもですね。


今回はvvvv向きではないかもしれませんがサイトキャプチャーを作ってみました。
vvvv。なんとなく使えるようになってきました。
そろそろvvvvらしい画像を生み出すパッチの製作にとりかからねば・・・。

◆使ったノード
HTML Texture(EX9.Texture URL)
Writer(EX9.Texture NRT)
Delay(Animation)
Mouse(Devices Desktop)
Cursor(DX9)
Mouse(Devices Desktop)
Keyboard(Devies Desktop)