そこで別記事で書いたPythonで外部からMAYAにコマンド送れる事を利用して
PhotoshopスクリプトからMAYAにポリゴンの球を生成させたいと思います。
![]() |
|
.execute()
appliPath = "C:/Program Files (x86)/Google/Chrome/Application/chrome.exe" applicationfile = new File(appliPath); applicationfile.execute();
GUIボタンを配置
var gUIWindow = new Window('dialog','テストウィンドウ'); gUIWindow.bounds = [200,100,410,280]; gUIWindow.okBtn = gUIWindow.add("button",[5,110,100,170], "実行",{name:'ok'}); gUIWindow.cancelBtn = gUIWindow.add("button",[105,110,200,170], "キャンセル", {name:'cancel'}); gUIWindow.show();

Chromeを起動
var gUIWindow = new Window('dialog','テストウィンドウ'); gUIWindow.bounds = [200,100,410,280]; gUIWindow.okBtn = gUIWindow.add("button",[5,110,100,170], "実行",{name:'ok'}); gUIWindow.cancelBtn = gUIWindow.add("button",[105,110,200,170], "キャンセル", {name:'cancel'}); gUIWindow.show(); gUIWindow.okBtn.onClick= function() { appliPath = "C:/Program Files (x86)/Google/Chrome/Application/chrome.exe" applicationfile = new File(appliPath); applicationfile.execute(); UIWindow.close(); } gUIWindow.cancelBtn.onClick= function() { UIWindow.close(); }
このjsxファイルを保存して、実行します。
Photoshopでウィンドウが開いたら早速[実行ボタン]を押します。

実行できない方はchromeが64bitだとパスが違うので、パスを見直してみてください。
このようにPhotoshopのスクリプトから他のファイルを起動できるのは確認できたので、今度はMAYAにコマンドを送るPythonファイルを作ります。
Pythonファイル
#!/usr/bin/python # -*- coding: utf-8 -*- import sys import socket commandString = sys.argv mayaSocket = socket.socket(socket.AF_INET,socket.SOCK_STREAM) try: mayaSocket.connect(('127.0.0.1', 6000)) except socket.error: print ' ERROR: Maya commandPort is not open. ' sys.exit() cmd_mel = '''polySphere -r 15 -sx 12 -sy 12;''' mayaSocket.send( cmd_mel) mayaSocket.close()
![]() |
|
このファイルをPhotoshopから実行できるようにしようと思います。
Pythonファイルをexeファイルに変換
今回は pyinstaller を使います。
pyinstallerパッケージをインストールします。
でインストールできるはずなのですが
筆者の場合は上手くいかなかったので、このようにしてインストールしました。
exeファイルに変換します。
Macの場合:
Windowsの場合:
WindowsOSの場合は[–windowed]のオプションを付けるみたいです。
筆者はWindowsを使っているのでオプションを付けて実行しました。
[–onefile]関連ファイルを一つにまとめるオプション
[–windowed]Windoseのバイナリを作るオプション

C:\Python27\dist に ps_to_maya.exe ファイルが出来ました。

import maya.cmds maya.cmds.commandPort(name='localhost:6000')
commandPort -nr -n "localhost:6000";

きちんとポリゴンの球が生成されました。
Photoshopのスクリプトの変更
gUIWindow.okBtn.onClick= function() { appliPath = "C:/Python27/dist/ps_to_maya.exe" //変更 applicationfile = new File(appliPath); applicationfile.execute(); UIWindow.close(); }

工夫次第でもっと連携させたりと便利なスクリプトが作れそうです。
Windows限定のテクニックですが、exeファイルを作らないで、
PhotoshopのメニューからPythonを実行させる内容の記事です。
![]() |
|
まとめ
Pythonファイルをexeファイルに変換することで、
PhotoshopのスクリプトからMAYAに球体を生成させる事ができました。
そして.EXEファイルなのでPython環境が無い人にも配る事が可能です。
これを応用することで、PhotoshopとMAYAの連携させるスクリプトが
作れるようになるのではないでしょうか。
![]() |