CGArt-中国CGer中的绿色家园
首页 信息动态 原创排行 互动教程 资源千寻 CG人才 CGArt杂志 艺术设计 CG画廊 CG论坛 酷站欣赏 CG搜索 会员中心
水鹰脚本系列——3DS MAX 脚本入门教程(1)
来源:mediastime 作者:mediastime 编辑:Guest 发布时间:2006年09月15日 14:04:34

[ 1 ]  [ 2 ]  [ 3 ]  [ 4 ]  [ 5 ]  

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 命令执行程序,还可以用鼠标全部选定,敲小键盘上的回车键执行程序(以后都按此方法,不再说明)。
结果创建了一个盒子和一个球体,如图2-1所示。现在单击工具栏按名字选择对象按钮,在弹出的对话框中会出现这个盒子的名字“Box01”和球体的名字“Sphere01”,这是默认的名字。

图2-1

box length:100 width:100 height:2 这一行代码就是一个box构造器,它创建了一个长度为100、宽度为100、高度为2的box。搞了半天,原来构造器就是“盘古”啊,伟哉,万物之始!

什么是构造器?在MAXScript帮助中常常看到Constructor这个单词,中文意思就是构造器。但是帮助中只是说明构造创建对象的语法,但并没有专门的内容来说明构造器这个概念。我把它归纳如下:在MAXScript中创建对象的语法就叫作构造器,其实质就是调用函数来创建对象,所以可以把它看作是一个函数调用 。也可以说是用一个抽象的类产生一个具体的对象。这个函数的名称就是基类的名称,所谓基类就是不能再分的类。我们创建对象都是从基类开始的。Box就是个基类,它的上一级就是几何类,再上一级就是节点。

如果学过JAVA,那么知道创建一个box对象的语法是:
Box Box01=new box() ;
呵呵,学习MAXScript可舒服了,只需输入box()就可以构造一个box了,面且大小写,分号都可以不用注意。

当我们手工单击创建面板中的Box按钮,然后在视窗中完成一个长度为100、宽度为100、高度为2的Box时,在程序内部就调用了Box( )函数,就是把我们在界面中的操作转换成了box length:100 width:100 height:2 这行内部代码。

构造器由两部分组成,基类名和创建参数。整个构造器就是一个函数调用 ,函数名 box就是基类的名字。创建参数由参数名后跟一个 冒号 : 和参数值组成,如图2-2所示。

图2-2

如果调用函数没有输入任何参数,那么必须在类名后加上一对英文 ( )括号,例如box(),将创建缺省参数的盒子。知道构造器原理后就知道怎么创建其它的对象了, 例如创建球体,输入
sphere radius:10 就可以了。

注:由于对象和类、层级关系等详细概念的内容比较复杂,将另立一文讲述。

[ 1 ]  [ 2 ]  [ 3 ]  [ 4 ]  [ 5 ]  

共有评论15条
更多评论..
作者信息 详细信息
多拉A梦
于2008年09月01日 14:07:07

[愛/峩]旳亼請繼續,-[恨/峩]旳亼別放棄。
yigcungang

性别:女
城市:
评分:0
于2008年07月18日 15:28:58

不错.非常详细.顶一下
xiaowei
于2008年05月05日 13:56:49

thank you very much! vrey well!
xie
于2008年04月05日 13:43:45

非常感谢
于2007年12月14日 15:16:32

感谢老师为我们讲这些来之不易的知识
评论人:
验证码:
内容:
 
about us advertisement publish conformity service cooperate associate link site map contact us help jump to the top of page