MaxScript授课大纲.doc

上传人:hs****ma 文档编号:558332073 上传时间:2023-08-29 格式:DOC 页数:14 大小:139.50KB
返回 下载 相关 举报
MaxScript授课大纲.doc_第1页
第1页 / 共14页
MaxScript授课大纲.doc_第2页
第2页 / 共14页
MaxScript授课大纲.doc_第3页
第3页 / 共14页
MaxScript授课大纲.doc_第4页
第4页 / 共14页
MaxScript授课大纲.doc_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《MaxScript授课大纲.doc》由会员分享,可在线阅读,更多相关《MaxScript授课大纲.doc(14页珍藏版)》请在金锄头文库上搜索。

1、l MaxScript概述MaxScript是3dsmax和Autodesk VIZ内置的脚本语言,它的形式非常自由和简单,它比较浅层,也几乎不涉及内存与数据的操作MaxScript有很多结构是非常有特色的。如坐标系关联、原始物体和材质结构;可自动设置关键帧的动画模式;还可以使用表示3dasmax层级关系的路径名来访问场景物体。MaxScript的语法非常简单,标点符号和书写规则都非常少。通过与命令行侦听器窗口交互,把工具安装为按钮,提取操作记录为脚本命令,可以大大的提高工作效率;MaxScript可以足够充分的能力完成复杂的程序任务,因为它拥有矢量、矩阵、四元数等数据类型进行代数运算。Max

2、Script非常适合大数量对象的工作。例如编写复杂的选择程序,构建星空MaxScript与3ds Max界面的整合性非常好。可以把脚本打包进工具面板的卷帘窗或非模块化的窗口里,或者与工具条的按钮、菜单、四元菜单或快捷键相关联。MaxScript还可以扩展或替换物体、修改器、材质、贴图、渲染或大气效果的用户界面。还可以创建自定义的网格物体、修改器和渲染特效用户界面。这种良好的整合可以使技术部门针对特定任务用脚本编写工具,使艺术家或动画师可以象在原有的3dsmax用户界面中那样通过点击式操作使用脚本工具MaxScript支持格式化文本和二进制数据的输入和输出。所以,可以直接从3dsmax场景文件中

3、直接输出文档的结构报告,或者从其他程序管理软件中读取包含场景布局、名称、贴图细节等内容的文件。外部文件和目录访问功能使MaxScript十分适合执行数据收集和分析、形成数据结构和渲染文件等的报告,通过内置的命令行和壳的支持与其他程序或脚本语言进行交互访问。MAXScript还可以被用作高层场景的输出工具。通过输出包含物体生成命令的脚本,使输出对任何高层3dsmax结构的应用成为可能。MaxScript甚至可以用来把max高版本文件转换到低版本的max中去,而不必求诸第三方数据格式入门部分一 认识Maxscript界面打开脚本编辑器打开脚本侦听器Mini脚本侦听器在侦听器中查看操作记录在操作记录

4、中提取脚本编辑器中运行脚本数字键盘回车单行运行或运行被选择语句Ctrl+e 执行整个脚本二入门实例书写规则书写形式非常自由,对大小写不敏感,一个表达式结束后进行换行时不需要加分号2+54*6-7-9a+b与A+B是一样的换行,并可以在任何操作符后面打断语句换行,MaxScript会读取代码直到读取一个完整的表达式a+b*c /d - e + f * g / ha+b * c / d - e +f * g / h错误的换行a + b * c / d - e +f * g / h用斜杠换行a + b * c / d e +f * g / h如果在同一行中书写多个表达式,用分号分开1+2;23;si

5、n 30注释,使用双减号如Sphere()-创建一个球体变量赋值变量赋值的语法变量名=变量值注意变量的名的书写由下划线或英文字母开头,可以包含任意数量的英文字母或数字变量值可以是一个数,字符串或表达式给变量赋予一个字符串mystring = This is my string.通过输入变量引用变量的值Mystring为这个变量重新赋值mystring = This is not your string.Mystring基本的运算35.0*2PiPi系统预定义的全局变量4/3*pi*2.53字符串操作a=”MaxScript ”b=”is a freeform language”a+b随机数的生

6、成Random 1 100Random 0,0,0100,100,100自运算X=5X=x+1可以写作x+=1加减乘除都可以使用这种快捷方式X*=2x-=2x/=2对物体进行操作Box()b=box()b=box length:20 width:20 height:20对指定的物体进行操作$box01Select $box01改变物体颜色b.wirecolor=greenb.wirecolor=color 0 0 255b.pos=0,0,15b.scale=1,1,2move b 0,0,-15scale b 1,1.5,1rotate b 30 z_axisrotate b -30 0,0

