« Posts tagged maya

maya screenshot pyqt截屏

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

Maya魔方绑定的原理 Rubik’sCube rigging

魔方的实现有很多种方法,但是实现的过程都大同小异。我采用的的表达式让时间帧来控制主程序,或者可以使用scriptJob直观的去控制旋转。魔方分别有右、左、前、后、上、下六个面,创建六个控制器并且标号(也可以用8个控制器,俩个中间的)以6个控制器为例:right - 0/left -1 /front -2 /back - 3/up -4/down - 5

一、控制器如何分别控制所对应区域的方块:所有的方块都被6个控制器父子约束,根据标号跟方块的位置参数做比较

二、如何得到旋转的控制器是哪个方向:

1、探测当前控制器在时间线上的度数,可以得到在旋转的方向的标记号

2、如果旋转度数等于0度或90度或者90度的倍数(包括负数) 返回 0

3、如果旋转度数不等于0度或90度或者90度的倍数(包括负数)返回 1

假如等到标记号是1,$index =1;

获取所有方块的$axis[$index]的位移值,如:block1.tx

核心原理如下: »Read More

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

实现很简单,而且还会自动显示帮助,省去来回切换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