MAXScript语言是3ds max自带的脚本语言,它不但拥有一般程序语言的所有特点,而且可以在程序内实现几乎所有在3ds max界面下的交互操作,功能非常强大,而且语法比较简单,容易上手。 本书详细、系统地介绍了MAXScript语言。全书分成4部分,共23章。第1部分详细介绍了MAXScript语言的基础知识、数据类型、变量、表达式、函数及程序流程控制等语法方面的基础知识;第2部分讲述了MAXScript语言如何创建和修改模型、如何对材质以及动画进行控制;第3部分详述了用MAXSc riDt语言创建实用工具、用户界面等方面的知识;第4部分讲述了如何在脚本程序里控制3ds max用户界面、如何暂停脚本执行、如何控制渲染器、如何执行外部命令或程序以及如何退出和重置3ds max系统等方面的问题。 本书的最大特点是用实例程序对MAXScfipt脚本语言的功能进行演示,实用性强,特别适合有一定3dsmax使用基础的读者阅读,对于专业动画创作人员,本书也有很高的参考价值,可作为工具书随用随查。
3ds MAXScript脚本语言安全学习手册|就上UG网
下载:
目录:
第1部分 MAXScript语法基础
第1章 了解MAXScript
1.1 如何开始MAXScript
1.2 如何新建、编辑、运行脚本文件
1.3 在3ds max开始运行时加载所需的脚本文件
1.4 MAXScript Listener窗口
1.4.1 MAXScript Listener窗口的功能及特点
1.4.2 MAXScript Listener命令
1.4.3 宏记录器(MacroRecorlder)
1.4.4 Listener日志文件
1.5 MAXScript Editor 窗口
1.5.1 MAXScriptEditor窗口功能及特点
1.5.2 MAXScript Editor窗口的菜单命令
1.6 MAXScript桌面状态
1.7 快速学习MAxscript语言的两个方法
1.8 一个简单的MAXScript例子
1.8.1 用MAXScript创建一个简单的Box对象
1.8.2 修改Box对象
1.8.3 Box对象的标准转换
1.8.4 Box对象的更多转换
1.8.5 为Box对象创建动画
第2章 MAXScript语言基础
2.1 脚本文件里命令的求值
2.2 把脚本文件包含在另一个脚本文件中
2.3 向MAXScript里输入数据信息
2.4 使用“?”号
2.5 脚本运行过程的错误信息
2.6 用Esc键中断程序运行
2.7 在MAXscript中使用3ds max命令
2.8 语法定义的格式说明
2.9 MAXScript里的数学运算
2.10 源代码布局规则与注释
2.11 赋值
2.12 属性、方法、操作符、字面常量
2.13 标识符
2.14 保留关键字、标点、符号
2.14.1 保留关键字
2.14.2 标点、符号
第3章 MAXScript数据类型
3.1 数据的操作符和方法
3.1.1 操作符
3.l.2 方法
3.2 基本数据类型
3.2.1 Number
3.2.2 String
3.2.3 Name
3.2.4 BooleanClass
3.2.5 Colot
3.2.6 Point3
3.2.7 Point2
3.2.8 Ray
3.2.9 Quat
3.2.10 AngleAxis
3.2.11 EulerAngles
3.2.12 Matrix3
3.2.13 BigMatrix
3.2.14 Box2
3.2.15 BRAtray
3.2.16 Time
3.2.17 Interval
3.2.18 Bitmap
3.2.19 Stream
3.3 殊数据类型
3.3.1 Undefined类
3.3.2 OK
3.3.3 Unsupplied
3.3.4 DontCollect
3.4 高级数据类型
3.4.1 Structure(结构)
3.4.2 MaxKey类
3.4.3 NoteTrack
3.4.4 Collection(集合类数据)
3.5集合类数据类型
3.5.1 Array(数组)
3.5.2 PathName(路径名)
3.5.3 ObjectSet(对象集)
3.5.4 SelectionSet(选择集)
3.5.5 SelectionSetArray(选择集数组)
3.5.6 NodeChildrenArray(子对象数组)
3.5.7 VertexSelection(顶点选择集)
3.5.8 FaceSelection(面选择集)
3.5.9 EdgeSelection(边选择集)
3.5.10 MaxKeyArray(关键帧数组)
3.5.1 1 MaxNoteKeyArray(Note轨迹关键帧数组)
3.5.12 ModifierArray(修改器数组)
3.5.13 MaterialLibrary(材质库)
3.5.14 ArrayParameter(数组参数类)
第4章MAXScript语言的变量和表达式
4.1变量赋值
4.2变量的求值顺序
4.3变量的作用域
4.4局部变量和全局变量
4.5保留全局变量
4.5.1预定义全局变量
4.5.2 3ds max系统变量
4.5.3 MAXScript系统变量
4.6持续型全局变量
4.7变量的几个特性
4.8表达式
4.9简单表达式
4.9.1数学表达式
4.9.2比较表达式
4.9.3逻辑表达式
4.9.4函数调用表达式
4.9.5块表达式
4.10关联表达式
4.10.1 animate
4.10.2 at level、in
4.10.3 at time
4.1 0.4 coordsys
4.10.5 about
4.10.6 undo
4.10.7关联语句的迭加
4.10.8关联语句嵌套
4.10.9持续关联语句
第5章控制MAXScript程序流程
5.1 if表达式
5.2 case表达式
5-3 while循环和do循环
5.4 for循环
5.5 continue语句
5.6 exit语句
5.7 tu表达式
第6章MAXScript自定义函数
6.1创建自定义函数
6.2函数变量
6.3函数参数
6.4 return表达式
6.5函数调用的优先级
第2部分用MAXScript操作场景对象
第7章对象超级类MAXWrapper
7.1 MAXWrapper的通用属性和方法
7.1.1 MAXWrapper值和类的通用属性.
7.1.2 MAXWrapper值和类的通用方法.
7.2 MAXWrapper的扩展数据
第8章创建Node(节点)对象
8.1 Node类构造函数
8.2 Node类方法
8.2.1通用方法
8.2.2与渲染有关的方法
8.2.3与组(Group)有关的方法
8.2.4与视窗状态有关的方法
8.2.5与对象选择有关的方法
8.2.6与修改器堆栈(Modifier Stack)有关的方法
8.2.7与对象Modifier关联转换有关的方法
8.2.8与对象转换有关的方法
8.2.9与用户定制属性有关的方法
8.2.10与IK属性有关的方法
8.2.1 1 Node类其他方法
8.3 Node类对象属性
8.3.1 Node通用属性
8.3.2与Target/LookAt有关的属性
8.3.3与视窗有关的属性
8.3.4与层有关的属性
8.3.5与渲染有关的属性
8.3.6与转换有关的属性
8.3.7使用Node对象的转换属性
8.3.8定制Node属性
8.4 Node子类
8.4.1 GeometryClass:Node
8.4.2 GeometryClass的操作符和方法
8.4.3 Geometry-Standard Primitives(标准基本体)
8.4.4 Geometry-Extended Primitives(扩展基本体)
8.4.5 Geometry-Dynamics Objects(动力学对象)
8.4.6 Geometry-Compound Objects(复合对象)
8.4.7 Geometry-Door和Window(门窗建筑对象)
8.4.8 Stair:GeometryClass(楼梯建筑对象)
8.4.9 Geometry-Patch Objects(面片栅格对象)
8.4.10 Geometry-Particle Systems(粒子系统)
8.4.1l Geometry-NURBS Objects(NURBS对象)
8.5 Shape:Node
8.5.1 Shape类方法
8.5.2 Shape-Spline(样条曲线)
8.5.3 Spline类Shape对象通用属性和方法
8.5.4 NURBS曲线
8.6 Light:Node
8.6.1 Light通用属性、操作符和方法
8.7 Camera:Node
8.7.1 Camera通用属性
8.8Helper:Node
8.8.1 Bone:Helper(骨骼系统)
8.8.2 Compass:Helper(指南针辅助对象)
8.8.3 Dummy:Helper(虚拟辅助对象)
8.8.4 Grid:Helper(栅格辅助对象)
8.8.5 Poim:Helper(点辅助对象)
8.8.6 Protractor:Helper(量角器辅助对象)
8.8.7 Tape:Helper(卷尺辅助对象)
8.8.8 Helper-Atmospheric(大气装置)
8.8.9 Helper-Camera Match(摄影机匹配)
8.8.10 Helper-VRML 1.0/VRBL
8.8.11 Anchor:Helper
8.8.12 AudioClip:Helper(锚定VRML97辅助对象)
8.8.13 Background:Helper(背景VRML97辅助对象)
8.8.14 Billboard:Helper(布告牌VRML97辅助对象)
8.8.15 FogHelper:Helper(雾VRML97辅助对象)
8.8.16 InlineHelper:Helper(内嵌VRML97辅助对象)
8.8.17 LODHelper:Helper(LOD VRML97辅助对象)
8.8.18 Navlnfo:Helper(漫游信息VRML97辅助对象)
8.8.19 ProxSensor:Helper(范围感应器VRML97辅助对象)
8.8.20 Sound:Helper(音频剪辑VRML97辅助对象)
8.8.21 TimeSensor:Helper(时间感应器VRML97辅助对象)
8.8.22 TouchSensor:Helper(触动感应器VRML97辅助对象)
8.9 System:Node(系统)
8.9.1 Bones:System(骨骼系统)
8.9.2 Sunlight:System(太阳光系统)
8.9.3 RingArray:System(环形阵列系统)
8.10 SpacewarpObject:Node(空间扭曲)
8.10.1 Bomb:SpacewarpObject(爆炸空间扭曲)
8.10.2 ConformSpaceWarp:SpacewarpObject(一致空间扭曲)
8.10.3 SpaceDisplace:SpacewarpOMect(位移空间扭曲)
8.1 0.4 SpaceFFDBox:SpacewarpObject(EFD长方体空间扭曲)
8.10.5 SpaceFFDCyl:SpacewarpObject(FFD柱体空间扭曲)
8.10.6 SpaceRipple:SpacewarpObject(涟漪空间扭曲)
8.10.7 SpaceWave:SpacewarpOqect(波浪空间扭曲)
8.10.8 Gravi妙:SpacewarpObject(重力空间扭曲)
8.10.9 Motor:SpacewarpObiect(马达空间扭曲)
8.10.10 PBomb:SpacewarpObject(粒子爆炸空间扭曲)
8.10.11 PushSpaceWarp:SpacewarpObject(推力空间扭曲)
8.10.12 Wind:SpacewarpObjlect(风力空间扭曲)
8.10.13 SpaceBefid:SpacewarpObject(弯曲修改器)
8.10.14 SpaceNoise:SpacewarpObject(噪波修改器)
8.10.15 SpaceSkew:SpacewarpO bject(倾斜修改器)
8.10.16 SpaceStretch:SpacewarpObject(挤出修改器)
8.10.17 SpaceTaper:SpacewarpObject(锥化修改器)
8.10.18 SpaceTwist:SpacewarpObject(扭曲修改器)
8.10.19 PDynaFlect:SpacewarpObject(动力学导向板空间扭曲)
8.10.20 SDynaFlect:SpacewarpObject(动力学导向球空间扭曲)
8.10.21 UDynaFlect:SpacewarpObject(通用动力学导向器空间扭曲)
8.10.22 Deflector:SpacewarpObject(导向器空间扭曲)
8.10.23 Path Follow:SpacewarpO~iect(路径跟随空间扭曲)
8.10.24 POmniFlect:SpacewarpObject(泛方向导向板空间扭曲)
8.10.25 SDeflector:SpacewarpObject(导向球空间扭曲)
8.10.26 SOmniFlect:SpacewarpObject(泛方向导向球空间扭曲)
8.10.27 UDeflector:SpacewarpObiect(通用导向器空间扭曲)
8.10.28 UOrrmiFlect:SpacewarpObject(通用泛方向导向器空间扭曲)
8.11 XRefObiect:Node(外部参照对象)
8.11.1 XRefScene Values
8.12 Track View Node(轨迹视窗节点)
8.13 NURBS Node属性和方法
8.13.1 NURBS类
8.13.2 NURBSCurveshape:Shape
8.13.3 NURBSOb;ect通用属性
8.13.4 NURBSPoint:NURBSObiect(点子对象)
8.13.5 NURBSCurveConstPoint:NURBSPoint(曲线点)
8.13.6 NURBSCurveIntersectPoint:NURBSPoint(曲线.曲线相交点)
8.13.7 NURBSCurveSurfaceIntersectPoint:NURBSPoint(曲面.曲线相交点)
8.13.8 NURBSlndependentPoint:NURBSPoim(独立点)
8.13.9 NURBSPointConstPoint:NURBSPoint(偏移点)
8.13.10 NURBs.surfConstPoint:NURBSPoim(曲面点)
8.13.11 NURBSComrolVertex:NURBSObiect(控制顶点对象)
8.13.12 NURBSCurve:NURBSObiect(曲线子对象)
8.13.13 NURBSBlendCurve:NURBSCurve(混合曲线)
8.13.14 NURBSChamferCurve:NURBSCu~e(切角曲线)
8.13.15 NURBSCVCurve:NURBSCurve(CV曲线子对象)
8.13.16 NURBSCurveonSurface:NURBSCVCurve(曲面上的CV曲线)
8.13.17 NURBSFilletCurve:NURBSCurve(圆角曲线)
8.13.18 NURBSIsoCurve:NURBSCurve(U向和V向等参曲线)
8.13.19 NuRBsMirrorcurve:NURBscurve(镜像曲线)
8.1 3.20 NURBS0ffsetCurve-NURBSCurve(偏移曲线)
8.13.2l NuRBsPointcurve:NURBscurve(点曲线子对象)
8.13.22 NURBSPoimCurveonSurface:NURBSPointCurve(曲面上的点曲线)
8.13.23 NuRBsProiectNormalcurve"NuRBscurve(法向投射曲线)
8.13.24 NURBSProjectVectorcurve:NURBSCurve(矢量投射曲线)
8.13.25 NURBSSurfaceEd辨Curve:NURBSCurve(曲面边曲线)
8.13.26 NURBSSurfaceNormalCurve:NuRBSCLlrve(曲面法线曲线)
8.13.27 NURBSSurfSurfIntersectionCurve:NURBSCurve(曲面.曲面相交曲线)
8.13.28 NURBSXFormCtlrve~NURBSCurve(变换曲线)
8.13.29 NURBSSurface:NURBS0biect(曲面子对象)
8.13.30 NuRBSlRailSweepSurface:NURBSSurface(单轨扫描曲面)
8.13.3l NURBS2RailSweepSurface:NURBSSurface(双轨扫描曲面)
8.13.32 NURBSBlendSurface:NURBSSurface(混合曲面)
8.13-33 NURBSCaDSurface:NURBSSurface(封口曲面)
8.13.34 NURBSCVSurface:NURBSSurface(CV曲面子对象)
8.13.35 NURBSExtmdeSurface:NURBSSurface(挤出曲面)
8.13.36 NURBSFilletSurface:NURBSSurface(圆角曲面)
8.13-37 NURBSLatheSurface:NURBSSurface(车削曲面)
8.13.38 NuRBSMiITOrSurface:NURBsSurface(镜像曲面)
8.13.39 NuRBSMultiCurveTrb'nsurface"NURBSSurface(多重曲线修剪曲面)
8.13.40 NURBSNBlendSurface:NURBSSurface(混合曲面)
8.13.41 NURBS0ffsetSurface:NURBSSurface(偏移曲面)
8.13.42 NURBSPointSurface:NURBSSurface(点曲面子对象)
8.13.43 NURBSRuledSurface:NURBSSurface(规则曲面)
8.13.44 NURBSULoftSurface:NURBSSurface(U向放样曲面)
8.13.45 NURBSUVLoftSurface:NURBSSurface(Uv放样曲面)
8.13.46 NURBSXFormSurface:NURBSSurface(变换曲面)
8.13.47 NURBSTeXtatePoint:NURBS0biect(纹理曲面)
8.13.48 NURBSDisplay:Value
8.1 3.49 NURBSSelection:Value
8.1 3.50 NURBSSet:Value
8.13.51 NURBSSurfaceApproximatiOn:Value
第9章 Edilable_Mesh、SpIineShape、Patch和EditabIe—Poly
9.1 Editable Mesh和TriMesh:GeometryClass(可编辑网格和三角网格)
9.1.1 Editable Mesh和TriMesh构造函数、操作符、属性
9.1.2 Mesh通用方法
9.1.3 Mesh Vertex方法
9.1.4 Meshop Vertex方法
9.1.5 Meshop Vertex数据方法
9.1.6 Mesh Edge方法
9.1.7 Meshop Edge方法
9.1.8 Mesh Face方法
9.1.9 Meshop Face方法
9.1.10 Mesh方法
9.1.11 Meshop Mapping通用方法
9.1.12 Meshop Editable Mesh用户界面控件方法
9.1.13 Mesh Texture Vertex方法
9.1.14 Mesh Color-Per-Vertex方法
9.1.15 Subdivision Displacement Surface方法
9.1.16 Editable Mesh Modify面板命令的操作方法
9.1.17使用Editable Mesh的示例
9.2 SplineShape:Shape
9.2.1 SplineShape属性
9.2.2使用SplineShape方法的注意事项
9.2.3 Shape方法
9.2.4 Spline方法
9.2.5 Segment方法
9.2.6 Knot方法
9.2.7 Editable_Spline Modify面板命令的操作方法
9.3 Patch:GeometryClass
9.3.1 Editable_Patch Modify面板命令的操作方法
9.4 Editable_Poly:GeometryClass
9.4.1 Editable_Poly方法
9.4.2 Editable_Poly Modif3,面板命令的操作方法
第10章Modifler(对象空间修改器)和Spacewarp(世界空间修改器)
10.1 Modifier:MAXWrapper
10.2 Modifier通用属性和方法
10.3 Modifier子对象转换属性
10.4对象空间修改器分类
10.5世界空间修改器构造函数属性
第11章 Material(材质)和TextureMap(贴图)
11.1 Material类通用属性和方法
12.2 Material材质类型
13.3 TextureMap:Material
13.4 贴图类型
第12章动画控制器
12.1 Controller(控制器)类
12.2控制器通用属性
12.3控制器通用方法
12.4与控制器时间有关的方法
12.5与控制器关键帧有关的方法
12.6与控制器ORT有关的方法
12.7与控制器Ease曲线和Multiplier曲线有关的方法
12.8与控制器关键帧衰减有关的方法
12.9与对象层级有关的时间和关键帧方法
12.10控制器类型
第13章Atmospheric(环境效果)
13.1 Atmospheric类通用属性和方法
13.2 Atmospheric Effect(环境效果类型)
1 3.3 Fire—Effect:Atmospheric(火焰环境效果)
13.4 Fog:Atmospheric(雾环境效果)
13.5 Volume_Fog:Atmospheric(体积雾环境效果)
13.6 Voltmae_Light:Atmospheric
13.7使用Atmospheric的示例
第14章RenderEfiect(渲染效果)
14.1渲染效果通用属性和方法
14.2渲染效果类型
14.3 Blur:RenderEffect(模糊渲染效果)
14.4 Brightness and Contrast:RenderE艉ct(亮度和对比度渲染效果)
14.5 Color Balance:RenderEffect(颜色平衡渲染效果)
14.6 Depth of Field:RenderEffect(景深渲染效果)
14.7 File Output:RenderEffect(文件输出渲染效果)
14.8 Film Grain:RenderEffect(胶片颗粒渲染效果)
14.9 Lens Effects:RenderEffect(镜头渲染效果)
14.10 Motion—Blur:RenderEffect(运动模糊渲染效果)
第3部分 用MAXScript创建实用工具、用户界面
第15章创建脚本工具程序Utility
15.1关于定制脚本工具程序Utility
15.2定义脚本工具程序Utility
15.3 Utility子句
15.4在一个脚本工具Utility里定义多个卷展栏
15.5 Rollout子句
15.6 Utili哆和Rollout的属性、方法和事件处理程序
l5.7 Rollout浮动窗口
l5.8局部变量、函数、结构和用户界面控件的定义顺序
15.9从外部代码里存取Utilit)r内部局部变量和控件
15.10 Rollout用户界面控件
15.11图像按钮
第16章RcMenu(右键菜单)
16.1 RcMenu子句
16.2 RcMenu用户界面控件
第17章宏脚本(MacroScript)
17.1定义宏脚本
17.2创建图标位图文件
第18章脚本鼠标工具
18.1脚本鼠标工具定义
1 8.2 MouseTool子句
第19章脚本插件
19.1 Plug-in子句
19.2脚本插件方法
19.3脚本插件的更新
19.4 Geometry(几何体)类脚本插件
19.5 SimpleObiect类脚本插件
19.6 Shape类脚本插件
19.7 Light类脚本插件
19.8 Helper类脚本插件
19.9 Modifier类脚本插件
19.10 SimpleMod类脚本插件
19.11 Material类脚本插件
19.12 TextureMap类脚本插件
19.13 RenderEffect类脚本插件
19.14 Atmospheric类脚本插件
第4部分MAXscript的高级应用
第20章在MAXScript里与用户界面交互
20.1 Main Toolbar(主工具栏)
20.2 Status Bar(状态栏)
20.3 Time Control(时间控制)
20.4 Trackbar(轨迹栏)
20.5 Viewport(视窗)
20.6 3ds max用户界面颜色
20.7 Material Editor
20.8轨迹视图(Track View)
20.9渲染场景(Render Scene)对话框
20.10图解视图(Schematic View)
20.1 1 Time Configuration对话框
20.12 RAMPlayer
20.13 Track Miew Pick对话框
20.14选择场景对象
20.15提示信息框和询问对话框
20.16其他对话框
20.17键盘输入
20.18 3ds max系统路径
20.19 3ds max场景文件属性
第21章在MAXScript里存取文件
21.1 3ds max场景文件的装载和保存
21.2与Bitmap文件有关的方法
21.3标准文件打开、存储对话框
21.4文件名提取
21.5外部文件方法
21.6加密文件
21.7存取.INI文件
21.8存取.CUI文件
第22章事件侦测和信号反馈机制
22.1事件侦测和when构造函数
22.2时间改变信号反馈机制
22.3视窗刷新信号反馈机制
22.4通用事件反馈机制
第23章 MAXScript杂项函数
23.1暂停脚本执行
23.2时间计算函数
23.3控制渲染器
23.4执行外部命令或程序
23.5退出和重置3ds max系统
23.6其他函数
|