ฉันต้องการเข้าถึง Terminal จากสคริปต์ PHP เพื่อเปิด Maya เวอร์ชันสแตนด์อโลน จากนั้นเรียกใช้สคริปต์ Python ใน Maya จาก Terminal
ฉันสามารถส่งคำสั่งไปยัง Terminal จากสคริปต์ PHP ของฉันโดยใช้ฟังก์ชัน exec()
ตัวอย่างเช่น ฉันสามารถเปิด Maya ด้วยไฟล์ .OBJ โดยใช้โค้ดต่อไปนี้
//Open Maya with .OBJ
$cmd='open -a /Applications/Autodesk/maya2015/maya.app /Applications/AMPPS/www/webGL/upload/Character.obj';
exec($cmd);
จากนั้นฉันก็พบว่าฉันสามารถเปิดล่าม Maya Python ใน Terminal ได้โดยใช้ไดเรกทอรีนี้: /Applications/Autodesk/maya2016/Maya.app/Contents/bin/mayapy
เมื่อไดเร็กทอรีนี้ถูกเรียกใช้งานใน Terminal ไดเร็กทอรีจะรันล่าม Maya Python เมื่อล่ามทำงาน ดูเหมือนว่าฉันไม่สามารถส่งคำสั่ง (ซึ่งปัจจุบันคือรหัส Python) ไปยัง Terminal จากสคริปต์ PHP ของฉันได้อีกต่อไป
ฉันกำลังเดินไปในเส้นทางที่ถูกต้องโดยใช้ฟังก์ชัน exec()
เพื่อดำเนินการในสิ่งที่ฉันต้องการหรือไม่ หรือฟังก์ชันนี้ดำเนินการเพียงคำสั่งเดียวและไม่ใช่หลายคำสั่งติดต่อกันใน Terminal เดียวกัน ฉันจำเป็นต้องใช้ฟังก์ชันอื่นที่ส่งคำสั่งไปยังเชลล์เฉพาะเพื่อให้คำสั่งทั้งหมดถูกดำเนินการใน Terminal เดียวกันหรือไม่
นี่คือโค้ดที่ฉันพยายามส่งไปยัง Terminal เพื่อเรียกใช้ล่าม Maya Python จากนั้นนำเข้าไลบรารีแบบสแตนด์อโลนของ Maya และเริ่มต้นใหม่
//Open Maya interpreter
$cmd2="/Applications/Autodesk/maya2016/Maya.app/Contents/bin/mayapy";
//Import standalone and initialise
$cmd3="import maya.standalone; maya.standalone.initialize( name='python' )"
//Execute commands
shell_exec($cmd2);
shell_exec($cmd3);
mayapy /path/to/script.py
ตรวจสอบให้แน่ใจว่าได้เพิ่มmayapy
ใน$PATH
ของคุณแล้ว เช่น เพิ่ม Maya/bin
ในเส้นทางของคุณ - person Chris Sprague   schedule 23.06.2016mayapy
จากเทอร์มินัลเพื่อดูว่ามีการหยิบขึ้นมาในเส้นทางของคุณหรือไม่ หากไม่ โปรดดูวิธีเพิ่ม PATH - person Chris Sprague   schedule 23.06.2016/Applications/Autodesk/maya2016/Maya.app/Contents/bin/mayapy
และนี่คือเส้นทางไปยังสคริปต์ Python ที่ฉันต้องการเรียกใช้ใน Maya -/Users/Gal/Desktop/Mark's Humane Files/Final Python Files/CreateSkinnedCharacter.py
แล้วคำสั่งที่ส่งไปยัง Terminal จะเป็นอย่างไร ? - person skelto   schedule 23.06.2016/path/to/interp /path/to/script.py
แต่ฉันไม่รู้ว่านั่นคือวิธีการทำงานของล่าม Maya หรือไม่ เพียงแค่เป็นแบบแผนของล่ามตามปกติ (ruby, python, bash, php, ฯลฯ ... ) - person Chris Sprague   schedule 23.06.2016