当前位置:首页 » 编程软件 » 迷你编程攻略

迷你编程攻略

发布时间: 2023-06-14 04:22:01

㈠ 关于MAYA,3D软件.

Maya有MEL,3D有maxscript

MEL (Maya埋入式语言)为Maya提供了基础。Maya界面的几乎每一个要点都是在MEL指令和脚本程序上建立的。由于Maya给出了对于MEL自身的完全的访问,你可以扩展和定制Maya。通过MEL,你可以进一步开发Maya使它成为你和你的项目的独特而创新的环境。
为有效地使用Maya,你并不非得精通MEL。但是,熟悉MEL可以加深你使用Maya的专业能力。使用MEL的许多方面可以由只有很少编程经验或者没有经验者所使用。喜欢MEL并不非得喜欢编程。有一些方法,它们可以使你获得MEL的好处而不必考虑编程的细节。一旦当你进行了产生MEL脚本语言的尝试,你会发现MEL可以给你提供可以想象到的最先进的数字化画图的方法。
为了获得Maya的输出,大部分可以使用MEL来做。这里是你可以使用MEL来工作的一些例子:
·使用MEL指令脱开Maya的用户界面,快速地产生热键,访问更深的要点。
·给属性输入准确的值,脱开由界面强制引起的拘谨的限制。
·对特定的场景自定义界面,对一个特定的项目改变缺省设置。
·产生MEL程序和执行用户建模、动画、动态和渲染任务的脚本程序。
mel语言是maya自己的一套编程语言,mel是maya的基础,是比较偏底层的东西。如果你稍有编程基础的话,可以很容易掌握它。我们可以看到除了maya的插件(maya内部很多组件也都是以插件形式存在的)以外,所有的操作都可以在script editor窗口中有相应的mel语言与之对应。例如:创建一个常规的polygon球体,打开windows-->General Editors-->Script Editor,可以看到:polySphere -r 1 -sx 20 -sy 20 -ax 0 1 0 -tx 2 -ch 1;;这句话的意思是创建一个polygon球体(polySphere),其半径为1(-r 1),x、y轴向的分段皆为20(-sx 20 -sy 20),轴向为Y轴向上(-ax 0 1 0),显示方式为有锯齿贴图(-tx 2),并带有历史纪录(-ch 1)。参见help中的polySphere词条。
最好的方法还是买书自己学,可以参考《Maya动画师MEL脚本编程全攻略》(以前看过,很快就能上手)。
附上我以前学习的一些笔记,希望能给你一些帮助:
1.得到所有被选中对象的列表并存入数组:“string $sel[] = `ls -sl`;”
2.在表达式中可以直接用“=”给对象的属性赋值或取值;而mel中则必须通过getAttr和setAttr来实现,这种方式效率比较低
3.“==”是判断是否相等;“!=”不等于
4.定义变量:“float $rotation_value;”
5.为对象添加属性:Window-->Attribute Editor;Attributes-->Add Attribute
6.在数学表达式中的向量:可以对向量中的单个分值赋值,如:$abc.x=3;但是不可以这样赋值:$abc=<<$abc.x,1,1>>
7.向量运算(Maya中的点都是向量存储,因此要定位的话向量比较重要):向量相减:代表向量从一个点移到另一个点所需行进的方向和距离,减数指向被减数
8.向量操作:unit(格式化)/unit($vectoer1);mag(长度)/mag($vectoer1);angle(夹角,弧度制,如果想获得角度将它乘以180/pi,方向为逆时针)/angle($vector1l,$vector2);cross(叉积,与两个向量正交,即垂直的第三个向量,其长度为:dot运算)/cross($vector1l,$vector2);dot(=mag($vector1)*mag($vector2)*cos(angle($vector1,$vector2)))/($vector1l,$vector2);rot(将一个向量绕着由另一个向量所定义的轴旋转一定的角度)/rot($vector1,$vector_axis,$degrees)
9.检测两个向量平行或垂直:dot(unit($vector1),unit($vector2)),如果=0,那么垂直;如果=1,那么平行
10.在mel语言中,不能把属性值赋给变量,必须用如下格式获得:$val=`getAttr expression1.time`;
11.连接属性:connectAttr 属性1 属性2
12.创建表达式:express -string "属性1=值";;适用于mel中对属性的赋值
13.变量:数组变量/$t={1,2,3};声明变量/int $t;
14.全局变量:Maya要求在每一个使用全局变量的域中重新声明该变量,如:
global int $a=1;
proc print_a(){
global int $a;
print($a);
}
print_a();
15.将一个整数转换为一个浮点数:float(3);;将浮点数转换为整数:int(3.7),结果为向下取整=3
16.算术比较运算:print(5>6);结果为:0或1
17.运算符:+,-,*,/,%,+=,-=,*=,/=,++,--,&&,||,!
18.取相邻最大整数:ceil($f);取相邻最小整数:floor($f)
19.在mel中的向量:不能直接将一个值赋给向量的一个分量,如:$abc.x=3;必须这样赋值:$abc=<<$abc.x,1,1>>
20.分隔字符串:tokenize "string1" $myarray;得到的结果将是以空白符来拆分字符串,并存入数组中;又:tokenize "string1" "char" $myarray;将得到以char来拆分字符串,并存入数组中
21.数组中所有没有被赋值的元素默认为0
22.数组的尺寸:size($myarray)
23.如果需要在脚本中使用一个非常的数组,在结束时使用mel中的clear命令清楚该数组:clear $myarray
24.模式选择:-c标记或不适用标记将选择创建模式;-q选择查询模式;-e选择编辑模式
如:sphere -q -radius nurbsSphere1 返回半径
sphere -e -radius 15 nurbsSphere1 修改半径
25.当希望存储命令的返回值时,可以在赋值运算的右边将命令置入反引号(``)中。如:string $coneNodeNames[]=`cone -name testing2`
26.使用eval命令:string $spherecommand="sphere"; string $nodenames[]=eval($spherecommand);表示创建一个球体,将sphere命令的返回值存入$nodenames数组中
27.在脚本中有三种运行mel命令的方法:(一)如果不关心返回值,作为独立一行的语句独立运行;(二)如果想将返回值存入一个变量,将其放入反引号中;(三)如果想在字符串中构造命令并执行它,使用eval函数命令。

