3ds Max - Baidu

20
3ds Max 10 3d 超智能拼板 通过本章,你将学会: 1)新建MAXScript脚本文件。执行脚本程序,制作相应的效果。 2)使用脚本对物体进行阵列。 3)使用虚拟物体对动画效果制作过程进行简化。 4)绘制复杂线条,并且对线条进行各种编辑。 5)对三维造型进行分离操作。 6)使用脚本程序进行造型绑定,批量建立文字模型。

Transcript of 3ds Max - Baidu

Page 1: 3ds Max - Baidu

3ds Max第10章 3d超智能拼板

通过本章,你将学会:

(1)新建MAXScript脚本文件。执行脚本程序,制作相应的效果。

(2)使用脚本对物体进行阵列。

(3)使用虚拟物体对动画效果制作过程进行简化。

(4)绘制复杂线条,并且对线条进行各种编辑。

(5)对三维造型进行分离操作。

(6)使用脚本程序进行造型绑定,批量建立文字模型。

Page 2: 3ds Max - Baidu

168

3ds Max 高端动画脚本开发与挑战实例

10.2 基本操作纲要

1.首先(使用脚本)制作虚拟物体阵列。

2.制作对应的拼板块。

3.使用脚本进行随机动画制作。

4.赋予合理的材质,使得效果锦上添花。

5.变换拼板造型为立体图案。

6.变换拼板图案为立体文字图案。

10.3 具体操作

10.3.1 建立虚拟物体阵列

如图10-2所示,选择“MAXScript”→“新建

脚本”命令。输入指定代码。代码意义为建立27个虚拟物体,3行3列3层,横向和纵向间距均为

10,层距也为10。

图10-2

10.1 灵感来源

3d拼板是在普通拼板游戏的基础之上进行的

思路扩展,相对2d拼板游戏来讲,3d拼板显然要

复杂得多。能够对打乱的3d拼板进行复原意味着

有超群的能力,复原随机混乱的拼板象征着能够

将乱无头绪的事物和问题进行有规律的控制和解

决。显然制作一个复原3d拼板的动画将会是视觉

上的一种象征和理想效果。那么该如何制作这样

一个复杂的动画呢?随本章进行制作,你将体会

3d拼板的效果!本章案例效果如图10-1所示。

图10-1

Page 3: 3ds Max - Baidu

第10章 3d超智能拼板

169

如图10-3所示,选择“工

具”→“计算所有”命令,或

者按下“Ctrl+E”组合键,执行

程序代码。选择右下角全部显

示图标,将所有的虚拟物体显

示在视图中。可以看到有27个虚拟物体被阵列出现。

图10-3

如图10-4所示,依次单击选

择按钮,单击框选按钮,框选

所示的虚拟物体,在选择时需

要按下Ctrl键以便进行多选。即

将外围虚拟物体全部选中,孤

立最中间的虚拟物体,以便将

其删除。

图10-4

如图10-5所示,按下“Ctrl+I”组合键,执行反选命令,选择

最中间的虚拟物体。然后按下

Delete键将其删除。实际上程序

也可以进行判断将其删除,但是

所花费的数学计算和程序代码要

很多,相反人工进行选择和删除

将是很容易的。

图10-510.3.2 建立拼板块并绑定

如图10-6所示,输入指定代

码。代码意义是根据虚拟物体

位置建立相关的3d拼板块,然

后将拼板块绑定到对应的虚拟

物体上面。

图10-6

Page 4: 3ds Max - Baidu

170

3ds Max 高端动画脚本开发与挑战实例

10.3.3 动画制作

如图10-8所示,输入指定代码。代码意义是

自动建立虚拟物体动画。

图10-8

如图10-9所示,按下“Ctrl+E”组合键,执行

程序代码,动画被建立。拖动动画控制条,可以

看到虚拟物体正在带着3d拼板块进行动画运动。

图10-9

10.3.4 赋予材质并渲染

如图10-10所示,将动画控制条设置在0帧的开始位置,在左下角输入“select $chamferbox*”并回

车,这样可以选择所有的拼板块,同时不会选择到其他任何造型。然后打开“材质编辑器”窗口,按

照指示依次进行操作,为拼板块赋予多材质。

图10-10

如图10-7所示,按下“Ctrl+E”组合键,执行程序代码。3d拼板块被建立,同时自动删除了

下面第一个拼板块。

图10-7

Page 5: 3ds Max - Baidu

第10章 3d超智能拼板

171

如图10-11所示,选择“丢弃旧材质?”单选

按钮,单击“确定”按钮,完成操作。

图10-11

如图10-12所示,单击“设置数量”按钮,设

置材质数量为7。

图10-12

如图10-13所示,按照指示依次进行操作,准

备调入贴图图片。

图10-13

如图10-14所示,选择一张合适的图片作为

