maxscript教程

合集下载

【MAXScript】3DMax批量修改贴图名及模型名

【MAXScript】3DMax批量修改贴图名及模型名

【MAXScript】3DMax批量修改贴图名及模型名一堆废话想不到自己还会接触3DMAX的脚本语言——MAXScript。

首先申明一下,本人不是建模组的,对建模什么的不甚了解。

倒是想学来着,会点建模如果自己要独立开发一些小项目,也可以不麻烦人,如果可以,什么事情还是自己亲力亲为来得快。

可是同事说怕我抢了他的饭碗,愣是没有教我。

嘿嘿!其实我知道那不过是他的玩笑话,主要还是我自己没有时间去学啦,毕竟不是一朝一夕就能够学会的。

“这么多模型,这么多贴图要怎么改?”又听见建模组同事在仰天长哮~~~公司早期有很多项目是使用一款叫virtools(我也有幸用过一段时间,oh no!跟unity真的不是一个等级的,最关键的是网上完全没有资料可寻,碰到一个问题,可以折腾你一个星期也束手无策~)的引擎来开发的,后来客户要求将一些virtools项目改成unity3D,而virtools引擎支持中文命名的模型及贴图,但是众所周知,unity对中文的支持不是很好,经常因为中文发生莫名的错误,或者乱码之类的问题,所以不得不将这些模型和贴图的名称全部改成英文的。

“你们3DMAX有没有什么脚本之类的,可以使用脚本来批量改啊,一般软件都会自带脚本,以解决软件自身功能局限的问题。

”我刚说完,就感受到了来自对面的‘杀气’,只见同事恶狠狠的盯着我。

好吧!我错了,忘了同事压根没有写过代码,说了也是白说(我不是有意要打击你们的哟)。

“好吧,我帮你看看3DMAX有没有脚本,研究一下要怎么写。

”同事听罢,嘴角上扬。

唉,这奸笑意味着我又要折腾一番了。

于是,便开始了MAXScript编程之旅。

批量修改模型名没有任何MAXScript基础该怎么开始呢?总要先了解一下该脚本语言的语法规则和常用API吧,于是上网下载了本电子书《3ds MAXScript 脚本语言完全学习手册》(各位看官可自行搜索下载,很好找哦,一搜一大把)。

(由于自己机子上没有装3DMAX,所以也不方便附上测试的截图,但是代码之前都是在同事机子上实验过的,成功帮助他们改了模型名以及贴图名,所以在特定条件下是没有问题的,关于这个“特定条件下”以及可能会出现的问题在后面也会提到。

maxscript 旋转轴心 代码

maxscript 旋转轴心 代码

Maxscript是3ds Max中的脚本语言,可以用于创建和修改3D模型,进行动画和渲染等操作。

其中,旋转轴心是一个常用的功能,可以用来实现模型的旋转。

本文将介绍如何使用Maxscript编写旋转轴心的代码。

1.获取选中对象的中心点坐标在编写旋转轴心的代码之前,我们首先需要获取选中对象的中心点坐标。

这可以通过以下代码实现:```selectedObject = selection[1]center = [0,0,0]for i=1 to (getNumSubObjects selectedObject) do(center += (polyOp.getVert selectedObject i))center /= (getNumSubObjects selectedObject)```上述代码中,我们首先获取选中对象的顶点坐标,然后将这些坐标累加起来,并最终求得平均值,即为对象的中心点坐标。

2.旋转对象接下来,我们可以编写旋转对象的代码。

在这个示例中,我们将选中对象绕Y轴旋转90度,代码如下:```selectedObject.rotation *= (eulerAngles 0 90 0)```这段代码中,我们使用了eulerAngles函数来表示旋转角度,将Y轴旋转90度,并将结果赋值给选中对象的旋转属性。

3.指定旋转轴心如果我们需要指定旋转的轴心,可以使用以下代码来实现:```axis = [0,1,0]angle = 90selectedObject.rotation *= (rotationMatrix (angle as quaternion) (center as point3) axis)```上述代码中,我们首先定义旋转轴心的坐标和旋转角度,然后使用rotationMatrix函数来实现围绕指定轴心的旋转操作。

通过以上代码示例,我们可以看到如何使用Maxscript编写旋转轴心的代码。

max脚本教程

max脚本教程

max脚本教程MAX脚本是3ds Max软件中的一种高级脚本语言,用于自动化完成各种任务,提高工作效率。

本教程将介绍MAX脚本的基础知识和常用功能,共计1000字。

第一部分:MAX脚本基础知识(300字)MAX脚本是一种基于MAXScript语言编写的脚本,使用简单但强大。

MAXScript是3ds Max中的一种脚本语言,可以通过脚本编写程序来完成各种任务。

在开始编写MAX脚本之前,需要了解一些基础知识。

首先是MAXScript的语法,包括变量的定义、循环、条件语句等。

其次是了解3ds Max的对象模型,包括场景、物体、材质等。

第二部分:MAX脚本常用功能(400字)MAX脚本可以完成各种任务,下面介绍几个常用的功能。

1. 创建和修改物体:使用MAX脚本可以通过编写代码来创建、复制、修改3D物体,可以修改物体的位置、旋转、缩放等属性。

可以根据自己的需要编写代码来快速创建和调整物体。

2. 自动化渲染设置:使用MAX脚本可以自动设置场景的渲染参数,包括光照、材质、渲染器等。

可以通过编写脚本来快速设置场景的渲染参数,提高渲染效率。

3. 批量导入和导出:使用MAX脚本可以批量导入和导出模型,可以自动化完成这个过程。

可以根据自己的需要编写脚本来批量处理模型的导入导出。

4. 自动化建模:使用MAX脚本可以自动化完成建模的过程,可以编写脚本来生成各种形状的物体,或者根据规则生成复杂的模型。

可以根据自己的需要编写脚本来提高建模效率。

第三部分:MAX脚本编写实例(300字)这里以一个实际的例子来介绍MAX脚本的编写过程。

假设需要编写一个脚本来自动创建一个车库的场景,包括墙壁、地板、天花板、门等。

首先,定义一些基本参数,比如车库的尺寸、墙壁的高度等。

然后,使用MAX脚本来创建墙壁、地板、天花板等物体,可以根据参数来确定物体的位置和尺寸。

接着,使用MAX脚本来创建门,并设置门的位置和尺寸。

最后,使用MAX脚本来设置渲染参数,添加光源等,最终完成整个车库场景的创建。

maxscript脚本语言的(五十)【图文教程】

maxscript脚本语言的(五十)【图文教程】

maxscript脚本语言的(五十)【图文教程】【正文】今天的内容简单,但是却非常必要。

我们都知道,观看别人的脚本源码,学习每一个功能的具体写法,是脚本提升最快的一种方式。

但是因为基础薄弱,想要看懂别人的脚本太难了。

比如下面这个截图:满屏幕的 fn ,这到底是个啥表达式,这么厉害。

其实这个我们前面讲过的。

fn 相当于自己的预定义函数。

也就是你设定一个变量的名称,然后让他等于一个表达式。

然后后面界面设定完成后,想要设置一个按钮,调用这个功能的话,只需要写上变量名再加上一对小括号,就可以用了。

举个例子:下图的 fn 定义了变量名 updatelistMat 这个变量名,它等于下面的一大堆计算。

有预设,有for循环,有if判断,好大的一坨。

后面还跟了一大堆收尾组啥的。

然后底下写完按钮了,点击btnref这个按钮时,就调用前面写的那个updatelistMat() 变量预设函数就好了。

多简单。

这是一个思维习惯的问题。

程序员在思考一个功能时,是独立的。

知道把这个功能解决。

然而合入截面时,不想重新写一遍了。

也就是功能是功能,界面编写是界面编写。

那么咋办呢?就用fn在前面定义一下自己写的脚本等于个变量名。

然后后面再去调用这个自己定义的变量名。

好的理解了fn这个设定后,我们再来看一个常见的表达式书写try() catch()如图,这里面有两个try表达式的书写。

第一种是比较常用的写法。

前面不论写了一堆啥,后面直接跟一个catch()第二种是完整的写法,但是一般不这么写。

还是前面不管写了一堆啥,后面调用一个结果。

下来看看官方的解释。

下图是从王华老师的书上截取的中文翻译。

红线画的位置写的已经很清楚了。

我们再从字面上来翻译一下。

try的意思是常识catch的意思是引用调用那意思非常明白了。

就是我不知道我写的对不对,但是我怕它影响整个脚本的运行,所以我加个try的表达式试一下。

能成功那最好,成功不了,也别影响整个脚本的运行。

MAXScript零起点系列教程3

MAXScript零起点系列教程3

飞浪脚本零起点入门系列(三)MAXScript算术表达式与赋值表达式著作:飞浪制作:【WEWE】声明:本教程为CG++原创,未经本人允许,禁止一切形式的转载,谢谢合作:)上一节:飞浪脚本零起点入门系列(二)MAXScript数据类型飞浪脚本零起点入门系列(三)MAXScript算术表达式与赋值表达式本节关键词:+-*/^as=+=-=*=/=本节跟上节紧密联系,希望没学过程序的朋友把开始这几节一定要弄懂。