*****************************

MAXscript是3ds Max内置脚本语言,Max2.0及以后加入的功能。也能使用在与3ds Max相关的产品中如
Autodesk VIZ,character studio,Plasma和GMax;脚本可使用于建模,动画,材质,渲染等等。它是专门
为3D Studio Max设计的。
它的作用:
使用一个开放式界面来自定义和编写 3ds Max 脚本。
3ds Max的大多数功能都可以通过脚本调用。
艺术家和开发人员可以轻松扩展用户界面和自动化操作以执行批处理。
用户可以通过 OLE Automation 建立外部系统的实时接口。
MAXScript ProEditor 为用户提供了一个使用 MAXScript 的智能界面,简化了脚本工作流程。
可以这样说,用脚本可以把Max几乎所有的功能重写一遍(少数功能除外),而且能实现无法用鼠标键盘
实现的操作。那么多流行的脚本就是例证。
[编辑本段]MAXScript Listener 脚本侦听器
编写脚本的重要工具,打开方法如下:

迷你侦听器上右键打开

点命令面板那个“锤子”

然后单击MAXScript,就出现

然后单击Open Listener
打开后就出现脚本侦听器的欢迎界面:

脚本侦听器可以实时执行MAXScript语句,有点像DOS命令窗口,你可以输入命令然后用小键盘上的Enter
马上执行。
迷你侦听器
MAX界面左下角有个迷你侦听器,它是MAXScript Listener的微缩版,每次只显示光标在MAXScript
Listener的中那一行
再回来说说菜单栏MAXScript几个选项:
New Script 打开一个脚本编译器,用来编写脚本,可以保存执行等等操作,以后编写脚本就在这
儿进行。也可以通过那个“锤子”打开。
Open Script... 打开一个选择脚本对话框,一个没加密的脚本就可以通过这里打开看到源代码,并进
行编辑。也可以通过那个“锤子”打开。
Run Script... 打开一个选择脚本对话框,选择一个脚本后就直接执行了,也可以通过那个“锤子”
打开。
MAXScript Listener 打开侦听器,快捷键F11
Macro Recorder 宏记录,非常好的东东,选择后,MAXScript Listener可以自动显示你在MAX里面的操
作的代码,而这些代码你可以直接在你的脚本里面调用。
Visual MAXScript Editor 可视化脚本编辑器,打开后是如下界面,有这个,你可以不必记一些界面元
素的代码,比如说按钮啊,文字框啊,一拖就出来了。

㈡ 要不要给孩子选择一个少儿编程辅导班

关于少儿编程,我们先一起了解一下国外少儿编程的情况:
韩国:从2018年起将编程纳入小学正规必修课程;
美国:小学信息课程内容,几乎都是少儿编程类产品。(美国至少一半以上的高薪工作需要一些编程知识和技能);
英国:早在2014年规定将电脑编程学习纳入当地中小学必修课程, 学龄5岁以上的儿童必须学习电脑编程;
日本:2016年,日本政府将中小学校必修编程科目加入到了新的成长战略草案中;
新加坡:多所中小学推出编程学习项目;
而我们中国在今年3月,教育部公布的文件中表示,将在中小学设置编程课程,以推动编程教育的发展。
所以说,编程是孩子必须要掌握的一门技能,早一点学,将受益终身。报班学习编程是非常有必要的,对孩子未来都非常的有帮助,锻炼思维,培养技能
玩转创造力 《硬件与编程课程辅导班》
教学目标:培养学生运用编程软件在发明过程中应用能力和鹅逻辑思维能力
教学内容:硬件编程SCRATCH图形化编程软件,使用基于ARDUINO图形化编程的电子元器件和复杂电路。

热点内容
Ftp打开文件是只读模式 发布:2025-02-09 07:40:55 浏览:504
androidlistview点击事件 发布:2025-02-09 07:25:52 浏览:171
targz解压缩 发布:2025-02-09 06:59:19 浏览:311
wpsphp 发布:2025-02-09 06:58:41 浏览:961
视易锋云系统如何架设辅助服务器 发布:2025-02-09 06:47:08 浏览:770
mysql备份脚本shell 发布:2025-02-09 06:46:33 浏览:15
腾讯云服务器怎样调整分辨率 发布:2025-02-09 06:46:30 浏览:369
php上一个页面 发布:2025-02-09 06:41:25 浏览:489
改装配置后不想重启怎么办 发布:2025-02-09 06:36:40 浏览:446
算法复杂度定义 发布:2025-02-09 06:30:46 浏览:587