« Posts tagged Python

maya screenshot pyqt截屏

流程中的截图功能是必不可少的,实现的方法也很多。但是原理都是将一个动态桌面生成静态页面,然后裁剪选择的区域.之前基于pyqt写过一个截图的功能。现在跟大家分享一下,你可以任意更改代码,也可以写个界面把截图功能嵌入进去,当然如果可以请保留作者的信息.请留意博客更新,会不定期分享更多的代码便于大家学习!
由于工作时间没时间更新代码,也没优化,把之前写的代码附上,运行以下代码需要事先安装好pyqt.如果没有安装可以试试从maya2014 以上的PySide里导入QtGui和QtCore,我没测试PySide,不过应该可以。如果有什么问题请留言。 »Read More

Maya API – Custom locator Node

如何通过maya api 创建自己的locator,可以通过OpenMayaMPx.MPxLocatorNode 来实现。也可以将现有的曲线转为custom locator ,或者反过来转为曲线都可以通过api实现,甚至可以实现重绘 polygon。

代码如下:

»Read More

py2exe的使用方法

py2exe能够把Python script转换成可以在windows上独立执行的(即不需安装)的exe程序。对于非计算机专业的可能对于文件的执行略有压力,导致在网上看了不少的步骤最后都没法转换成功。我总结了一下,就几个点:
1、创建一个py文件,如下打开D盘的命令:

1
2
import os
os.startfile("D:")

2、创建一个setup脚本(setup.py)

1
2
3
from distutils.core import setup
import py2exe
setup(console=['test.py'])

把1、2俩步的test.py 和 setup.py文件放入c:\Python26 下或者你的安装目录

3、检查一下第一段脚本看能否运行(如果打开了D盘说明脚本无误):
a、在windows开始--运行 输入 cmd
b、改变一下路径,输入 cd c:\Python26
c、然后输入 python test.py

4、运行 python setup.py install (注意:确保路径是正确,如c:\Python26>python setup.py install)
5、执行:输入python setup.py py2exe (注意:确保路径是正确,如c:\Python26>python setup.py py2exe)
屏住呼气!!!赶紧去路径dist文件下找exe文件吧!

如何拥有我们自己的脚本编辑器

实现很简单,而且还会自动显示帮助,省去来回切换maya帮助的烦恼了。

1
2
3
4
5
6
7
8
9
10
11
12
import maya.cmds as mc
def myScriptEditor():
 
    if mc.window('myPyScriptEditor', exists=True):
        mc.deleteUI('myPyScriptEditor')
    mc.window("myPyScriptEditor", title="My Python Script Editor")
    mc.columnLayout(adjustableColumn=True)
    mc.cmdScrollFieldReporter(height=200)
    mc.cmdScrollFieldExecuter(height=200, sourceType='python')
    mc.showWindow()
 
myScriptEditor()

把sourceType=’python’ 换成 sourceType=’mel’ 就可以成为mel的编辑器了。

Numpy Maya Python

我们知道在maya mel 中有Matrix,但是在python中怎么实现呢?
默认的python中只能用list保存一组值,当数组来使用。不过由于list中的元素可以是任何对象,因此list中所保存的对象是指针。这样为了保存一个简单[1,2,3],就需要三个指针和三个整数对象。这样的数值运算无疑是对内存的一种浪费。此外python本身还提供了一个array模块,array对象和list的不同,它直接保存数值,类似于C中的一维数组,但是由于它不支持多维数组,也没有各种运算函数,因为不适合做数值的运算。
当然我们可以用强大的list代替。如:

1
2
3
4
5
6
7
rows=20
cols=10
matrix=[]
for i in xrange(0,rows):
    matrix.append([])
    for j in xrange(0.cols):
        matrix[i].append(0)

可是这样的效率、内存都是不小的负担,Numpy的出现弥补了这些缺陷,numpy提供俩种基本的对象:ndarray(存储单一数据的多维数组),ufunc(对数组进行处理的函数)
»Read More

using eclipse with maya

关于 eclipse 配置问题

A . 需要的软件:

  1. Eclipsehttp://www.eclips.org
  2. python: http://www.python.org
  3. Eclipse Maya-Editor: download
  4. Eclipse Mel-Editor: download
  5. jdk (注意选择的位数跟eclipse要一致): http://www.oracle.com (我用mac系统自带jdk,所以不需要另安装)

»Read More

install PyQt for maya

• Mac OS X:

Lion:  

• windows:

MAYA  2011 & 2012 64bits »Read More