I am currently constructing a sophisticated ui in flash, to be driven by vvvv fiducial tracking data, and running in two vvvv flash renderers.
I’m quite new to vvvv and used to develop in AS, and I think I’m just somewhat confused by the way the FiducialTracker node outputs the results and the way the renderer expects the data input.
Is there an elegant way to (ahem) simply pass all fiducial ids found along with their properties (x,y,orientation) to the flash renderers? Normally in AS i would use something like an array, maybe someone could point me to an appropriate patching approach.
Thanks a lot in advance for any hint,
if you are not really using anything of vvvv it may be easier for you to just use the fiducial software directly? they have the tuio simulator and flash samples on their webpage.
still it should be fairly easy to do this with vvvv too. but as i am not into flash i can’t further help here.
thanks for your quick reply. in fact vvvv makes it very easy to “moderate” all the different components of the setup - camera, 2 projectors, tracking, and flash UIs. Sure it would be possible to do it without, but the integration of all those elements into vvvv is very helpful.
Once I have the values in Flash I won’t have a problem anymore, it’s just that I don’t know yet the best way to pass the data from the FiducalTracker Node to the Renderer (Flash) node.
I understand the tracker outputs 4 different values, and the renderer expects one with variable names, and one with values … how to do the conversion (without limiting the number of tracked IDs) ?
a flash guru may help here.
but probably a Vector ($D Join) may help you to join the X, Y, Rotation, ID values together.
then you’ll need AsString (Value) to convert this spread (i.e. array) into a spread of strings to feed it into the flashrenderer…
And then I’ll have just a string of the numbers in the form “ID X Y Orientation ID X Y Orientation …” available in Flash… I’m going to try that, thanks!
heres a very helpful patch that includes a fla file. I found it extremely helpful
big thanks to whoever posted this file!
I managed to pass the data to flash (patch attached), but there is one remaining issue:
when a fiducial id is removed and so not longer tracked, flash still holds the last variable value for that fiducial. is there a way to overwrite the corresponding variable with 0 or null or something once an id is no longer tracked?
I wasn’t yet able to figure it out using the IOBox of vvvv…
thanks in advance,
milan.zip (538.4 kB)
does really noone have a clue?
I am missing a subpatch in your Feducial simulator… (feducial (DX9).v4p).
A bit off ‘extra’ vvvv code before your put the values in your flash renderer could fix everything ;)
edit: Okay, figured out you accept feducial nr. 5, 10 and 14.
Think you should add some code that counts the incomming string to Flash or something. or add an Extra ‘is active’ string to your renderer. No idea, this looks more like a Flash problem ;).
edit2: Ahh… you are using the Feducial Simulation from Kalles great Feducial Tutorial
I’ve done a similar thing sending data to flash but only with the colorTracker freeframe plugin. The colorTracker plugin gives out a 0 count for the blobs when nothing is being tracked. So in flash I watch this varible every frame and when it equals 0 I know the blob has dissapeared. When it => 0 I know we are active again.
It works now for me: I look every 15 frames in Flash if the incoming tracker value has changed to the value it had 15 frames before. If not, I remove the corresponding object.
Thanks to everyone again! VVVV does a great job as “tracking backend” for Flash interfaces.