×

MAXScript游戏特效的基础操作(一)创建、改变、变换对象

发布时间:2019-12-09 09:31:07

MAXScript是3ds Max内置的脚本语言,它展现的是-个崭新的动画设计世界。MAXScript不仅提高了动画创作的品质,使其看上去更加完美,还能够实现3ds Max传统交互操作很难实现的效果,也大大提高了工作的效率。

MAXScript在游戏特效制作中也起到了很重要的作用。例如,将做好的游戏特效导入游戏引擎中,发现特效很大或是很小,要解决这个问题,有两种方法,第-就是在3ds Max中对特效进行缩放,第二就是在引擎中通过编写脚本进行缩放,其中第一种方法比较麻烦, 第二种很便捷。另外,使用MAXScript也可以控制游戏特效在引擎中的颜色,以及整体的缩放、旋转和移动等。

下面我们就来学习一下MAXScript的基础操作吧!

1.创建对象

创建对象的方法有以下两种。

方法1:

01 打开MAXScript Listener面板, 键入以下程序。

box length:50 width:50 height:50

02 按Enter键执行程序,然后在MAXScript Listener显示区显示创建对象的位置信息,如下图(左)所示;创建的BOX如下图(右)所示。

MAXScript游戏特效的基础操作(一)创建、改变、变换对象

对话框中会出现盒子的名字“Box001” , 这是默认的名字。box length:50 width:50 height:50这- -行代码就是一个box构造器,它创建了-一个长度为50、宽度为50、 高度为50的box。

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

NOTE:由于3ds Max版本不同,创建的BOX名称是有区别的,低于3ds Max 2011的版本,其对话框中会以“Box01" 作为创建盒子的默认名称。

方法2:

如果调用函数没有输入任何参数,那么必须在类名后加上一对“( )”括号,这样才能创建缺省参数的BOX。

01 键入以下程序:

mybox= box ( )

02 按Enter键执行代码,如下图(左)所示,同样创建了一个BOX,如下图(右)所示。

MAXScript游戏特效的基础操作(一)创建、改变、变换对象

2.改变对象

改变对象是改变对象所具有的特性,统称为对象的属性( Properties),如改变BOX的长度、宽度、名字、线框颜色半径等,访问对象属性的语法是由对象的路径名( PathName)后加上点“." 和属性名组.成的,路径名由美元符号$后加上对象在场景中的名称组成,$表示当前场景。

例1:访问属性参数

01 键入以下代码:

box length: 100 width: 100 height:10

02 执行代码,如下图(左)所示;创建的BOX如下图(右)所示。

MAXScript游戏特效的基础操作(一)创建、改变、变换对象

03 要访问BOX的高度,可键入以下代码: :

$box001.height

04 执行代码,返回高度值为10.0, 如下图所示。

MAXScript游戏特效的基础操作(一)创建、改变、变换对象

例2:改变线框颜色

01 键入以下代码:

$box001.wirecolor-blue

02 执行代码,如下图(左)所示; BOX的线框颜色发生了改变,如下图(右)所示。

MAXScript游戏特效的基础操作(一)创建、改变、变换对象

例3:改变属性

01 键入以下代码:

$Box001.height = 50

02 执行代码,返回50,如下图(左)所示;改变后的BOX如下图(右)所示。

MAXScript游戏特效的基础操作(一)创建、改变、变换对象

例4:显示属性

01 键入以下代码:

showProperties $box001

02 执行代码,返回box001的属性参数,如下图所示。

MAXScript游戏特效的基础操作(一)创建、改变、变换对象

显示物体属性还可以写成showclass "box001"或show $box001。

showclass"box001*用于显示所有3dsMax里面级别是BOX的物体。

showclass "box001.*"用于显示所有级别是BOX的物体的可存取参数。

3.变换对象

例1:改变位置

01 键入以下代码:

$box001.pos = [0,0,20]

02 执行代码,返回[0,0,20],如下图(左)所示; BOX沿z轴移动了20个单位,如下图(右)所示。

MAXScript游戏特效的基础操作(一)创建、改变、变换对象

若键入“move Sbox001[0,0,20]”,-样可以改变BOX沿z轴方向的移动。$box001.pos = [0,0,20]具有绝对性,而move $box001[0,0,20]具有相对性。[0,0,20]表示3个轴向, 分别为x、y和z轴。

例2:缩放对象

01 键入以下代码:

box( )

创建的BOX如下图所示。

MAXScript游戏特效的基础操作(一)创建、改变、变换对象

02 键入以下代码

scale Sbox001[2,2,2]

将创建的物体放大了两倍,如下图所示。

MAXScript游戏特效的基础操作(一)创建、改变、变换对象

同样键入Sbox001.scale=[2,2, 2]也可以将物体放大两倍。scale Sbox001[2, 2, 2]具有相对性,而5box001.scale= [2, 2, 2]具有绝对性。

例3:旋转对象

01 键入以下代码:

rotate $box001 45x_ axis

02 执行代码,如下图(左)所示;旋转后的对象如下图(右)所示。

MAXScript游戏特效的基础操作(一)创建、改变、变换对象

也可以键入rotate Sbox001 ( eulerangles 45 00 )实现物体旋转,eulerangles 表示欧拉角度,后面3个值分别表示x轴、y轴和z轴。rotate SBox001 45 x_ _axis 旋转x轴45°,rotate $Box001 45 y_ _axis 旋转y轴45°,rotate $Box001 45z axis旋转z轴45°

SketchUp · 小白到大佬的极速转变 · 必听课

SketchUp · 小白到大佬的极速转变 · 必听课

返回列表>
关于我们
关于我们