7、,1修改物体特有的属性b.height=30b.width=10b.length=10查看物体属性的两种办法Showclass()使用方法 Showclass “box.*” 可以在脚本侦听器窗口中显示 box类的属性Box : GeometryClass 10,0 .height : float .length : float .lengthsegs : integer .width : float .widthsegs : integer .mapcoords : boolean .heightsegs : integerShowProperties()使用方法 showPropertie

8、s b需要针对专门物体复制物体Copy b复制时可以修改一些通用属性,如位置,旋转,线框颜色Copy b pos:(b.pos+0,10,0) wirecolor:green使用循环语句进行阵列P=b.posFor i=1 to 50 do ( P.x+=50 Copy b pos:p)-For i=1 to 50 do ( P.x+=50C=Copy b pos:pc.height=50+25*sin(i*360/8.0)-animate on For i=1 to 50 do ( P.x+=50 at time i(C=Copy b pos:p c.height=50+25*sin(i*3

9、60/8.0) )创建星空在+400和-400的空间中创建用 showclass()查看球类的属性For i=1 to 500 do( P=random -400,-400,-400 400,400,400 Sphere radius:(random 10 1.0) segs:4 pos:p)定义函数Fn starField size segs num:100 =(For i=1 to num do( P=random (size*-1,-1,-1) (size*1,1,1) Sphere radius:(random 10 1.0) segs:segs pos:p)函数调用Starfield

10、 500 4 num:300MaxScript的基本结构表达式什么是表达式?在各种计算机语言的相关书籍中都有对其概念的介绍,尽管措辞不同,但都有一个共识,那就是表达式是可以对其求值的任何语句。在MAXScript中的任何结构都是表达式,都产生值,这种基于表达式的结构使MAXScript的书写非常简单,自由,而且十分直观。只要是可以书写的地方,就可以书写MAXScript的任何结构。我们用if结构来说明。例如:if a b then print c else print d我们可以把这个if表达式写进赋值语句中:x = if a b then c else d而if结构和赋值语句本身也是表达式,

11、所以又可以把它们嵌套在一个if结构中:x = if (if a b then c else d) e then f else (g = 23)还有一个例子是块表达式。块表达式就是用圆括号括起来的一连串表达式,在语法描述中被标记为。(print aprint bif a b then print the big a)块中的表达式用换行分割,你还可以把这些表达式写到一行里,用分号(“;”)隔开:print a; print b; if a b then print the big a)块表达式本身也是表达式。它按顺序执行执行每一个子表达式,然后把最后一个表达式的值作为块表达式的值,一定要记住这一点

12、。数据类型NumberStringBooleanClassPoint3Matrix3QuatArray1. NumberMAXScript有两种数的类型:单精度浮点数和32位整型数。这两种数的类型相当于max中使用的浮点数和整数类型。123123.45-0.003451.0e-60x0E.1abs 求绝对值,返回类型与给定的参数一致mod 。模运算,即第一个数被第二个数除后的余数,返回结果为浮点数ceil ceiling是上限的意思,返回大于或等于给定数的那个最近的整数,返回类型总是为浮点数,如ceil 15.1的结果为16floor 求小于或等于给定数的那个最近的整数,返回类型总为浮点数.如

13、floor 1.5的结果为15三角函数MAXScript 中还有标准三角函数,角度以度为单位,返回结果为浮点数。这些三角函数是:acos -反余弦函数asin -反正弦函数atan -反正切函数atan2 -反正切函数的另一种形式cos -余弦函数cosh -双曲余弦函数sin -正弦函数sinh -双曲正弦函数tan -正切函数tanh -双曲正切函数exp - e的指数函数log - 以e为底的自然对数log10 -以10为底的常用对数pow -指数函数sqrt -平方根函数随机函数random -随机函数,返回值的类型为第一个参数的类型seed -随机种子函数角度转换函数degToRad 把度转换为弧度,结果总为浮点数radToDeg 把弧度转换为度,结果总为浮点数2. String字符串是用括号括起来的一系列字符如:s1 = Truth, Justice And The American Ways2 = The American Ways3 = All That Stuff用.count属性访问字符个数访问某个字符用索引数(下标)如 s133. BooleanClass字面常量truefalseon -相当于trueoff - 相当于fa

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号