T3D Potential Uses
by Demolishun · in Torque 3D Professional · 12/09/2012 (3:45 pm) · 11 replies
I just had an interesting conversation while trying to use a Sound Visualization program for Windows 7. The program is definitely Alpha/Beta. I got to talking to the developer on IRC about the program. I told him about T3D and how it went MIT. However, he was very interested with the Python bindings.
This got me to thinking about how T3D could be used outside of just gaming. It seems to me that T3D is definitely a potential platform for just 3D effects, even a screensaver. The capabilities of the shader portion, the sound, the 3D, the 2D, etc. All these would be excellent tools for doing some really cool scripted visuals. So using as a Vue Meter would be really interesting. It certainly would not be hard to get it to play media via libraries or even embedding a media player behind the scenes. Then the stream could be filtered with a FFT or something to get frequency info.
So, I think there could be some value for doing some simple utility type programs with the engine. It certainly would expand the user base and code contributors. I think I may hit up the author of this other software and evaluate the license. If it is compatible perhaps I can get some of the awesome effects his program supports ported to T3D. Who knows?
This got me to thinking about how T3D could be used outside of just gaming. It seems to me that T3D is definitely a potential platform for just 3D effects, even a screensaver. The capabilities of the shader portion, the sound, the 3D, the 2D, etc. All these would be excellent tools for doing some really cool scripted visuals. So using as a Vue Meter would be really interesting. It certainly would not be hard to get it to play media via libraries or even embedding a media player behind the scenes. Then the stream could be filtered with a FFT or something to get frequency info.
So, I think there could be some value for doing some simple utility type programs with the engine. It certainly would expand the user base and code contributors. I think I may hit up the author of this other software and evaluate the license. If it is compatible perhaps I can get some of the awesome effects his program supports ported to T3D. Who knows?
About the author
I love programming, I love programming things that go click, whirr, boom. For organized T3D Links visit: http://demolishun.com/?page_id=67
#2
What I wanted to do was capture the output stream of currently playing media and do some visuals. Their program looks like it should do that, but I cannot get it to run properly. Perhaps if I can add the ability to capture the output stream that T3D could be tweaked to do this. What would be cool is to have a way to capture the audio, then tweak the game currently being played to react to the sound. So even if people listen to their own music during game play it can be "synced" in a way to the game. This could be a to personalize a game for the end user in a unique way. Hmmmm... This could be a really cool thing.
12/09/2012 (4:56 pm)
I just checked on the licensing and it is currently GPL. Not sure this will be a good fit if they need to keep the code GPL.What I wanted to do was capture the output stream of currently playing media and do some visuals. Their program looks like it should do that, but I cannot get it to run properly. Perhaps if I can add the ability to capture the output stream that T3D could be tweaked to do this. What would be cool is to have a way to capture the audio, then tweak the game currently being played to react to the sound. So even if people listen to their own music during game play it can be "synced" in a way to the game. This could be a to personalize a game for the end user in a unique way. Hmmmm... This could be a really cool thing.
#3
blogs.msdn.com/b/matthew_van_eerde/archive/2008/12/16/sample-wasapi-loopback-cap...
This would allow monitoring the sound stream for tweaking visuals in T3D. Quick question, where would this go? I know the main loop for T3D is updated like every 63mS? That may not be fast enough to to respond to music events like this. Does this need to be in a separate thread?
Hmmm, this might be a little more complicated. Maybe I can find a spot in a render loop or something.
Oh, and if the OS is not Windows Vista and up you can fall back to a hardware loopback device. If not then just ignore the feature. Just like a graphics card feature I guess.
12/09/2012 (9:41 pm)
Ooh I found some loopback code for Windows Vista and up!blogs.msdn.com/b/matthew_van_eerde/archive/2008/12/16/sample-wasapi-loopback-cap...
This would allow monitoring the sound stream for tweaking visuals in T3D. Quick question, where would this go? I know the main loop for T3D is updated like every 63mS? That may not be fast enough to to respond to music events like this. Does this need to be in a separate thread?
Hmmm, this might be a little more complicated. Maybe I can find a spot in a render loop or something.
Oh, and if the OS is not Windows Vista and up you can fall back to a hardware loopback device. If not then just ignore the feature. Just like a graphics card feature I guess.
#4
Also MeshLoop is an artist 3D-to-2D tool created in T3D.
But this isn't so much about changing how T3D is used it's rather using it in an alternative way.
I could maybe see T3D as an audio visualization tool however it would have to be stripped down so you don't have alot of unnecessary features taking up memory.
12/09/2012 (11:14 pm)
Not sure if this qualifies, but I created an interface between T3D and my IPS-AT(IPS Authoring Tool) so I could use T3D for a 3d preview window.Also MeshLoop is an artist 3D-to-2D tool created in T3D.
But this isn't so much about changing how T3D is used it's rather using it in an alternative way.
I could maybe see T3D as an audio visualization tool however it would have to be stripped down so you don't have alot of unnecessary features taking up memory.
#5
12/10/2012 (10:02 am)
From what I can tell most of the features can be turned on/off in script. This was evident to me when Guy made a really short Python program to start T3D. It loaded in like 2 or 3 seconds up to a basic canvas with some text on it. So though it may look like it takes up a lot, I think a lot of the overhead can be removed with some careful scripting.Quote:But this isn't so much about changing how T3D is used it's rather using it in an alternative way.It is either too early in the morning or I just don't see what this is supposed to mean.
#6
There is another project of mine that was done on a codebase before the T3D release that I called PEPE: Projectile, Explosion, and Particle Editor. It was intended to be a standalone tool for creating those effects but was abandoned once the particle editor and the datablock editor were rolled into the tools... although I've had thoughts of revisiting it.
A couple years back I was on a architectural walkthrough project that allowed the client to redecorate and paint the interiors. First and second prototype was in T3D, but that project ended up using Unity just because of the games-only disclaimer in the license at the time.
Emulating Bitgap's DTSviewer I have the workings of a standalone DIF To DAE convertor tool. It's had audio, networking, shapebase, physics, postfx, etc ripped out of it for a smaller, leaner codebase. Does nothing but let you load an Interior object from a file menu and rotate it for viewing, and of course the convert button.
At one point I had audio playback hooked up to a waveform scanner that would manipulate a custom GroundPlane. I would then drop physics objects onto it and watch them bounce to the music. Stupid silly, but fun!
Torque has always been flexible for things other than just games. It only requires some creativity and imagination to expand upon it's potential uses.
12/10/2012 (11:25 am)
I can read ebooks (CBR, EPUB, PDB, TXT) in one of my Torque 3D projects. Now if only I could get it to reflow the text when turning pages in a 3D book shape instead of using a GUI control....There is another project of mine that was done on a codebase before the T3D release that I called PEPE: Projectile, Explosion, and Particle Editor. It was intended to be a standalone tool for creating those effects but was abandoned once the particle editor and the datablock editor were rolled into the tools... although I've had thoughts of revisiting it.
A couple years back I was on a architectural walkthrough project that allowed the client to redecorate and paint the interiors. First and second prototype was in T3D, but that project ended up using Unity just because of the games-only disclaimer in the license at the time.
Emulating Bitgap's DTSviewer I have the workings of a standalone DIF To DAE convertor tool. It's had audio, networking, shapebase, physics, postfx, etc ripped out of it for a smaller, leaner codebase. Does nothing but let you load an Interior object from a file menu and rotate it for viewing, and of course the convert button.
At one point I had audio playback hooked up to a waveform scanner that would manipulate a custom GroundPlane. I would then drop physics objects onto it and watch them bounce to the music. Stupid silly, but fun!
Torque has always been flexible for things other than just games. It only requires some creativity and imagination to expand upon it's potential uses.
#7
12/10/2012 (11:37 am)
Quote:At one point I had audio playback hooked up to a waveform scanner that would manipulate a custom GroundPlane. I would then drop physics objects onto it and watch them bounce to the music. Stupid silly, but fun!I don't think this is stupid or silly. This would have the potential for being a great backdrop for a production or a party.
#8
12/10/2012 (12:19 pm)
Here's game idea with an unusual controller that's been floating in the back of my mind: Cello Fortress. Now that I've got a piezo pickup on my cello, just need to interface it with a MIDI controller and could possibly do something like it with Torque using FMOD.
#9
Although a midi device interface should be easy enough. It is just a serial interface.
Edit:
Ahhh, I am so lame. All you need is to get the midi to a serial port and have an app read the serial input and treat it like midi data. No midi driver needed. So an arduino could read in the midi data via some of its input pins and send the stream to the usb serial port. Then T3D could read the serial data and interpret the midi info in the stream.
12/10/2012 (12:48 pm)
Haha, I am doing a conversion of my kids dance pads with piezo pickups. I found a circuit to do piezo that maintains the analog variance of it and interfaces to an Xbox controller. This would be pretty much direct to the computer without midi. Just have it trigger button inputs. This could be done with an Arduino too. Ooh, Arduino has some midi firmware too. The trick is finding a midi driver that will treat a serial port as a midi source. If you can find that then your interfacing options are much better.Although a midi device interface should be easy enough. It is just a serial interface.
Edit:
Ahhh, I am so lame. All you need is to get the midi to a serial port and have an app read the serial input and treat it like midi data. No midi driver needed. So an arduino could read in the midi data via some of its input pins and send the stream to the usb serial port. Then T3D could read the serial data and interpret the midi info in the stream.
#10
12/10/2012 (1:11 pm)
The arduino would need a midi shield or just use some opto isolators on a custom board to talk to it. Midi interfaces are not very complicated.
#11
12/10/2012 (2:11 pm)
This whole thing got me thinking. What about creating an interactive band session game. Where you can connect anywhere in the world and feed midi data in to jam together. The main issue I see is this would have to use real time data transfer over the networking. It would have to be fast. Lag would not be acceptable. The good news is that midi data is very small!
Torque Owner Robert Fritzen
Phantom Games Development