你要是学过程序,了解一下MAXScript的规则吧。

算术表达式MAXScript算术表达式与我们小学时学的算术一个道理,都是对数值进行运算如加、减、乘、除等。

MAXScript数学运算符有:+数学中的加号,如1+1,a+b-数学中的减号,如2-1,a-b*数学中的乘号,如5*6,a*b/数学中的除号,如4/2,a/b^数学中的幂运算,如2^6即2的6次方as强制类型转换,严格说这不是数学运算符,以后会发现as会用在很多地方。

好,现在打开MAXScript Listener试试以上数字运算:运算符可以对数字进行运算,同时运算符左右还可以是函数调用或另外的数学表达式,即复合运算,如:(a+b)/c;(sin x)*-d。

as,具体表达式为:操作数as类型,这里的类型就包括上节讲的部分数值类型,用法如下:1.234as integer--1.234是float类型数值,integer是整形数值,这句就是强制把1.234变为整形数值,它不是四舍五入,而是直接将小数点后面的尾巴去掉,所以上面那句跟1.934as integer一个效果得到结果1。

123456789as string--强制把数值123456789转化为字符常量,结果为"123456789"。

下面大家试试数值转换的结果:我们知道,数学运算有优先级,以前背的口决:先算乘除,后算加减,有括号先算括号,那么在MAXScript里面也是一样的,唯一不同的是,MAXScript 运算里面只有小括号(),那么如果我想括号里面再加括号怎么办呢?还是小括号。

maxscript 旋转轴心 代码 -回复

maxscript 旋转轴心 代码 -回复

maxscript 旋转轴心代码-回复Maxscript(3dsMax脚本语言)中的旋转轴心是一个非常常用的功能,可以帮助我们在3D建模和动画制作中实现复杂的旋转效果。

本文将一步一步回答关于Maxscript旋转轴心的使用和代码实现问题。

首先,让我们了解一下旋转轴心的概念。

在3D空间中,物体的旋转通常是相对于某一个轴心进行的。

这个轴心可以是物体本身的中心点,也可以是用户自定义的点。

Maxscript提供了一个内置的属性叫做“pivot”,用来表示一个物体的旋转轴心。

我们可以通过Maxscript对这个属性进行控制,从而实现旋转轴心的改变。

在Maxscript中,我们可以通过以下步骤来实现旋转轴心的改变:第一步:选择要操作的物体我们首先需要选择一个要操作的物体。

在Maxscript中,可以使用“_”这个关键字表示当前被选中的物体。

我们可以通过以下代码来获取当前被选中的物体:selectedObj =第二步:获取轴心数据在Maxscript中,物体的旋转轴心数据是保存在一个叫做”pivot“的属性中的。

我们可以通过以下代码来获取当前物体的旋转轴心数据:pivotPos = selectedObj.pivot这个代码会将物体的旋转轴心位置保存在一个三维坐标变量“pivotPos”中。

