by greg » Tue Sep 27, 2011 5:56 pm
Here are two multi-touch examples for Build 15820 and later. One uses Panel components, the other is based on 3D renders with the Render Pick DAT.
The tab "2D Panel" is a set of 2D panel components that can be operated with this constraint: one finger per gadget. A gadget in this example is a Slider or Button (flag and radio buttons) component.
The tab "3D Render Pick" allows for multiple simultaneous fingers in one Container component whose background is the output of a Render TOP. This is much more open. The multi-touch table in /multitouch_env/multitouch is routed to a Render Pick DAT in /multitouch_env/scene/scene. The Render Pick DAT looks at the Render TOP and outputs a table containing which object each finger is touching, and where. The result drives expressions that color objects and turn on objects for display.
And with a DAT Execute DAT, you can run a script for each object your fingers are touching, with plenty of info at your disposal, like UV 3D texture coordinate, 3D depth, etc.
This example .toe file has only one Multi Touch In DAT, which presently can only drive one panel at a time. This is why this example passes a panel's path to the multitouch component, and it outputs u, v, x and y values for each finger relative to that panel.
Another approach would be to put a Multi Touch In DAT for every panel you want to be operated by touch interfaces.
The strip on the left simply exposes the choices of input devices. "virtual" would be a stream of vclick commands coming from another computer for example. Let me know if you want to see an example of that.
You would have to customize TouchOSC and mrmr for the specific OSC data coming from those iPad/iPhone programs.
These are basic features of multi-touch in 077, where you would have to add your own logic of gestures etc, but the fundamentals are there to build upon. Eventually Derivative will add in more automated embedded support for multi-touch.
- Attachments
-
MultiTouch.581.toe
- (147.18 KiB) Downloaded 271 times