Maya Python开发

原创
2018/03/05 00:34
阅读数 8.1K

Maya基本操作

建立Object,Maya漫游 Alt+

Maya最下面有Mel最右边,有小按钮

Maya 脚本编辑器,Maya右键操作滑动

切换到点模式:右键切换定点模式 按F切换物体的中心 对象模式?

Maya脚本编写

功能

Maya程序运行是串行结构,和Unity一致;UI按钮执行脚本;操作都会现实在脚本编辑器中

脚本编辑器显示的日志是mel语句。

查maya 的帮助,命令当中勾选快捷提示,都勾上mel看起来像linux命令

select -r select -add 的mel脚本执行

在写脚本的时候,如果遇到命令,先在界面上完成,然后根据mel脚本的提示,根据mel脚本编写python。 脚本编辑器 直接点击运行会清空下面的代码,点击》》来执行并不清空内容

操作tranform修改属性,maya当中用的最多的是setAttr 创建摄影机,修改摄影机焦距,

Object的名称的唯一性,

中间拖拽到形成父子关系, 通过路径的方式找到唯一对象 问题:同级不能出现同名,maya内部会自动改名字

mel转python

有规律可循,Maya像linux的命令或函数,

import maya
#import maya.cmds as cmds

values = maya.cmds.ls()
maya.cmds.setAttr(...)

# mel转python可能的两种形式
# select -tgl xxx
maya.cmds.select('xxx', tgl=True)
#maya.cmds.select(tgl='xxx') # 有可能的形式,但是不一定正确

单步执行不一定有选择部分执行的效率高

基本流程

1.操作一遍 2.看mel 3.mel转python

UI 改的内容

问题:子节点

import maya
maya.cmds.setAttr("pShere2.vtx[251]", 10,10,10)

有可能mel里面有,

问题:

select_object = maya.cmds.ls(sl=True)

根节点,

插件会提供更深层次的接口

节点图

Maya DAG,通过窗口的某哥来查看 mesh节点根据属性,传给法线节点,传给

我们的插件需要写节点,有了一定的输入,下一步给输出,有协议定义好的 当前面的节点设置为脏时,才进行计算;写插件如何控制计算。

速度问题

如何屏蔽无用节点, 编辑-》按类型删除全部-》删除历史,没办法对他做更改 不能删除历史?

Maya的帧数可以设置

PyCharm配置Maya开发环境

Maya Python

Maya 2018默认使用的是Python 2.7,Python 2.7所支持的功能,Maya通过Python开发一样能够支持
在PyCharm中,进行如下设置

Settings->Project Interpreter->齿轮->Add local
System Interpreter->选择目录
C:\Program Files\Autodesk\Maya2018\bin\mayapy.exe

首先把项目路径添加到python path下面,如本项目路径C:\Workspace\Maya\maya-hello

PYTHONPATH=C:\Workspace\Maya\maya-hello

重启Maya,能够import包名称
例如工工具架的 文档/maya/2015-x/zh-cn/prefs/shelves

project inteprot
pycharm systemEnv = mayapy.exe

Maya API智能提示

当我们配置完成mayapy后,我们在PyCharm当中输入并没有智能的代码提示功能。

下载devkit

首先,根据如下连接下载Maya Developer Kit,需要登陆Autodesk,并且在搜索框输入Maya Developer Kit

设置devkit

Setting->Project Interpreter->齿轮->Show All...

打开Project Interpreters窗口,点击右侧最下面的图标,弹出Interpreter Paths窗口,点击+。

# 由于devkit放到build目录的配置如下
C:\build\maya-devkit\Maya2018-DEVKIT_Windows\devkitBase\devkit\other\pymel\extras\extras\completion\py\

移除原始提示

在Interpreter Paths窗口下,找到C:\Program Files\Autodesk\Maya2018\Python\Lib\site-packages点选,点击删除。保存所有设置就可以弹出代码提示

下载后解压缩到任意目录,

Debug插件MayaCharm

MayaCharm

MayaCharm Git

PyCharm安装MayaCharm

在PyCharm中进行设置

File->Settings->Plugins

在搜索框输入MayaCharm,点击网络搜索,点击安装并重启PyCharm

Maya安装服务端口

在项目中创建文件userSetup.py,在环境变量当中key为PYTHONPATH,value为项目目录

import logging
logging.info('Maya`s userSetup.py')

# MayaCharm Plugin
import maya.cmds as cmds
if not cmds.commandPort(':4434', q=True):
    cmds.commandPort(n=':4434')

# do something before maya run

重新启动Maya,能够看到Maya Output Window输入内容如下

root : INFO : Maya`s userSetup.py
...

说明userSetup.py初始化成功

MayaCharm调试

Warning:由于编者使用的是PyCharm Professional版本才会具有MayaCharm Debugger
PyCharm中,Run->Run/Debug Configurations->Add->MayaCharm Debugger
创建后,必须选择Attach Debug and execute file并且选择要执行的Python文件,然后就能够运行了
Debug必须先打断点,然后点击运行debug,注意:这里并不会直接执行py文件,会先跳到服务器请求,然后才会跳转到后续断点

如何写工具架

最左边右键新建工具架,能够编辑工具架,能够选择图标的标签,点击保存所有工具架,能够看到工具架的路径

QTUI?

Maya界面提供的mel

独立

import maya
maya.cmd.window('test2')
maya.cmds.showWindow(test)

新版本可以通过python,老版本只能使用mel

展开阅读全文
加载中
点击加入讨论🔥(2) 发布并加入讨论🔥
打赏
2 评论
3 收藏
1
分享
返回顶部
顶部