贴图。

图10-14

如图10-15所示,单击“显示贴图”按钮,以

便将图片直接显示在视图中。修改贴图通道为1(如果默认为1,那么就无须修改)。

图10-15

Page 6: 3ds Max - Baidu

172

3ds Max 高端动画脚本开发与挑战实例

如图10-16所示,按照指示依次进行操作,准

备为第二个材质调入贴图图片。

图10-16

如图10-17所示,选择另一张合适的图片作为

第二个材质的贴图。

图10-17

如图10-18所示,单击“显示贴图”按钮,以

便将图片直接显示在视图中。修改贴图通道为2。

图10-18

如图10-19所示,用同样的方法为第3~第6个材质调入贴图,同时注意修改对应的贴图通道号。

图10-19

Page 7: 3ds Max - Baidu

第10章 3d超智能拼板

173

如图10-20所示,在左下角

输入“select $chamferbox*”并

回车,这样可以选择所有的拼

板块,同时不会选择到其他任

何造型。打开编辑器面板,施

加“编辑网格”编辑器。

图10-20

如图10-21所示,打开面子物

体,选择拼板上面的所有面(可

以使用点选,按下Ctrl键可以多

选),给定设置ID为1(如果默

认为1,那么就无须修改)。

图10-21

如图10-22所示,选择拼板

另一面的所有面,给定设置ID为2。

图10-22

如图1 0 - 2 3所示,用同样

的方法选择拼板第三面的所有

面,给定设置ID为3。

图10-23

Page 8: 3ds Max - Baidu

174

3ds Max 高端动画脚本开发与挑战实例

如图10-24所示,继续选择

拼板第四面的所有面,给定设

置ID为4。

图10-24

如图10-25所示,用同样的

方法将六面都进行选择,并且

设置相应的ID号。

图10-25

如图10-26所示,选择拼板

六个面的所有表面(最好使用

点选,按下Ctrl键可以多选)。

按下“Ctrl+I”组合键执行反选

命令,然后设置ID号为7。

图10-26

如图10-27所示,施加UVW贴图编辑器,选择“长方体”

单选按钮,设置贴图通道为1,可以看到拼板上面的面出现了

贴图。

图10-27

Page 9: 3ds Max - Baidu

第10章 3d超智能拼板

175

如图10-28所示,再次施加UVW贴图编辑

器,选择“长方体”单选按钮,设置贴图通道为

2,可以看到拼板第二个面出现了贴图。

图10-28

如图10-29所示,仍然再次施加UVW贴图编

辑器,选择“长方体”单选按钮,设置贴图通道

为3,可以看到拼板第三个面出现了贴图。

图10-29

如图10-30所示,用同样的方法不停地施加

UVW贴图编辑器6次,选择“长方体”单选按

钮,设置贴图通道为对应的数值。拼板的所有面

都出现了贴图。

图10-30

如图10-31所示,拖动动画控制条,3d拼板开

始了复杂的拼图动画。来回拖动控制条可以控制

3d拼板出现被打乱或者复原的动画效果。

图10-31

如图10-32所示,给定天光、背景并且进行跟

踪器渲染,渲染出绚丽的效果。

图10-32

Page 10: 3ds Max - Baidu

176

3ds Max 高端动画脚本开发与挑战实例

10.3.5 建立虚拟物体阵列

如图10-33所示,选择“MAXScript”→“新建脚本”命令。输

入指定代码。代码意义为建立64个虚拟物体,4行4列4层,横向和

纵向间距均为10,层距也为10。

图10-33

如图10-34所示,选择“工

具”→“计算所有”命令,或

者按下“Ctrl+E”组合键,执行

程序代码。单击右下角“全部

显示”按钮,将所有的虚拟物

体显示在视图中,可以看到有

64个虚拟物体被阵列出现。

图10-34

如图10-35所示,依次单击

“选择”按钮,单击“框选”

按钮,框选所示的虚拟物体,

在选择时需要按下Ctrl键以便

进行多选。即把外围虚拟物体

全部选中,孤立中间的虚拟物

体,以便将其删除。

图10-35

如图10-36所示,最外层的虚拟物体被全部选中,单击鼠标右

键,在弹出的快捷菜单中选择“隐藏选定对象”命令。

图10-36

Page 11: 3ds Max - Baidu

第10章 3d超智能拼板

177

图10-37

如图10-37所示,外层虚拟物体被隐藏起来,

留下了中间的8个虚拟物体。将8个虚拟物体全部

选中,按下Delete键将其全部删除。

图10-38

如图10-38所示,单击鼠标右键,在弹出的快

捷菜单中选择“全部取消隐藏”命令。

如图10-39所示,被隐藏的外围虚拟物体全部

显示出来。

图10-3910.3.6 建立拼板块并绑定

