[转]3ds max克隆对象

来源:互联网 发布:淘宝天猫企业组织架构 编辑:程序博客网 时间:2024/05/21 18:35

今天看max SDK,看到reference的概念不是很清楚,后来又对max克隆里的三个选项搞不清楚,就在网上搜了一下。这三个选项还是很好搞清楚,就是引用问题吧。

 

--------------------------------------------------------------

 

为场景创建几何体被称之为建模。一个重要且非常有用的建模技术就是克隆对象。克隆的对象可以被用作精确的复制品,也可以作为进一步建模的基础。例如,如果场景中需要很多灯泡,就可以创建其中的一个,然后复制出其它的。如果场景需要很多灯泡,但是这些灯泡还有一些细微的差别,那么可以先复制原始对象,然后再对复制品做些修改。 

    克隆对象的方法有两个。第1种方法是按住Shift键执行变换操作(移动、旋转和比例缩放);第2种方法是从菜单栏中选取Edit / Clone。 

    无论使用哪种方法进行变换,都会出现Clone 

Options对话框,见图3.18。 

 
    在Clone Options对话框中,可以指定克隆对象的数目和克隆的类型等。克隆有3种类型,它们是: 
—  Copy(复制); 
—  Instance(关联复制); 
—  Reference(参考复制)。 

    Copy选项克隆一个与原始对象完全无关的复制品。 

    Instance选项也克隆一个对象,该对象与原始对象还有某种关系。例如,如果使用Instance选项克隆一个球,那么如果改变其中一个球的半径,另外一个球也跟着改变。使用Instance选项复制的对象之间是通过参数和编辑修改器相关联的,各自的变换无关,是相互独立的。这就意味着如果给其中一个对象应用了编辑修改器,使用Instance选项克隆的另外一些对象也将自动应用相同的编辑修改器。但是如果变换一个对象,使用Instance选项克隆的其它对象并不一起变换。此外,使用Instance选项克隆的对象可以有不同的材质和动画。使用Instance选项克隆的对象比使用Copy选项克隆的对象需要更少的内存和磁盘空间,使文件装载和渲染的速度要快一些。 

    Reference选项是特别的Instance。在某种情况下,它与克隆对象的关系是单向的。例如,如果场景中有两个对象,一个是原始对象,另外一个是使用Reference选项克隆的对象。这样如果给原始对象增加一个编辑修改器,克隆的对象也被增加了同样的编辑修改器。但是,如果给使用Reference选项克隆的对象增加一个编辑修改器,那么它将不影响原始的对象。实际上,使用Reference选项复制的对象常用于如面片一类的建模过程。

下面举例说明如何克隆对象。 
1. 启动3DS MAX,在主工具栏上选取File / Open,打开本书配套光盘中的Samples/ ch03/ch03_02.max文件。文件中包含一个简单的棋盘和一个棋子,见图3.19。本练习将克隆一些棋子,从而完成该套游戏工具。 

 
2. 在摄像机视口单击棋子(对象名称是GamePieceRed01),以选择它。 
3. 单击主工具栏上的   Select and Move按钮。 
4. 在顶视口单击鼠标右键,激活它。 
5. 按下Shift键,向白色方块内移动棋子,见图3.20,出现Clone Options对话框,参见图3.18。
  
技巧:系统建议克隆对象名称是GamePieceRed02。在克隆对象的时候,系统建议的克隆对象的名称总是在原始对象的名字后增加一个数字。由于原始对象的名字后面有01,因此Clone Options对话框建议的名字就是GamePieceRed02。如果计划克隆对象,在创建对象时就在原始对象名后面增加数字01,以便克隆的对象被正确命名。 
  
6. 在Clone Options对话框保留默认的设置,然后单击OK按钮。 
7. 在摄像机视口单击原始的棋子,选择它。 
8. 在顶视口,按下Shift键,然后将选择的原始棋子克隆到另外一侧,见图3.21。 

 
9. 在Clone Options对话框,单击Instance单选按钮,然后单击OK按钮。 
10. 在摄像机视口单击原始的棋子,选择它。 
11. 在顶视口,按下Shift键,然后将选择的原始棋子克隆到第一个克隆棋子的左边。 
12. 在Clone Options对话框中单击Instance选项,然后单击OK按钮,完成第3个棋子的克隆,见图3.23。 
现在场景中共有4个棋子,一个原始棋子、一个使用Copy选项克隆的棋子和两个使用Instance选项克隆的棋子。在这些棋子中,原始棋子和使用Instance选项克隆的棋子是关联的。 
假设现在认为棋子有点高了,希望将它改矮一点。可以通过改变其中的一个关联棋子的高度,来改变所有关联棋子的高度。下面进行这项操作。 
13. 在摄像机视口单击原始棋子,选择它。 

 
14. 到Modify命令面板,在编辑修改器堆栈区域单击ChamferCyl。 
15. 在出现的警告消息框(见图3.25)中单击Yes按钮。 

 
这时在命令面板中出现ChamferCyl的参数。 
16. 在Parameters卷展栏将Height参数改为11.0。 
可以在前视口看到有3个棋子的高度变矮了,一个棋子的高度没有改变,见图3.26。也就是所有使用Instance选项克隆的棋子的高度都改变了,而使用Copy选项克隆的棋子的高度没有改变。 
17. 在摄像机视口单击GamePieceRed02选择它,然后按键盘上的Delete键删除它。 
18. 在摄像机视口单击任何一个棋子,选择它。 
19. 在顶视口再使用Instances选项在不同的方格中克隆两个棋子,见图3.27。 
20. 在摄像机视口单击任何一个红色棋子,选择它。 
21. 到Modify面板单击靠近对象名称处的颜色样本,出现Object Color对话框。 
22. 在Object Color对话框,单击黄颜色,然后再单击OK按钮,这样就将选择棋子的颜色改为黄颜色。 

 

 
23. 在顶视口再使用Instance选项在不同的方格中克隆四个棋子。 
  
说明:还可以继续使用上面的方法创建4个绿色棋子和4个蓝色棋子,参见图3.29。这些操作请读者自己来完成。本书配套光盘的Samples/ch03文件夹中的文件ch03_02f.max是完成后的版本。