没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
MayaPython 第一篇 - 介绍
大家好,这是一个简易的 MAYA PYTHON 学习教程。简易教程的目的是可以让更多的人快
速掌握这些知识,而不是拘泥于理论的研究。最好的学习方式无疑是实践,我会提供简单实
用的代码来帮助学习者了解脚本的实际运用。如果你是初学 MAYA PYTHON,特别是非程
序员的初学者,不妨先看一下下面的内容,以帮助你对 MAYA PYTHON 有一个大致的了解。
为什么要学习简易教程?
简易教程的特点就是尽可能做到简单,容易理解。我的文档会涉及到尽可能多的内容,但不
会说的很深。因为很多复杂的应用往往是许多简单部分的组合,学会如何组合是更重要的事
情:)另外,任何学习都需要一个很好的 getting started,好的入门,往往决定今后深入
学习的质量。万事开头难,但是一个好的开始,就是成功的一半。希望我的简易教程可以带
大家进入 MAYA PYTHON 的大门。
这个文档的适用人群是哪些?
·具有一定 MAYA 操作经验,但无编写脚本经验的用户
·具有一定 MEL 基础的用户
·始终徘徊在 MAYA 脚本门口,但找不到切入点的初级用户
什么是 MAYA PYTHON?
简单来说,MAYA PYTHON 就是用 PYTHON 语言包裹起来的 MEL 命令。
什么是 PYTHON?
PYTHON 是一门简单易学,但功能又非常强大的编程语言。(我会在下一篇中提供简单实用
的 PYTHON 入门教程)
为什么要学习 MAYA PYTHON?
大幅度地提高工作效率
挖掘 MAYA 隐藏功能,更全面地掌握 MAYA
快速开发脚本插件
如何学习 MAYA PYTHON?
最好的方法是学习别人写的源代码。而最好的代码资源其实就在你的电脑里:你的 MAYA
帮助文档。如果你有良好的英语阅读能力,这样你可以充分理解帮助文档里所说的内容。但
是如果英语能力不是很理想的朋友也千万不要 着急,我的文档会帮助你学习 MAYA
PYTHON。另外,MAYA 的帮助文档中的脚本部分对每条命令的参数以及每个节点的属性
解释的都非常详细,个人认为,学会使用 MAYA 的帮助文档是学习 PYTHON 脚本的制胜法
宝。
---------------------第一篇完-----------------------
MayaPython 第二篇 - PYTHON (点击标题阅读全文)
如果你是 PYTHON 高手,可以跳过这篇:)因为节下来我要讲述 PYTHON 的基本应用。由
于我的 PYTHON 教程主要是针对 MAYA 的应用,所以 PYTHON 基本应用的介绍主要会涵
盖 MAYA 环境中经常会使用到的 PYTHON 功能。学习过程中,尽量运用已学到的知识自己
也试着编写一些代码,发挥主观能动性。这样学习,效果会十分显著。该篇主要含盖以下内
容:
2.1 脚本编辑器(Script Editor)
2.2 PYTHON 常用数据类型和操作符
2.3 流程语句
2.4 定义函数
2.5 常用模块
2.1 脚本编辑器(Script Editor)
MAYA 界面中有 2 处地方可以编辑 PYTHON 脚本,一处是左下角的快速命令行,这个命令
行可以在 PYTHON 和 MEL 间快速切换,如下图:
一处是右下角的 Script Editor 按钮,点开窗口如下:
我们的 PYTHON 代码就是写在 PYTHON 选项卡中,如果 PYTHON 脚本在 MEL 选项卡中
执行将会出错,vice versa。
我们在 MAYA 中执行的操作会通过 MEL 语言打印在上面灰色区域,也就是输出区域。这些
MEL 语言都可以非常快地转化成 PYTHON 代码。这个数据输出区域同时也会打印 PYTOHN
脚本的执行结果以及出错信息。
现在我们来执行一条简单的 PYTHON 语句,来一个初体验:PYTHON 页面中输入 print
"hello maya",然后按数字键盘上的小回车(注意:小回车是执行代码,大回车是换行)。
我们看到输出区域的打印结果如下:
print "hello maya"
hello maya
第一行是告诉用户,你执行了 print "hello maya"这条命令,第二行 hello maya 是执行
这条命令的结果,这里的执行结果就是:hello maya 被打印出来了。命令执行成功。但是
我们发觉 PYTHON 页面里的代码也消失了。如果需要反复执行代码,可以选中需要执行的
代码,然后按小回车,这样,我们可以在执行代码的同时保留页面里的代码。(建议使用第
二种方法执行代码)
接下来,再举个简单的例子来说明输出窗口中的报错信息。随意在命令行中输入一些字母
abcd,然后执行,出现如下信息:
abcd
# Error: NameEror: name 'abcd' is not defined #
这是个简单的报错信息,说明 abcd 没有被定义,电脑无法识辨。这条命令是无效的。
最后就是#符号,#后的所有的代码(换行前)都被看作注释,不参与运算。例如:
# print "hellomaya" : )
虽然也是 print 命令,但是前面有#,所以无视。
现在我们终于知道如何在 PYTHON 中执行代码,以及辨别代码是否有效。在下面的教程中,
我将会用一些简单的实例来展示 PYTHON 的常用功能!
2.2 PYTHON 常用数据类型和操作符
数据类型就是数据的类型- -U,就是不同类型的数据,数据类型包括:整型,浮点,字符,
列表,元组,字典。
整型(INT)就是整数,比如:1,2,3,21,1000……
浮点(FLOAT)就是带小数点的数字,比如:1.12,4.5……
字符(STRING)就是文字,需要用单或双引号,比如:"string",'hello',"12","3.1415",
"#_%)"
列表(LIST)就是一系列数据的组合,用中括号,比如:[1,2,3],["tom","jerry"],
["marry",14]
元组(TUPLE)用小括号,和列表的区别是他是不可变的:(1,2,3),("tom","jerry"),
("marry",14)
操作符,形象的说就是用来操作数据的工具,包括数学操作符,比较操作符,逻辑操作符。
数学操作符:+(加) -(减) *(乘) /(除)%(取除法余数)**(乘方)
比较操作符:<(小于)<=(小于等于)>(大于)>=(大于等于)==(等于)!=(不
等于)
逻辑操作符:and or not
下面来做一些热身,在实际运用中体会不同数据类型之间的配合!
2.2.1 整数
a=1 # 定义变量 a, 把整数 1 赋予给 a
b=3 # 定义变量 b, 把整数 3 赋予给 b
a+b
运行结果为 3,其他整数小数的加减乘除这里就不熬述了~
2.2.2 字符
name1="tom" # 定义变量 name1,把字符 tom 赋予给 name1,注意双引号
name2='jerry' # 定义变量 name2,把字符 jerry 赋予给 name2,注意这里是单引号,
都可以表示
name1+name2
运行结果为"tomjerry",这里说明字符之间可以相加。但是不同数据类型之间不可以相加,
变量 a 和变量 name1 就不可以相加,因为一个是整数,一个是字符。字符单引号和双引号
的不同用法我会再之后的实例中写出。
2.2.3 列表
list1=[1,2,3] # 定义列表 list1,包含 3 个整型数字
list2=["cube","sphere","plane"] #定义列表 list2,包含 3 个字符
list=list1+list2 # 把 list1 和 list2 的相加结果赋予新的变量 list
print list
运行结果为[1,2,3,"cube","sphere","plane"],可见,包含不同数据类型的列表之间可以
相加
我们可以对列表中的数据进行访问操作。执行以下命令:
list[0]+list[2]
运行结果为 4,因为 list[0]指的是 list 列表中的第一项,list[2]指的是 list 列表中的第 3
项。(注意,PYTHON 数数是用 0 开始的),依次类推,list[4]指的就是“sphere”。
list[3]*list[1]
运行结果为"cubecube",其效果等同于"cube"*2,可见,字符和整数间,可以做乘法运
算。同样,如果"c"*5 的运算结果就是"ccccc"。
user1=["tom","cat"]
user2=["jerry","mouse"]
userInfo=[user1,user2] # 定义列表 userInfo,该列表内又嵌套了 2 个列表
print userInfo # 打印 userInfo
运行结果为[ ["tom","cat"],["jerry","mouse"] ],我们看到大列表中包含了 2 个小列
表
我们同样可以访问嵌套列表:
userInfo[0]表示 userInfo 中的第一个列表 user1,userInfo[0][1]表示 user1 中的第 2
个值"cat"。同样,如果要访问"jerry",你可以通过 userInfo[1][0]来访问。
我们还可以对列表里的内容进行添加或移除:
userInfo.append(["jack","male"])
这 样 我 们 再 次 打 印 userInfo 的 时 候 , 得 到 的 结 果 应 该 为 [ ["tom","cat"] ,
["jerry","mouse"],["jack","male"] ]
userInfo.remove(["tom","cat"])
这 样 我 们 再 次 打 印 userInfo 的 时 候 , 得 到 的 结 果 应 该 为 [ ["jerry","mouse"] ,
["jack","male"] ]
列表和字符还可以访问其区间的数据:
a=[1,2,3,4,5,6,7,8] # 定义列表 a
b="abcdefg" # 定义字符 b
a[3:5] # 返回的值是[4,5,6],是列表 a 的第 4 位到第 6 位
b[1:4] # 返回的值是"bcde"
a[3:] # 返回的值[4,5,6,7,8],从第 4 位一直到结尾
b[:-4] # 返回的值是"abc",从第 1 位到倒数第 4 位
2.2.4 常用工具
接下来,我给大家介绍一些不同数据类型中的常用工具!
2.2.4.1 +=操作符号
a=1
a+=1 # 等同于 a=a+1
剩余28页未读,继续阅读
资源评论
- xingyunfa2019-07-29非常不错,入门可以看看
- 被关黑屋的猫2019-02-17非常不错的
- Yusaky2023-02-20非常不错的
瞬间_S
- 粉丝: 4
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功