[ANN] myu Max-Unity Interoperability Toolkit v.1.0 Released
It is my great pleasure to announce immediate availability of the μ [myu] Max-Unity Interoperability Toolkit version 1.0. μ [myu] is designed to simplify communication between the Max/MSP/Jitter https://cycling74.com and Unity3D http://www.unity3d.com rapid prototyping environments. Utilizing the TCP network packets, μ [myu] allows for easy bi-directional control of Unity3D and Max/MSP/Jitter assets, as well as importing of dynamic Jitter textures into Unity3D scene. Apart from the Jitter-specific texture communication protocol, μ [myu] relies upon the netsend/netreceive framework, thus making it also compatible with Pure-Data http://www.pure-data.info.
Max/Msp/Jitter and Unity3D logos are trademarks of their respective owners.
WHY μ?
Max/MSP/Jitter and Pure-Data offer unprecedented flexibility in digital signal processing, particularly audio, as well as easy integration of external controllers and sensors, video, and 3D assets, while Unity3D is an advanced scalable and optimized 3D gaming engine with integrated intuitive scene editor and physics engine. By coupling their strengths μ [myu] aims to expand their rapid prototyping potential with minimal integration overhead.
μ [myu] was developed at DISIS http://disis.music.vt.edu and is available for download from the DISIS website http://disis.music.vt.edu/main/portfolio.html
For a YouTube tech demo please visit http://www.youtube.com/watch?v=137huPA9sto
A high-resolution video available at http://disis.music.vt.edu/main/portfolio.html
COPYRIGHT
μ [myu] copyright DISIS 2008.
This program is free software: you can redistribute it and/or modify it under the terms of the version 3 of the GNU General Public License as published by the Free Software Foundation.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
For additional info on the GNU General Public License see http://www.gnu.org/licenses/
Questions, Comments, and PR Contacts: ico@vt.edu
You are my hero! I had been fighting with this and had given up months ago.
This is fantastic! I will let you know how my trial goes once i get a chance to work with it.
Wow, I gotta say this is fantastic! I have used Unity3D on some
game titles and it is a great environment to work in. The thought
of having it integrated with Max has my mouth watering. I would
love to be able to do live visuals that tell the narrative of a
musical piece. Kinda of like a film score in reverse. Doing
this in Unity would be awesome. I am on Vista so I will have to
wait for 2.5, but I will definitely be giving this a try.
First... This is great, works wonderfully...
Thank you very much for including the JitRecieveTexture Alt... Along with Windows users comment in your help file, that change of file allows those of us with the Unity Indy License to use it as well
Have you noticed a substantial change in performance with using the non-plugin version, or is it tolerable?
Thank you all for your kind comments!
Regarding the alt texture mode, unfortunately it is considerably less efficient (although still useful) than the C plug-in version simply due to the way Unity3D deals with low-level texture processing inside C#. We had contacted Unity3D developers in hope they would expand their API to provide a more efficient way of addressing textures and although the particular developer we were in contact with agreed that there was room for improvement, as of right now we are not aware of any such changes in this area.
Hope this helps!
Best wishes,
Ico
Once again, many thanks all for your interest and kind words!
Finally got around to posting another video, this time showcasing [myu] in a real-world setting.
Part of the Revo:oveR collection, "elemental" is an interactive communal soundscape installation that premiered last November (2008) in Roanoke, VA (USA) as part of the grand opening of the Taubman Museum of Art. The exhibit ran non-stop for approximately 5 months and relied upon a bi-directional communication between Max/MSP/Jitter and Unity3d.
For those interested, a brief online preview of the exhibit can be found here: http://www.youtube.com/watch?v=PA-9BOgc1gk
Best wishes,
Ico
Ico,
I am having a blast working with this... getting some great results
I can't figure one thing out though... I have been able to send and recieve all sorts of data both to and from max... But I can't figure out how to send something like a onMouseDown/ onMouseUp to trigger something in max. I think it has something to do with the true false statement being sent. Right now the code is set to float, but I need to change to bool? Maybe? The code would have to be in the JitMessenger.cs code, right?
I don't speak C#, hahaha, and that might be part of the problem. Any help would be most appreciated.
Thanks for all your great work on this, I'll post an example game I'm working on as soon as I can get past these few thing I need to figure out.
Cheers
Glad to hear you found myu useful. I think you are right, we did not explicitly include bool data type as one could easily describe those in int/float terms as 0 and 1 with negligible increase in bandwidth overhead. So, I guess one way would be to translate those kinds of calls into 0 and 1 and then send them via myu.
Hope this helps!
Best wishes,
shouldn't this be in the jitter forum?
Interesting point. Although, if you ask me I'd say given that [myu] pertains to Max as a whole rather than just Jitter (even though it does provide some jitter-specific features) it may be more appropriate here.
Best wishes,
No actually, I think this is definitely appropriate for this
list. I am very interested in musical visualizations and
am very excited that Myu is available.
maybe just posting a link to this thread in the jitter forum would be nice, so that jitter users that dont check the max thread would find it.
Im about to try it out, Ive been waiting to try unity for a long time now in hopes that someone would make something like this, im super excited that you have!
hey, is the download link broken?
I can't access http://disis.music.vt.edu/main/portfolio.html
cheers,
k
AFAIK the link should be ok (at least it connects ok from this end). Are you still experiencing problems accessing it?
Best wishes,
yes, I got it now,
cheers
Hi all,
I'm having trouble using the connecting to the network port using the provided max patch.
When I try to connect using the netsend object (port 32003) I get a message along the lines of - "stream connection failure (error 61)"
Anyone have an idea what to try to get this to connect?
I'm using Max 5 and OSX Leopard
Cheers,
Will
If you haven't changed anything in the patch and/or Unity file, my guess would be that your firewall might be on. Beyond that it is difficult to know without having access to additional information.
Hope this helps!
Ico
Hi Ico, I get this error before making any modifications.
With the original Unity and Max files open I click the 'connect localhost 32003' button in the Max->Unity control patcher and receive the following two error messages in the Max window -
'netsend: connecting to port 32003'
'netsend: connecting stream socket: Connection refused (61)'
I'm using OSX Leopard and have tried setting 'Allow Incoming Connections' in the firewall section of system preferences to no avail. As I understand it, this should disable the firewall.
Any ideas, or more useful info I could provide?
Cheers,
Will
You need to start the Unity program if you are opening it in editor. Alternately, I am not entirely sure what might be causing problems. Is there perhaps something else using the said port?
Hope this helps!
Best wishes,
Ico
Ok, sorry. I hadn't tried running the unity program before connecting... It's working perfectly!
Thanks
Hello All,
I have been working with Max/msp - unity interoperability since before this toolkit came along but it completely opened the doors for what I was trying to achieve. And for that I say THANK YOU VERY MUCH ICO!and all that helped create myu
After a years worth of work.. I present to the Unity and Max Community:
www.iSensorii.com
iSensorii is currently on exhibit in the Dallas Museum of Art.
I have made my standalone Max , Unity and iPhone apps available for download.
Would love to have more testers if anyone is interested.
Hi. This looks very interesting. I don't have an iphone but I'll have a play.
Is there any way I could have a look at you Unity source project? I'm trying to do something quite similar with Max and Unity, but am not as far down the road as you.
Cheers
Will
Will,
got anything to trade?
I'm still no pro at max , so I would love some good patches or externals. Perhaps you have a nice collection going?
I would've put up all source projects for everyone but I spent over a year of my time crafting them. I'm sure you can understand that.
Consider this an open invitation to everyone that I am willing to trade
~All best
I've been looking for something like this, and this blew my mind! So easy to use, my mind is going crazy with the things i can do with this.
I absolutly love it! I will be working with this in the next coming months. My thanks are plenty.
I'm still a student and it will take a while before i completely understand the patch and unity. And i'm will be working on it from this moment.
How ever can somebody send me in the right direction or could you tell me how i can get the textures to work. And i know it's because i;m a windows user and i need to change the direct 3d to openGL. But unity is still very new to me!
thanks in advance !
Does anyone have the example patch and unity project connecting with the current iterations of the software? I have MAX5 and Unity 3.5 and I'm having no luck with max connecting to Unity.
My workflow
1. open unity project
2. start unity project
3. start max patch
4. press the message box connected to the "netsend" object
Nothing
I've disabled my firewall and subbed out the "netsend" for for the "udpsend" to no avail.
Any suggestions would be welcome.
Thanks in advance,
Casey
hey
when i am directed to the download of the toolkit, which file is it i am supposed to download? or is it them all? sorry pretty new to this.
wkdside
I 'm trying to get MSP to communicate with Unity... Using the incredible [myu] I 've only managed to get Jitter through, but unfortunately I can't get MSP into Unity (or opposite), which is what I am after basically!!! Any ideas? (Do I need to script in Unity for MSP separately? Cuz I only got Jitter scripts from the DISIS website download).....
Is there something I don't see or does myu only support Max/Jitter-Unity3d connection?
Many thanks in advance!
Chris
hello!
i just got an oculus rift and it would be awesome to get max/msp to work with unity 3d that offers a totally new playground for me.
i tried myu and its working quite well. the problem is that i also cannot get the textures to work in unity as demonstrated here in the video:
im working with max 6 and unity 4 on a macbook pro intel core i7
there must be more people trying to get this working. its just too awesome, especially with the oculus rift. so if you know any projects or have any hints let me know.
i would appreciate it.
Does somebody know how to make appear the texture on the cube with Windows ?
Thanx
Benoit
Hey! This is a really amazing integration and I'm having a lot of fun working on some cool projects but I've just run into a problem...
I created a new custom case in the JitCustomEvents.cs which allows me to change the intensity of a light.
My code additions look like this:
------------
case 6:
shine_a_light(target, varB);
break;
------------
(this case 6 bit added in the case switch section starting on line 33.)
-----------
void shine_a_light(GameObject tgt, float[] val) {
if( val.Length == 1){
tgt.renderer.light.intensity = val[0];
}
}
-------------
(this bit is added at the bottom of the custom function section. section starts on line 61.)
----------------
The code appears to work perfectly... but there's a strange problem. I can only control a maximum of 5 separate lights.
I have created lights with names like "spotlight_1", "spotlight_2", etc.
I start Unity game mode, connect with max localhost connection and everything is working fine. I can use all the default tutorial settings. The cube spins, wiggles, I can change the color of the sphere.
The problem comes anytime I need to manipulate the values of more than 5 individual game objects. I recieve an error like this:
-----------------
IndexOutOfRangeException: Array index is out of range.
JitReceive.Parse (System.String toParse) (at Assets/JitReceive.cs:124)
JitReceive.Update () (at Assets/JitReceive.cs:85)
-----------------
Unfortunately I'm not so good with C# code so I'm basically stuck at this point. Writing the custom cases was about the limits of my coding understanding at this point.
If anyone would like to help me out with this problem, I would be very happy!
Let me know if there is any additional information that I can provide.
Curious... is there any way to create a standalone application to share with others? I'd love to play around with Max and Unity on my own computer, but when I've got something fun working, how do I package it up for others? I know how to do so for Unity by itself, and for Max by itself, but how would one do it using this integration?
As far as I know, Max only exports as an executable. You can not embed Max into a Unity executable. So you would need to run both.
Just wondering if anyone is still using this toolkit. I have managed to get the examples working and movement inside of my own scenes but having trouble getting video textures to send into Unity. Any advice on this would be appreciated. When I force open a openGL, which I think is necessary for this workflow everything goes pink, but in the example it works perfectly ?!?
Cheers,
Jeremiah.
Anyone got a link to the interoperability toolkit? The site seems to be down
Hi, good morning, the external netsend and netreceive can be found for the main max patch, how can i fix this issue.
Haven't seen that object name in a while. It was an old Olaf Mathes object - and I had no idea that it was still around. You might try checking www.maxobjects.com to check for it, or - search the Forum....
Yes, but the toolkit have this objects for send and receive the objects from UDP conection, how can i replace for objects that work in the same way. The toolkit work in Max6, for what objects i can reaplace in max7 for the integration works. sorry for my english, Chers