第三步:设置新的轴心位置接下来,我们可以通过修改“pivot”属性来设置新的轴心位置。

下面的代码演示了如何将轴心位置设置为物体的顶部:newPivotPos = selectedObj.max - [0,0,selectedObj.max.z] selectedObj.pivot = newPivotPos在这个代码段中,我们首先计算了物体的顶部“newPivotPos”位置。

然后,我们将这个位置赋值给物体的“pivot”属性,从而改变物体的旋转轴心位置。

第四步:验证轴心位置为了验证轴心位置的改变,我们可以使用一个辅助工具来显示物体的旋转轴心位置。

maxscript常用方法

maxscript常用方法

maxscript常用方法MaxScript是一种用于Autodesk公司的3D建模和动画软件3ds Max 的脚本语言。

它提供了一系列的函数和方法来帮助用户自动化工作流程,增加工作效率,并且可以创建自定义工具和插件。

在这篇文章中,我将一步一步详细回答与MaxScript常用方法有关的问题和内容。

第一部分:MaxScript简介1. 什么是MaxScript?MaxScript是一种用于3D建模和动画软件3ds Max的脚本语言,它可用于自动化工作流程和创建自定义工具和插件。

2. MaxScript的用途是什么?MaxScript可以用于自动化任务,创建自定义用户界面,进行批量操作,修改对象属性和参数,生成复杂的几何体,以及大量其他的应用。

3. 如何运行MaxScript脚本?在3ds Max中,可以通过打开“MaxScript编辑器”窗口并将脚本粘贴或加载预先保存的脚本来运行MaxScript。

4. MaxScript的语法是怎样的?MaxScript的语法类似于其他编程语言,包括变量定义、条件语句、循环和函数定义等。

第二部分:常用的MaxScript方法1. 创建对象MaxScript可以使用一系列函数来创建不同类型的对象,例如盒子、球体、平面等。

其中,createBox()函数可以创建一个盒子对象。

2. 对象操作MaxScript提供了各种函数来操作对象,例如移动(move)、旋转(rotate)和缩放(scale)等。

3. 材质和贴图MaxScript可以设置对象的材质和贴图属性,例如设置颜色、漫反射、高光和纹理等。

4. 动画控制MaxScript可以控制对象的动画,例如设置关键帧、曲线插值和自动化运动等。

5. 用户交互MaxScript可以创建自定义的用户界面,例如对话框、按钮和滑块等,以便用户与脚本进行交互和操作。

6. 文件操作MaxScript可以进行文件的读取和写入操作,例如打开和保存场景文件、导入和导出模型文件等。

MAXScript零起点系列教程4

MAXScript零起点系列教程4

飞浪脚本零起点入门系列(四)MAXScript对物体的初步控制著作:飞浪制作:【WEWE】声明:本教程为CG++原创,未经本人允许,禁止一切形式的转载,谢谢合作:)查看上一节:MAXScript算术表达式与赋值表达式飞浪脚本零起点入门系列(四)MAXScript对物体的初步控制本节关键词:Macro Recorder show(showproperties)move rotate s cale point3angleaxis eulerangles.$上面几节我们学习了一些程序方面的基础知识,这节开始我们学习MAXScript的实际操作,MAXScript并没有大家想像的那么神秘,如果你不打算深入学习,那么掌握一些基本的MAXScript操作,对你的工作和学习肯定很有帮助,而MAXScript有时候就像说话一样简单,而且MAX还告诉了你该怎样通过脚本控制一些节点,这就是下面要讲的Macro Recorder。

Macro Recorder宏记录器现在打开MAX,找到MAXScript--Macro Recorder勾上,这样就打开了宏记录器。

现在用鼠标拉一个BOX,打开MAXScript Listener看到有什么变化没?上面紫色区域出再了一行代码:Box lengthsegs:1widthsegs:1heightsegs:1length:45.7164 width:51.0396height:28.8314mapcoords:on pos:[-2.12866,-1.29646,0]isSelected:on这个代码就是创建一个BOX的代码,在MAXScript Listener工具栏上也有个Macro Recorder,勾选里面的Enabled就打开Macro Recorder,不勾选就关掉Macro Recorder。

这个代码很长很长,是不是看的头晕呢?Macro Recorder的功能是把我们的鼠标和键盘操作转化为脚本形式记录下来,但是有些操作是Macro Recorder无法记录的,还有的时候它会给你一些错误的信息,并且像上面的例子一样,它生成的代码总是包含大量不必要的默认参数。

3Dmax插件开发指南:定制您自己的插件和脚本

3Dmax插件开发指南:定制您自己的插件和脚本

3Dmax插件开发指南:定制您自己的插件和脚本3Dmax是一款强大的三维建模、动画和渲染软件,广泛应用于电影、游戏、建筑和工业设计等领域。

为了满足用户的个性化需求,3Dmax支持插件和脚本开发,使用户能够根据自己的需求定制功能和工具。

本文将提供一个详细的指南,教你如何开发定制化的3Dmax插件和脚本。

一、了解3Dmax插件和脚本开发的基础知识1.1 插件和脚本的定义插件是一种可以扩展3Dmax功能的外部工具,可以添加新的命令、工具栏按钮或菜单项等,以实现特定的功能。

脚本是一种自动化操作的计算机程序,可以通过编写脚本语言来控制3Dmax软件的各种操作。

1.2 插件和脚本的开发环境3Dmax提供了一个强大的开发环境用于插件和脚本的编写和测试,主要包括Maxscript和.NET插件开发两种方式。

Maxscript是一种基于脚本语言的开发方式,适用于简单的功能和小型工具的开发;而.NET插件开发则提供了更多的灵活性和功能扩展的可能性。

二、使用Maxscript进行插件和脚本开发2.1 学习Maxscript语法和基本命令Maxscript是一种易学易用的脚本语言,可以轻松地执行各种3Dmax操作。

你可以通过阅读相关的文档和教程来学习Maxscript语法和常用命令,如创建对象、修改对象属性、运行动画等。