如图10-40所示,输入指定代码。代码意义是

根据虚拟物体位置建立相关的3d拼板块,然后将

拼板块绑定到对应的虚拟物体上面。

图10-40

如图10-41所示,按下“Ctrl+E”组合键,执

行程序代码。3d拼板块被建立,同时自动删除了

下面第一个拼板块。

图10-41

Page 12: 3ds Max - Baidu

178

3ds Max 高端动画脚本开发与挑战实例

10.3.7 动画制作

如图10-42所示,输入指定代码。代码意义是

自动建立虚拟物体动画。

图10-42

如图10-43所示,按下“Ctrl+E”组合键,执行

程序代码,动画被建立。拖动动画控制条,可以

看到虚拟物体正在带着3d拼板块进行动画运动。

图10-43

10.3.8 建立立体线条

如图10-44所示,依次打开建立面板,平面图形面板,然后选择“线”命令在顶视图进行画线,并

且对点进行平滑。

图10-44

如图10-45所示,打开线条子物体图标命令,选择“轮廓”命令,最好勾选“中心”复选框,选择

线条单击鼠标左键并且进行拖动,线条出现平行线效果。

图10-45

Page 13: 3ds Max - Baidu

第10章 3d超智能拼板

179

如图10-46所示,施加挤出

编辑器,准备将图形挤出一个

高度,形成立体效果。

图10-46

如图10-47所示,给定挤出数量为1,此数值仅供参考。观察图

形可以看到线条不仅具有了宽度,而且也具有了高度,出现了立体

效果,将线条向上移动到拼板的上面。

图10-47

10.3.9 建立立体文字

如图10-48所示,依次打开

建立面板,平面图形面板,然后

在前视图选择“文本”命令输入

文字,可以设置字体类型。

图10-48

如图10-49所示,施加倒角

编辑器,准备将图形挤出一个

高度,形成立体效果。

图10-49 图10-50

如图10-50所示,按照指示给定参数,同时将文字模型移动到拼

板的表面合适位置。

Page 14: 3ds Max - Baidu

180

3ds Max 高端动画脚本开发与挑战实例

10.3.10 建立立体心形图案

如图10-51所示,打开Photoshop软件,新建一个

文件,使用图形工具在文件中建立一个图案路径。

图10-51

如图10-52所示,依次按照指示将路径导出成

Illustrator格式文件。

图10-52

图10-53 图10-54

如图10-55所示,选择“合并对象到当前场

景”单选按钮,单击“确定”按钮。

如图10-56所示,选择“单个对象”单选按

钮,将路径图案导入到3ds Max中。

图10-55 图10-56 图10-57

如图10-53所示,在3ds Max中执行导入命令。 如图10-54所示,选择文件类型为*.AI。选择

刚刚建立的路径文件并单击“打开”按钮。

如图10 -57所示,心形图案被成功导入到 3ds Max中。

Page 15: 3ds Max - Baidu

第10章 3d超智能拼板

181

如图10-58所示,旋转放大心形图案,并且对

心形图案进行轮廓编辑操作,然后施加挤出编辑

器制作立体心形效果。

图10-5810.3.11 制作格子切割器

如图10-59所示,在拼板中间建立一个小于3d拼板的方块。

图10-59

如图10-60所示,在方块被选择的状态下,

打开“复合对象”面板,依次选择ProBoolean命令,单击“开始拾取”按钮,选择“复制”

单选按钮,然后选择通过名字选择按钮,打开

拾取对象窗口,选择所有的拼板方块,即所有的

ChamferBox***倒角方块,最后单击“拾取”按钮。

图10-60

如图10-61所示,单击鼠标右键,在弹出的快

捷菜单中选择“隐藏未选定对象”命令。

图10-61

如图10-62所示,其他所有造型都被隐藏起

来,可以看到布尔操作后的格子效果。单击鼠标

右键,在弹出的快捷菜单中选择“转换为可编辑

网格”命令,将格子造型转换成网格模型。

图10-62

Page 16: 3ds Max - Baidu

182

3ds Max 高端动画脚本开发与挑战实例

如图10-63所示,打开编辑器面板,打开节点

子物体,选择上层节点,并且进行移动到充分大

小的程度。

图10-63

如图10-64所示,用同样的方法将其他方向的

节点进行移动,使得格子达到可以冲破3d拼板。

图10-64

10.3.12 切割立体图案并绑定

如图10-65所示,单击鼠标右键,在弹出的快

捷菜单中选择“全部取消隐藏”命令。

图10-65 图10-66

如图10-66所示,所有造型都重新显示出来。

如图10-67所示,选择拼板上面的图案,打开

“复合对象”面板,依次选择ProBoolean命令,单击

“开始拾取”按钮,选择“复制”单选按钮,然后

选择格子模型,最后单击“拾取”按钮结束操作。

