MAXScript入门

Part1前言

3ds max是目前国内动画行业使用最普遍的、功能强大的三维动画设计软件,它除了具有交互操作方式外,还提供了编程开发工具——MAXScript脚本语言。MAXScript是3ds max众多插件中最有特色的一个。可以这样说,MAXScript把Max几乎所有的功能重写一遍(少数功能除外),而且能实现无法用鼠标键盘实现的操作。698caf2d3fd136a38206df8e56c36bc1.png

Part2MaxScript侦听器

初次学习MaxScript,建议先从监听器开始学习。打开界面如下:

4fed6c47d22adaeebfe31049804b657f.png

然后启用宏录制器6d895f4b322bdb49aec900aad4fd7a7a.png

之后我们通过界面的操作,就会自动被捕捉并显示,我们可以这样学习语法。例如我们创建一个球体,会在界面输出如下命令

Sphere radius:24.7171 pos:[-8.16896,15.7796,0] isSelected:on

我们在下面的脚本区域输入同样的命令,就会自动创建一个球体。

4baf0b477c5a42620f61e088a69d6e5a.png

Part3新建脚本

当我们遇到复杂脚本的时候,侦听器单行执行往往无法满足需求,这个时候,我们可以新建一个脚本,点击计算所有,即可执行脚本4872ecc962452f33a556571119e8f8ff.png此时,监听器还是需要打开,他可以监听脚本执行的异常情况,并给出提示。示例如下:

94c64e9a206c850654c26bed96ddbf6a.png

Part4基本语法

1获取对象

通过$可以获取当前被选中的对象

$

通过$+对象名称 可以获取指定的对象

$sphere002

2添加注释

有两种添加注释的方式,如下,分别为单行和多行的注释。

#多行注释
/*

*/

#单行注释
--

3定义函数

通过function关键字可以定义函数,参数直接跟在后面即可。调用方法的话,就是函数名然后后面跟着参数

#定义函数
function createSpheres count growth = 
(
  for i in 1 to count do
   Sphere radius:(i*growth) position:[i^2*growth,0,0]
)
#调用函数
createSpheres 25 10

4定义数组

#定义数组并输出
a = #(1,3,5,7,9)
for i in a do 
 print(i)
#输出
1
3
5
7
9
#数组访问,从下标1开始
a[1]
#输出
1

#通过collect关键字可以动态生成一个数组
a = for i in 1 to 5 collect i
#输出
#(1, 2, 3, 4, 5)

5循环

# 步长为5的循环
for t in 0 to 10 by 5 do
 print(t)
# 输出
0
5
10

6case转换

case 有两种判断方法,分别如下

# 在后面判断
exper =1
case of
(
 (exper  == 1):
  Sphere radius:20
 (exper  == 2):
  Sphere radius:40
)
# 在前面判断
exper =2
case exper of
(
 1:
  Sphere radius:20
 2:
  Sphere radius:40
)

7动画

可以设置不同位置的关键帧,从而实现动画。下面示例为0-100帧的小球沿着x轴移动的动画。

Sphere radius:20  segs:30  pos:[0,0,0] name:"ball"
animate on
(

 at time 0 $ball.pos = [-100,0,0]
 at time 100 $ball.pos = [100,0,0]
)

Part5总结

本文主要简单总结了MaxScript脚本入门使用。

关注公众号加技术交流群:

 

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值