2.2 开发自定义的脚本功能首先,你需要确定你的脚本的功能和目的,然后使用Maxscript编辑器编写脚本。

例如,你可以编写一个用于自动创建树木的脚本,包括树干和树叶的生成、形状调整和材质设置等。

你可以使用Maxscript提供的一些内置函数和方法进行开发,也可以利用Maxscript的编程能力实现更复杂的功能。

2.3 创建自定义的工具栏按钮和菜单项在3Dmax的用户界面中,你可以创建自己的工具栏按钮和菜单项,以方便调用你的自定义脚本功能。

你可以通过Maxscript编辑器的界面设计工具来创建和调整工具栏按钮和菜单项的样式和位置,然后将它们与你的脚本函数关联起来。

MAX脚本安装调用方法及彻底卸载

MAX脚本安装调用方法及彻底卸载

MAX脚本安装调用方法及彻底卸载脚本安装调用方法:一。

如果你的脚本是ms或者是mse格式,请直接执行MAXScript--Run Script 打开你的脚本。

注:有些ms格式的脚本代码也写成macro script形式,即跟mcr格式一样,判断方式是用记事本打开脚本,看里面是否有macroScript 这个词,如果有就跟mcr格式一样。

二。

如果你的脚本是mcr格式,或mzp格式,请先按照上述方法执行,但你不能马上看到效果。

调用方法参照下面图片说明。

PS:对于mzp格式的文件,你可以直接把格式mzp改成rar,然后解压,就可以看到压缩的源文件,找到你想用的脚本。

三。

如果你下载的脚本是安装文件(比如场景助手),那么你确定正确安装以后,也参照以下图片说明调用。

下面我就是以场景助手来举例说明:第一步,打开用户设置面板:相关图片如下(点击图片查看原图):000.jpg第二步,你有下列方式可以调用脚本:相关图片如下(点击图片查看原图):0.jpg相关图片如下(点击图片查看原图):00.jpg相关图片如下(点击图片查看原图):000.jpg相关图片如下(点击图片查看原图):00.jpg脚本彻底卸载:一。

卸载,反安装即可。

首先你通过以上四种方法调用过脚本后,有以下情况删除:1. 工具栏,直接在图标上右键--Delete button2.快捷键,选择设置过快捷键的脚本,右边有个remove点击即删除。

3.四格菜单或菜单栏,在拖放后,可以在右边直接delete脚本名字。

二。

删除脚本。

1.如果是安装文件式的脚本,一般会安装到以下目录:MAX根目录\Scripts,或者MAX根目录\ui\macroscripts,找到你安装的文件删除即可。

如场景助手1.0需要这样卸载。

场景助手2.0有自带的卸载功能。

2.如果你运行过mcr文件,它会自动保存脚本到用户目录,找到删除即可。

用户目录用以下方法查看:相关图片如下(点击图片查看原图):01.jpg或者:相关图片如下(点击图片查看原图):02.jpg。

max中使用maxscript返回对象名称的命令

max中使用maxscript返回对象名称的命令

max中使用maxscript返回对象名称的命令以下是一份介绍如何在Max中使用Maxscript返回对象名称的命令的详细文章:标题:使用Maxscript在3ds Max中返回对象名称的命令引言:在3D建模和动画制作中,3ds Max是一个常用的软件工具。

在使用Maxscript 进行脚本编写时,有时需要返回对象的名称。

本篇文章将会逐步介绍如何使用Maxscript来实现这个目标。

我们将会学习一些基础的Maxscript知识,并通过具体的示例代码来说明。

第一部分:Maxscript入门1. 介绍Maxscript的背景和用途2. 安装和配置Maxscript的环境3. Maxscript的基本语法和数据类型4. 创建和运行Maxscript脚本文件第二部分:获取对象名称1. 了解Maxscript中的内置对象以及它们的属性2. 使用"for"循环遍历场景中的对象3. 利用对象的属性来获取对象的名称4. 将对象名称保存到变量中第三部分:返回对象名称的命令1. 介绍Maxscript中的“name”命令2. 理解“name”命令的语法和参数3. 在Maxscript中使用“name”命令返回对象名称4. 根据具体需求对返回的对象名称进行处理和操作第四部分:示例代码1. 基于前面的学习内容编写一个简单的Maxscript脚本2. 使用示例代码演示如何返回并操作对象名称3. 运行和调试Maxscript脚本第五部分:最佳实践和进阶技巧1. 了解更多Maxscript命令和函数2. 使用条件语句和循环结构来处理复杂情况3. 优化和提高Maxscript脚本的性能4. 使用Maxscript扩展3ds Max的功能结论:本文详细介绍了如何使用Maxscript在3ds Max中返回对象名称的命令。

通过理解Maxscript的基本语法和数据类型,掌握遍历场景中对象的方法,以及学会使用“name”命令来返回对象名称,读者可以灵活运用Maxscript来操作和处理对象名称。

maxscript 语法

maxscript 语法

MaxScript是3ds Max软件的内置脚本语言,用于自动化3D建模和动画过程。

以下是一些基础的MaxScript语法要点:1. 打印输出:在调试MaxScript时,可以使用`print`函数将字符串输出到控制台。

这对于跟踪代码执行和排查问题非常有用。

例如,`print "Hello, World!"`会在控制台输出“Hello, World!”。

2. 变量声明:在MaxScript中,可以直接使用变量名来引用变量,无需显式声明变量类型。

例如,`myVariable = 10`将创建一个名为`myVariable`的变量,并将其值设置为10。

3. 条件语句:使用`if`...`then`...`else`结构来编写条件语句。

例如,`if (condition) then (code_if_true) else (code_if_false)`。

4. 循环语句:可以使用`for`循环来重复执行一段代码。

例如,`for i=1 to 10 do (print i)`将会打印数字1到10。

5. 函数定义:使用`fn`关键字定义函数。

例如,`fn myFunction() = ( code here )`定义了一个名为`myFunction`的函数。

