GUI question

Hi there.

I’ve been poking around the tutorials and various youtube videos online in search of something similar to what I’m trying to build, hopefully someone here can let me know if it’s possible to use TD to build it. I need a GUI to control a mechanical triangulated mesh. I have a bunch of motors (servos) each of which drives a drawer slides (arranged in a triangular array) forward and back. The ends of the all of the drawer slides are attached to a single spandex sheet. The spandex is then backlit by LEDs that float a few inches behind the spandex.

What I’m hoping to build as the main window of the GUI is a 3D representation of the spandex sheet. I would need controls that would allow me to manipulate the color of each “cell” of the mesh, as well as moving each of the points on the mesh forward and back in space. Basically it’s a preview window.

The idea is that I would start with an imported audio track, and I’d build a series of overlapping animations that would occur in time to the music, hopefully in a timeline window with keyframes that I could adjust relatively easily, tweaking RGB values of LEDs and Z-depth values for the drawer slides (forward and back on the mesh).

I know I could probably build a 3D representation of the screen in TouchDesigner, but it seems that the things that are built in TD are designed to be projected as part of a visual display, not to be part of a GUI. Basically I need to be able to select and deselect individual triangular cells of the mesh, and then perform simple operations like “increase “red” value from (example) 50 to 60 starting at time “x” and ending at time “y””. Once the animation is set in the GUI, it has to be able to be sent to the Raspberry Pi that’s basically the brains of the mesh, so that it can dole out the instructions to the servos and the LEDS.

So there’s two big obstacles that I can see right now, one is that TD seems to be used for live manipulation of audio/visual elements, not so much for pre-programming. And the second is that the 3D objects built in TD aren’t really designed to be part of a GUI. There might be no way of selecting the individual cells of the mesh, since basically I’m hoping to use an object meant for projection like a button in a GUI.

It wouldn’t be the end of the world if I had to write some scripts to determine (for instance) when the cursor was inside a specific triangle so that I could select it in the GUI, but I’m not clear on whether TD supports something like that.

Thanks for any help you can offer!

I’ve used touch for a large number of UIs at this point that run the range of being real time performance tools to being programming UIs for playback. Which is to say that while many use cases might seem to point to touch as a tool for only visuals, it’s far from that at the end of the day.

You can always directly manipulate geometry, or open the model editor to do some of the manipulations you describe, or you might think about using a render pick DAT or CHOP to select instances - thinking here especially about changing colors.

Looking over render pick examples might answer some of your questions about using 3D UIs in touch. Also look at the arcball geometry and arcball camera in the palette - as those will allow you to zoom, tumble, and pan your scene while you’re programming.

Here’s a quick link to a render pick example tox:
github.com/raganmd/td_fb_forum_ … k_CHOP.tox

Also as reference: Whitevoid’s tool is built in Touch:
[url]https://www.derivative.ca/events/2015/kineticlights/[/url]

I think what you’re after is very achievable, it will just take some careful planning.