Set up command ports in Maya
First thing is to open a port in maya this enables a processing sketch to communicate in real time back to maya.
The port numbers need to match up with those used in the sketch.
// mel script open port commandPort -name "127.0.0.1:6004"
// mel script close port commandPort -name "127.0.0.1:6004" -cl
Example of sending mouse position from processing sketch to sphere in maya and keyframing.
This isn’t anything fancy – in fact this can be done directly in maya, but understanding about using command port and communicating with processing opens up more possibilities.
Processing to Maya
import processing.net.*; float x; float y; float z; Client client; void setup(){ // mel code: commandPort -n "localhost:12000"; client = new Client(this, "127.0.0.1", 6004); client.write("sphere -n \"new_sphere\";\n"); frameRate(25); } void draw(){ if (keyPressed == true) { float x = (mouseX-width/2) *0.2; float y = (mouseY-height/2)*0.2; int s = frameCount; // mel code to keyframe sphere client.write("currentTime "+s+";\nsetKeyframe -v "+x+" \"new_sphere.translateX\";"); client.write("currentTime "+s+";\nsetKeyframe -v "+y+" \"new_sphere.translateY\";"); } }