6. 对象操作:在3ds Max中,几乎所有的操作都与对象(如模型、相机、灯光等)有关。

MaxScript提供了丰富的对象操作功能,可以创建、修改、移动、旋转和缩放对象。

7. 事件和监听器:可以通过编写事件处理程序来响应用户的操作或其他事件。

例如,可以在用户点击按钮时执行特定的代码。

8. 宏录制:MaxScript还支持宏录制,可以将用户的操作自动转换为MaxScript代码。

这可以通过按下F11键调出MaxScript侦听器,并启用宏录制器来实现。

9. 模块和插件:可以将MaxScript代码编写成模块或插件,以便在3ds Max中重复使用或与其他用户共享。

maxscript importfile 参数

maxscript importfile 参数

文章题目:深入解析Maxscript中的importFile参数一、介绍Maxscript是3ds Max中的脚本语言,通过编写Maxscript脚本,用户可以自动化各种任务,包括导入和导出文件。

importFile是Maxscript中用于导入文件的函数之一,它具有丰富的参数设置,本文将对importFile参数进行深入解析。

二、importFile参数的基本语法在Maxscript中,使用importFile函数来导入文件,其基本语法如下:importFile <fileName> <acceptAll> <showPromt>其中,<fileName>是要导入的文件名,<acceptAll>是一个布尔值,表示是否接受所有的导入设置,<showPromt>也是一个布尔值,表示是否显示导入对话框。

接下来,我们将逐个解析这些参数的含义和用法。

三、深度解析1. <fileName>参数<fileName>参数表示要导入的文件名,可以是字符串类型或文件类型。

在使用<fileName>参数时,可以使用绝对路径或相对路径来指定文件的位置,也可以使用文件对话框来选择要导入的文件。

<fileName>参数还支持通配符,可以用来批量导入文件。

2. <acceptAll>参数<acceptAll>参数是一个布尔值,用于确定是否接受所有的导入设置。

当<acceptAll>为true时,将使用3ds Max中的默认导入设置来导入文件;当<acceptAll>为false时,将弹出导入设置对话框,用户可以手动设置导入参数。

这样,可以根据实际需求来灵活控制导入文件的设置。

3. <showPromt>参数<showPromt>参数也是一个布尔值,用于确定是否显示导入对话框。

3dmax脚本教程

3dmax脚本教程

3dmax脚本教程 62010-03-01 13:203:if 和case of语句if 表达式用于有条件地执行一个表达式,这个表达式以布尔测试表达为结果为基础if语句的使用方法为:if<expr>then<expr> [else<expr> ]if <expr>do<expr>第一个<expr>是测试表达式,他的值一定要是true或者false,如果在这第一个<expr>测试表达式这里返回的值是true的话,那么就程序就回继续执行then 或者do语句,然后结束。

而如果第一个<expr>返回了一个false,则后面的else 语句将会被执行。

注意:如果表达式中没有else语句,或者你编写的是第二中 if , do的格式,那么在第一个<expr>表达试返回false后,系统会自动中断程序编译,并返回一个undefined值。

例如:mybox=box()if mybox.height==25then mybox.width=40else mybox.width=100他的意思是创建一个名称为mybox的BOX几何体,如果mybox的高为25那么,他的宽就为40,否则宽等于100。

在这里要特别理解我前面说的那句话:第一个<expr>是测试表达式,他的值一定要是true或者false。

怎么理解?来看看下面这短代码为什么出错了:第一个窗口中返回了一句为:-- Type error: if-test requires BooleanClass, got: 25的报错,他的意思是说第一个<expr>测试表达式需要布尔函数类(真或假)。

自己的体会一下这句话的意思,然后我们再来看看第一个<expr>测试表达式的代码:if mybox.height=25你能看出什么问题吗?系统说缺少布尔函数类这句话为什么会缺少布尔函数类呢?其实问题出在这个“=”等于号上面,在这里,等于号没有判断性,不能判断这个BOX的高度是否等于25。

MAXScript零起点系列教程5

MAXScript零起点系列教程5

飞浪脚本零起点入门系列(五)MAXScript的数组,循环语句和重命名脚本写法著作:飞浪制作:【WEWE】声明:本教程为CG++原创,未经本人允许,禁止一切形式的转载,谢谢合作:)查看上一节:MAXScript对物体的初步控制飞浪脚本零起点入门系列(五)MAXScript的数组,循环语句和重命名脚本写法本节关键词:Array Values数组for loop selection objects uniquenameArray Values数组Array Values在线手册数组,即有序数据的集合。

这个数据可以是任何数据类型,甚至表达式。

语法:#(<value>,<value>,...)#()--空数组例子:#(1,2,"cgplusplus",5+6,123as float)--注意,括号,引号等字符要在英文半角状态下输入。

那么,我们用数组就可以把一些相干或者不相干的数据都统一起来,放到一起,这样操作起来非常方便。

比如说刚才那个数组,你可以一个一个的赋值:a=1,b=2,c="cgplusplus"...,然后调用。

如果用数组,可以很方便:数组引用<array>[<integer>],其中<array>就是数组,<integer>就是序号。

数组调用的序号用中括号[]括起来。

比如如果想调用第5个的值是这样:#(1,2,"cgplusplus",5+6,123as float)[5]。

这样还是很麻烦啊,先赋值再调用,就简单多了。

a=#(1,2,"cgplusplus",5+6,123as float)a[1]就是第一个值,a[2]就是第二个值,依次类推。

但是序号不能超出数组数据的最大数目,如a[6]就是错误引用,返回错误代码。

其他相关操作讲解:<array>.count:Integer--数组元素的个数,只能读取。

3DMAX SCRIPT教程

3DMAX SCRIPT教程

3DMAX SCRIPT教程开始访问MAX ScriptMAX脚本语言是基于3DS-MAX2.0以上版本的,所以你只能在3D-MAX运行的时候使用脚本语言。

这里有很多种方法从内部访问MAX的脚本语言。

最简单的方法是从MAX的菜单中选择MAX脚本语言编辑器。

