Jeg har idag arbejdet hårdt i DDLab’et, med henblik på at få lavet en kobling imellem MaxMSP og Unity. Dette er selvfølgelig noget som gerne skal komme resten af vores brugere til gode, så her følger kildekoden til scriptet i Unity, såvel som til patchen i Max!
Unity – Skal gemmes som et javascript i Unity, og derefter blot appliceres på et tomt gameobject:
#pragma strict import System; import System.Text; import System.Net; import System.Net.Sockets; import System.Threading; private var recieveObj : UDPReceive; private var receiveThread : Thread; private var vector : Vector3; function Start() { receiveThread = new Thread(new ThreadStart(ReceiveData)); receiveThread.IsBackground = true; receiveThread.Start(); } function ReceiveData() { var client = new UdpClient(3333); while (true) { var anyIP : IPEndPoint = new IPEndPoint(IPAddress.Any, 0); var data : byte[] = client.Receive(anyIP); //Denne variabel bliver lig den fra MaxMsp, og skal derefter parses ud i dens bestandele. var text : String = Encoding.ASCII.GetString(data); Debug.Log(text); //Her skabes et array hvor hvert index indeholder en værdi / streng var arr : String[] = text.Split("*"[0]); //Dette kan herefter parses om til fx. en Vector som følgende: i dette tilfælde omregner jeg en heltals værdi, men der kan også bruges parseFloat til decimaler. vector = Vector3(parseInt(arr[0]), parseInt(arr[1]), parseInt(arr[2])); Debug.Log(vector); } } function Update() { // Gør noget med dataen }
MaxMSP - Dette skal blot kopieres, og derefter indsættes i Max ved at vælge “File -> New From Clipboard
----------begin_max5_patcher---------- 1224.3ocyZF0SiaDDG+4jOEirTeAEn1qsSbtm5Ug5SmTQEgT60VcZS7DiI1q srWmB8z8w4No94fuX2r6ZCoPBwDhsBQjfWudYle6+Y1YW3yCGXMK6VrzBdG7 mvfAed3fA5lTMLn95AVo7ammvK0cyZdVZJJjViL2Sh2J0s+q+7kuChgPTJQP Fmr39ukDhvrhpHr.tAifqwDIOYDPOdc2VxEPIORhhRXYlXEVHwBrT83.WDVf PHWxk2kiEifx6+ZYVJHwkkRHKhFh4wob0PdViwjDKv4YUBsEMttwbtb90whn OUfykFO02kcl8HvgY9v2V8Qvzyrg+t9gVjIjkw+Kp5uipWllEUowhDTpQgyi MlUIaZsoqwgZrjM6lSYtVqMrBdpdXsdeQLOwRciuLbn5sQuwof2u.tThKVPT 8hrpjRhymBme9G3yNKb4FYDa6LJPwDeOMfbzW350Y.xoe.z4ZUGIfvzbLAHc YBeEJ05MsPU.7E.894W8gS+MdXbFonqDwx6HPpjsJAq.S0OQN8aizpFc5hrh TZ3nOzRVPoTWbKjbW3Y6E30HEbY9cK3cF2Of+B9xkDdlgkKwP5G9QX08eqHL l9wRt5QzSA2+ehWKr7lnIDy.JG+wcLuX8CutDEgOxKAjQoFgqN+BH+9uBpF3 hn3UBDhyANo+HknBjRHOqPtQF5tcF5F3pnlGKXMF5EzULb5gEgojyyivmgP2 wmvbNwyq4FFiRsVhwqsrdv81.SXDL7IkTfNAXfQc8ZQBaiHw44HYRek9SPRl TTVjojVRLUky55UTRqrEThQkjqTo7Jgx3HAOgtVEWdkJC3qUUQAlD.cbmnQm WP2Jp76GB9K2fEBhJoXRBlVTkpJDorZVoLVVQktntSHPqnbxqNQliIUuq6Zk jzgIxrOr.Sf+CMrOiWEXDdaN7WzWkvO0.JRpcxOXu8.yQO461Dn5ZRdEn4Fy caby60vM+myM2fCL2pRmgEaEEwJMHXMiR2+hTndYPmIlp1LPvd2hmbdA4BTQ 2eBE7YI35pkV.H1FBD8ONAjoD1iA.4cTBH2w1GK.h0KolpByUq0Q9BsBE8xQ k68gMps8LMMkI40ZDsmqncfyPKyhhRvWTmzh7r0qmydty+FEBanpHuoGvoaS UOrsupyNiPZHvXSDRvdM825RB8lzWkICLG3sVlrsopkttNYuCbtyYURYl3MK IX19aInXOE9rCnvOmOeIXqdseSwtS8z9n4HyFOduj8ts00c6oCj3iuPhdOey wB5V63caddlc+3w+g0KMGaBbqOVzocqG6Lse73e+k7358YYli6bO9.uqAsIr egyM6TvLUaN1L06aNkkcqSY0XMMSFpaz2tVcM9GXWy8Hv0ZpN+.6Zrc4Z5wW eFFO4uQj1FUs++82xrph4MdT8IaAOZkgHs+eAWFSK59XeTU5tVmtNNLDEq6G gwkpJJ01s8FAeaMG0122o8L43ybb5EyQUd0NMmmXyco8nNKgcaOTEC.qerGu 1ZO8y7kZmxsyd5m4KZCa61d75uvKu1j8wi0e1SaludRPXmZOsI4re+kMbbaw S+Dd41F7zeyVsQ73uuhYyB8777UXQY8XpsDpDlaxJd3+mBKpLCyk5Qzp.WE2 ze+gpQ6KC+Nf2ktv4 -----------end_max5_patcher-----------