图10-67 图10-68

如图10-68所示,选择拼板左面的心形图案,打开

“复合对象”面板,依次选择ProBoolean命令,单击

“开始拾取”按钮,选择“复制”单选按钮,然后选

择格子模型,最后单击“拾取”按钮结束操作。

Page 17: 3ds Max - Baidu

第10章 3d超智能拼板

183

如图10-69所示,选择拼板前面的文字图案,

打开“复合对象”面板,依次选择ProBoolean命令,单击“开始拾取”按钮,选择“复制”单选

按钮,然后选择格子模型,最后单击“拾取”按

钮结束操作。

图10-69

如图10-70所示,删除各自模型,可以看到图

案被切割的缝隙效果。

图10-70

图10-71

如图10-71所示,选择文字模型,单击鼠标右

键,在弹出的快捷菜单中选择“转换为可编辑网

格”命令,将立体线条转换成普通的网格模型。

如图10-72所示,依次打开编辑器面板,打开体子物体,全部选择立体线条。给定炸开数值为

180,选择“对象”单选按钮,选择“炸开”命令,打开“炸开为对象”对话框,输入对象名为“Text”,

单击“确定”按钮结束操作。

图10-72

Page 18: 3ds Max - Baidu

184

3ds Max 高端动画脚本开发与挑战实例

如图10-73所示,选择文字模型的一部分,可

以看到已经分散为独立的个体。

图10-73

如图10-74所示,用同样的方法将其他的图案

进行网格的转换和炸开操作。但是拖动动画控制

条时,拼板块在动画,图案却没有动画。

图10-74

如图10-75所示,输入指定代码。代码意义是

根据拼板块的位置,将线条图案单元绑定到对应

的拼板块上面。

图10-75 图10-76

图10-77

如图10-77所示,输入指定代码。代码意义是

根据拼板块的位置,将文字图案单元绑定到对应

的拼板块上面。

如图10-76所示,拖动动画控制条时,拼板块

在动画,上面的线条图案也跟随着一起运动。

图10-78

如图10-78所示,拖动动画控制条时,拼板块

在动画,上面的文字图案也跟随着一起运动。

Page 19: 3ds Max - Baidu

第10章 3d超智能拼板

185

如图10-79所示,输入指定代码。代码意义是

根据拼板块的位置,将心形图案单元绑定到对应

的拼板块上面。

图10-79

如图1 0 - 8 1所示,在左下角输入“ s e l e c t $chamferbox*”并回车,这样可以选择所有的拼

板块,同时不会选择到其他任何造型。然后为拼

板块赋予合适的材质颜色。

图10-80

图10-81

如图10-80所示,拖动动画控制条时,拼板块

在动画,上面的心形图案也跟随着一起运动。

如图10-82所示,为模型赋予白色材质,给定天

光、背景并且进行跟踪器渲染,渲染出惊人的效果。

图10-82

如图10-83所示,设置到动画中的某个位置,

再次进行渲染观察效果。

图10-83

10.4 小结

本章实例通过使用MAXScript脚本程序来制作复杂的动画效果,通过脚本程序的应用,可以创造

出不同的3d拼板图案,可以将看似不可以实现的效果得以完美的实现。3d拼板的制作过程中要注意方

位贴图的不同设置。在进行脚本程序执行时,完全可以根据不同的需要进行参数调整,例如,可以将

虚拟物体的数量进行调整,以便创造出更加宏大的场面,制作更加有视觉冲击力的效果。

Page 20: 3ds Max - Baidu

186

3ds Max 高端动画脚本开发与挑战实例

例10.5 练习

一、填空题

(1)反选命令的快捷键是_____。

(2)_____命令可以将隐藏的物体全部显示出来。

二、选择题

(1)在打开线条( )子物体的情况下可以使用轮廓命令。

A.关闭 B.节点 C. 线段 D. 线条

(2)以下( )编辑器不能够使得平面的线条具有立体效果。

A.UVW贴图 B. 挤出 C. 倒角 D. 编辑网格

三、判断题

(1)文本造型不属于二维图形。( )(2)Photoshop中的图案没有办法在max中进行使用。( )

四、简答题

(1)用什么方法可以将多个图片贴在同一个物体上面?

(2)如何将Photoshop中的图案导入到max中进行使用?

10.6 答案

一、填空题

(1)Ctrl+I(2)全部取消隐藏

二、选择题

(1)D(2)A

三、判断题

(1)×

(2)×

四、简答题

(1)首先为物体赋予一个多材质。然后为每一个子材质调入贴图,设置对应的通道号。最后施加

UVW贴图编辑器,根据ID号进行贴图调整即可实现。

(2)首先在Photoshop中建立图案路径,然后将其导出成ai文件。在3ds Max中使用导入命令直接

导入ai文件即可。