开始脚本的另外一个方法是:1 在命令面板上选择UtilIty并点击MAXScript会出现一个面板。

2 点击Open Listener.MAX脚本语言编辑窗口就会出现。

MAX脚本语言编辑窗口是一个交互式的语言翻译,它的工作方式就如同DOS的命令窗口.输入MAX脚本语言中的命令,并且回车就可以立即执行命令。

一次只有一个MAX脚本语言编辑窗口可以被打开。

当你在使用的时候,你可以在MAX和脚本语言编辑器之间互相切换。

如果你关闭了语言编辑窗口然后再打开它,先前的命令和文字将被保留下来。

语言编辑器分为两格。

顶部粉红色的窗口是宏记录器窗口;底部白色窗口是输出窗口。

如果当语言编辑起启动以后,宏记录面板是关闭的,那么可以把分隔条向下拖曳来打开它。

当宏记录器处于可运行状态的时候,每一条可以记录的命令都会显示在宏记录窗口里,而输出的结果就会在白色的输出窗口里输出。

从宏记录器窗口中输出的执行代码会被显示在输出窗口里以防止错误或混乱的记录。

两个窗口都允许你进行剪切、复制、拖曳、编辑、选择或执行命令(代码)。

你可以拖动分隔条来调整两个窗口之间的大小。

在状态栏的左边界包括了可定义大小的小型编辑窗口。

如果小型编辑窗口不可见,可以拖动状态面板左边的分割条来让它显示出来。

THE MINI LISTENER PANES ACT ASSINGLE-LINE IN CORRESPONDING LISTENERPANES。

小型编辑窗口总是显示你正在输入的东西或者是你把光标放置于编辑窗口的位置。

反过来说,任何你输入到小型编辑窗口的内容都会输入到光标所处位置的编辑窗口中。

怎样把编辑器安装到一个视图中1、右击视图标签(viewport label)2、选择Extended3、选择MAXScript Listener.源代码输出MAX脚本语言代码的输出不同于大多数的程序语言。

max script

max script
bmp_w = work_bmp.width
--读取位图的宽度并把值赋给变量bmp_w
bmp_h = work_bmp.height
--读取位图的高度并把值赋给变量bmp_h
progressstart "Generating Objects..."
--显示程序执行进度
for h = 1 to bmp_h do
注意:在MAXScript中你必须要指定清楚文件的路径。
bmp_w = work_bmp.width
bmp_h = work_bmp.height
**bmp_w ,bmp_h这两个变量用于储存当前载入图象文件的宽和高。如果你改变路径,载入另外的一个图像,这个脚本仍然可以正确的工作。用户变量work_bmp 代表位图物体。在MAX中每个物体都有自己的属性。属性可以通过在当前物体名字的后面加上一个“.”来引用。要查看某个物体的可用属性,你可以查看帮助文件或者用showproperties object 这个命令。
--在位图中循环所有行
(
pixel_line = getpixels work_bmp [0,(h-1)] bmp_w
--储存单个行到数组
progressupdate (h as float /bmp_h *100)
--更新进度指示
for w = 1 to bmp_w do
--在当前的行中循环所有的象素
一:变量
MAX Script中的变量代表其他的值。当在公式中提到一个变量时,实际上指的是变量存储的值。而且除了数字以外,MAX Script中的变量还可以存储其他的内容。变量命名可以用任何名称。最好把它们命名成能帮助你记住变量代表什么含义的名称。

3DMAX SCRIPT教程

3DMAX SCRIPT教程

3DMAX SCRIPT教程开始访问MAX ScriptMAX脚本语言是基于3DS-MAX2.0以上版本的,所以你只能在3D-MAX运行的时候使用脚本语言。

这里有很多种方法从内部访问MAX的脚本语言。

最简单的方法是从MAX的菜单中选择MAX脚本语言编辑器。

开始脚本的另外一个方法是:1 在命令面板上选择UtilIty并点击MAXScript会出现一个面板。

2 点击Open Listener.MAX脚本语言编辑窗口就会出现。

MAX脚本语言编辑窗口是一个交互式的语言翻译,它的工作方式就如同DOS的命令窗口.输入MAX脚本语言中的命令,并且回车就可以立即执行命令。

一次只有一个MAX脚本语言编辑窗口可以被打开。

当你在使用的时候,你可以在MAX和脚本语言编辑器之间互相切换。

如果你关闭了语言编辑窗口然后再打开它,先前的命令和文字将被保留下来。

语言编辑器分为两格。

顶部粉红色的窗口是宏记录器窗口;底部白色窗口是输出窗口。

如果当语言编辑起启动以后,宏记录面板是关闭的,那么可以把分隔条向下拖曳来打开它。

当宏记录器处于可运行状态的时候,每一条可以记录的命令都会显示在宏记录窗口里,而输出的结果就会在白色的输出窗口里输出。

从宏记录器窗口中输出的执行代码会被显示在输出窗口里以防止错误或混乱的记录。

两个窗口都允许你进行剪切、复制、拖曳、编辑、选择或执行命令(代码)。

你可以拖动分隔条来调整两个窗口之间的大小。

在状态栏的左边界包括了可定义大小的小型编辑窗口。

如果小型编辑窗口不可见,可以拖动状态面板左边的分割条来让它显示出来。

THE MINI LISTENER PANES ACT ASSINGLE-LINE IN CORRESPONDING LISTENERPANES。

小型编辑窗口总是显示你正在输入的东西或者是你把光标放置于编辑窗口的位置。

反过来说,任何你输入到小型编辑窗口的内容都会输入到光标所处位置的编辑窗口中。

怎样把编辑器安装到一个视图中1、右击视图标签(viewport label)2、选择Extended3、选择MAXScript Listener.源代码输出MAX脚本语言代码的输出不同于大多数的程序语言。

MAX表达式教学终极教程

MAX表达式教学终极教程

MAX表达式表达式是MAX中功能强大的动画制作手段,它能够使动画的控制更准确、更简洁,使复杂的设置自动完成。

表达式提供了一种通过数学方式创建动画的途径,你可以将有动画关联的参数以数学公式的方式进行设置,只要改变相关参数,其它关联参数会自动发生变化。

而且一些用关键帧制作起来非常困难甚至不能达到的效果用表达式可以一步就搞定。

例如汽车行驶时车轮的相应转动,尤其是汽车发生变速运动的时候,通过手动设置关键帧很难达到车的位移和车轮转速达到完美的匹配,这时表达式就显示出它强大的威力了。

表达式虽然是MAX中比较高级的内容,但是并不是深不可测,大家感觉它很晦涩是因为它涉及到数学的一些公式,但是这些公式经过简单的分析之后你会感觉并不难!下面就让我们一起分享它的一些应用实例吧!希望大家在学完本章之后能够轻松自如运用MAX表达式来实现一些以往难以实现的效果。

MAX表达式入门篇:工地上的大家伙(1)、启动MAX,执行File>Open,打开配套光盘中提供的chap6.1.max文件,场景中有一个推土机模型,已经制作完成了简单的挖土和行进动画。

而且四个车轮已经用父子连接工具连接到车体上,只是还没有设置转动。

(见图6.1.1)注意:在MAX6视图中如果用“Smooth+Highlight”(光滑+高光)显示方式的话,大家可能会发现视图中推土机模型有破面的情况出现。

这应该是和MAX6.0对显示卡的较高要求有关系,应该是将MAX的视图加速方式设置为OPENGL就可以了。

希望大家经济条件允许的情况下能改善一下自己的显示卡。

图6.1.1(2)、进入材质编辑器,可以看到有一个名称为“车轮”的材质球,它是一个多重次物体材质,大家可以进入贴图的子层级来观看材质更详细的设置。

这个材质已经指定给了场景中的四个车轮物体,而且每个车轮物体都被赋予了一个UVW Map贴图修改器,贴图方式为Cylinder(圆柱)。

给车轮包含文字效果的贴图是为了后面能够更清楚地观察车轮转动的效果。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

[3D资源] 3D脚本 maxscript入门教程maxscript入门教程(1)作者:mediastime日期:2005-12-30 07:41:06属性:原创来源:点击数:1104内容图文并茂,语言高度概括,文采形象生动,思路清晰可见;指出要害,抓住关键,透彻理解那些难懂的编程概念;不用担心数学基础很差,无需害怕英文单词不懂,只需初中数学知识,把英文单词作图形符号看待,拿脚本编程当文字游戏把玩。

能够提高解决问题的能力,可以降低学习脚本的门槛。

不用费力看英文帮助,何需辛苦找编程资料,减轻学习负担,节省宝贵时间!发挥自己的聪明才智,运用科学的学习方法,首先认真学好入门教程,然后虚心请教各位高手,脚本编程从此不再难!-----------------------------------------------------------------------------------------------------------------------------------------入门教程内容结构本教程内容分为五个部分,用几个具体的例子讲解大多数的脚本操作和语法知识。

一、MAXScript简介1、说明什么是MAXScript以及它有什么功能,能给用户带来什么好处。

2、访问脚本,认识脚本访问的界面。

二、基本操作:创建和修改简单的对象,给对象赋材质,从而引出下面的概念构造器:创建对象的语法称为构造器;路径名;数据类型:它们是数字,字符串,数组。

对象和类(层级树);属性和方法;变换;函数和方法的联系;通用属性和动态属性;显示属性的函数;一些常用的方法;三、创建和操作具有复杂关系的对象,从而引出下面的概念变量,变量和属性的关系;对象引用:引用另外一个对象的属性值作为自己的值;数组和集合等:数组,数组和变量的关系;运算符和表达式;表达式:求值的规则。

流程控制:选择和循环,条件选择。

制作简单的动画:"at time",动画控制器。

四、换一角度——从大家熟悉的操作流程来学习脚本这是对前面知识的总结,前面是对语法基本概念的学习,现在是从大家操作流程的角度来学习,一纵一横,让我们对脚本有个相对全面的了解,理论和实际相互联系。

有了前面的基础才好学下面的内容。

第一步:创建物体一些常用物体的创建方法。

第二步:选择物体select路径名,变量名引用条件选择用类和集合选择物体组Group:是一个虚拟对象,不是集合。

第三步:变换物体变换:postion,move,scale,rotate,变换坐标系和变换中心第四步:修改器第五步:材质和贴图第六步:制作动画五、基本的语法知识现在来学语法恐怕不会那么头痛了吧?-----------------------------------------------------------------------------------------------------------------------------------------一、 MAXScript简介1、MAXScriptMAXScript语言是为了扩展3ds MAX 功能而专门设计的一种脚本语言,是面向对象编程语言中的一种。

用它创建的场景物体和材质与在3ds MAX界面中创建的场景物体和材质完全对应。

可以生成自动关键帧的动画模式,并可以通过层级路径名来访问场景中的物体。

有记录在3ds MAX界面中的交互操作过程的能力,在使用界面操作的同时可以使用MAXScript来自由创作。

可以实现3D Studio MAX的全部用途,如建模、动画、材质、渲染等。

MAXScript可以运用各种数学工具来完成高级复杂的程序设计任务。

可以对含有大量对象的集合进行操作。

例如在复杂的场景中选择物体,可以把大量物体放置在精确的位置上,例如在山或路边放置一些树木,使用MAXScript操作起来是非常的方便。

它也能将一些功能定义为界面元素,例如工具栏按钮、菜单、浮动窗口,程序面板卷帘窗。

可以建行批处理操作提高工作效率。

例如建立一次可以渲染多个场景文件的脚本程序。

可以自定义输入输出工具,可以定义修改器,渲染效果插件等。

2、访问脚本2.1、认识MAXScript界面:包括MAXScript卷帘窗,脚本监听器窗口,脚本编辑窗口。

2.1.1、MAXScript卷帘窗单击命令面板中的按钮,打开应用程序面板,再单击MAXScript按钮,在应用程序面板出现MAXScript卷帘窗,如图1-1所示。

图1-12.1.2、脚本监听器窗口脚本监听器又叫脚本跟踪器,单击MAXScript卷帘窗中的Open Listener按钮,也可选择菜单栏中的MAXScript/MAXScript Listener 命令,快捷键F11。

如图1-2所示。

图1-2也可右击用户界面左下方的Mini-Listener(迷你监听器)打开脚本监听器窗口,如图1-3所示。

图1-3脚本监听器窗口是一个命令编辑和执行窗口,它由两部分组成,上半部分为宏记录窗口,下半部分为脚本运行结果输出窗口。

如图1-4所示。

图 1-4运行脚本时,脚本监听器窗口会输出脚本的运行结果,运行正确就显示为蓝色,运行错误就显示为红色,希望你的脚本不要出现红色啊。

在窗口中可以编写新的脚本语言或对已有的脚本语言进行修改,用户输入的脚本显示为黑色。

选择主菜单中的宏记录Macro Recorder/Enable 命令,如果此时进行操作,在窗口中淡红色部分将记录所进行的操作,这就是宏记录,选择菜单栏中的File/Save as 命令可以将记录保存为一个脚本。

2.1.3、脚本编辑窗口单击MAXScript卷帘窗中的New Listener按钮,或者选择菜单中的 MAXScript/New Scrip 命令打开脚本编辑窗口,如图1-5所示。

图1-5脚本编辑窗口是一个文本编辑窗口,你能在3ds MAX内部打开、创建或者编辑扩展名为"*.ms"、"*.txt"和"*.dat"格式的文本文件。

调试文件时大键盘中的回车键与在记事本中的用法一样的,用来换行,当鼠标光标出现在某一行时,敲一下小键盘区的回车键,就可以执行本行程序。

如果选择多行程序,敲下小键盘区的回车键,可以执行选择被选择的程序。

如图1-6所示。

图1-6按住鼠标左键不放,把选择的一行或者多行程序拖到3DSMAX工具栏里,将生成一个宏脚本按钮,单击此按钮,就可以运行这个宏脚本。

在脚本编辑窗口或脚本监听器窗口里调用edit()函数,可以打开脚本编辑窗口,语法是:edit "脚本文件名称" 。

例如打开 effect.ms 文件:输入edit " effect.ms ",运行就可以打开这个脚本文件。

二、基本操作:创建和改变对象1、创建简单的对象传说天地未创建之时,是为无极,及有太极,则宇宙处于浑沌状态,就象鸡蛋一样盘旋着,在空间上无大无小无内无外,在时间上追溯到远古时代也无法知道其起源,所以把这种状态称为盘古,后来又不知那个好事者把盘古这种状态变成了一个传说——“盘古开天地”,结果“盘古”变成了一个宇宙创始人。

老子给它起了个玄之又玄的名字——道。

盘古一斧头就把这混混沌沌蛋给劈开了,结果太极判为天地,一气分为阴阳,中国就有了太极八卦和阴阳学说。

自从盘古开辟天地之后,则万物具备,轻清者上升为天,重浊者下降为地。

在天成象,在地成形,仰观天有日月星辰,俯察地有人鱼鸟兽,花草树木,种类繁多,数量庞大,不可计数。

人类为了征服大自然,掌握这些事物,就给它们进行了分类,把相同的对象归类到具有相似特征的类之中,类与类之间如果还有相似的地方,那么就把这些归纳到更高层次的类中,例如把植物类和动物类归纳到生物类。

面向对象编程中类和对象的概念就是试图对上面这些比较符合人类认识规律的概念进行描述。

好吧,现在就来看看在 MAXScript 中谁是宇宙万物的创造者——“盘古”。

选择菜单中的 MAXScript /New Scrip 命令打开脚本编辑窗口,如果想调试程序,跟踪程序执行结果,也可以把脚本监听器窗口打开,输入box length:100 width:100 height:2 sphere radius:10 segments:16按Ctrl+E 键或者选择脚本编辑窗口菜单中的File/Evaluate All 命令执行程序,还可以用鼠标全部选定,敲小键盘上的回车键执行程序(以后都按此方法,不再说明)。

欲知后事如何,且看下回分解。

Email: mediastime@[ 本帖最后由 呱唧 于 2006-12-12 18:41 编辑 ]收藏 分享 评分--香港机房免费试用 1元换购COM 域名回复 引用订阅 TOP呱唧支柱会员金币279 枚 威望10 热心度1沙发 发表于 2006-12-12 18:37 |只看该作者maxscript 入门教程(2)作者:mediastime 日期:2005-12-31 11:45:00属性:原创来源: 点击数:744内容图文并茂,语言高度概括,文采形象生动,思路清晰可见;指出要害,抓住关键,透彻理解那些难懂的编程概念;不用担心数学基础很差,无需害怕英文单词不懂,只需初中数学知识,把英文单词作图形符号看待,拿脚本编程当文字游戏把玩。

能够提高解决问题的能力,可以降低学习脚本的门槛。

不用费力看英文帮助,何需辛苦找编程资料,减轻学习负担,节省宝贵时间!发挥自己的聪明才智,运用科学的学习方法,首先认真学好入门教程,然后虚心请教各位高手,脚本编程从此不再难!----------------------------------------------------------------------------------------------------------------结果创建了一个盒子和一个球体,如图2-1所示。

现在单击工具栏按名字选择对象按钮,在弹出的对话框中会出现这个盒子的名字“Box01”和球体的名字“Sphere01”,这是默认的名字。

图2-1box length:100 width:100 height:2 这一行代码就是一个box构造器,它创建了一个长度为100、宽度为100、高度为2的box。

搞了半天,原来构造器就是“盘古”啊,伟哉,万物之始!什么是构造器?在MAXScript帮助中常常看到Constructor这个单词,中文意思就是构造器。

但是帮助中只是说明构造创建对象的语法,但并没有专门的内容来说明构造器这个概念。

我把它归纳如下:在MAXScript中创建对象的语法就叫作构造器,其实质就是调用函数来创建对象,所以可以把它看作是一个函数调用。

相关文档
最新文档