创建副本、实例和参考

 
 
 

使用 3ds Max,可以在变换操作期间快速创建一个或多个选定对象的多个版本。通过移动、旋转或缩放选定对象时按下 Shift 键,可以完成此操作。

从圆柱的阵列创建的门廊

复制对象的通用术语为克隆。本节介绍用于克隆对象的方法。

除了按住 Shift 键进行变换这一方法之外,镜像工具和各种阵列工具也可以克隆对象。请参见克隆对象的技术

可以设置任何克隆技术的动画。

副本、实例和参考的概述

要复制对象,请使用下面三种方法之一。对于所有三种方法,原始对象和克隆对象在几何体层级是相同的。这些方法的区别在于处理修改器(例如,“混合”或“扭曲”)时所采用的方式。

对象可以是其他对象的副本。

复制方法:创建一个与原始对象完全无关的克隆对象。修改一个对象时,不会对另外一个对象产生影响。

实例方法:创建原始对象的完全可交互克隆对象。修改实例对象与修改原对象的效果完全相同。

参考方法:克隆对象时,创建与原始对象有关的克隆对象。参考对象之前 更改对该对象应用的修改器的参数时,将会更改这两个对象。但是,新修改器可以应用于参考对象之一。因此,它只会影响应用该修改器的对象。

根据创建克隆对象时使用的方法,克隆对象可以称作副本实例 参考

下面重点谈论了如何使用这些方法。

副本

副本 是最常见的克隆对象。复制对象时,将会创建新的独立主对象和删除新的命名对象的数据流。该副本将会在复制时复制原始对象的所有数据。它与原始对象之间没有关系。

使用复制对象的示例

如果已为基本的建筑物形状建模并想要创建一组各式各样的建筑物,那么可以制作基本形状的副本,然后在每个建筑物上为不同的特征建模,从而将它们彼此区分开来。

复制活动链接对象

复制通过文件链接管理器活动链接的对象时,3ds Max 会自动将副本转化为可编辑网格对象。如果选定内容包含实例化其他对象的几个对象,则生成的副本也会实例化相同的对象。

实例

实例 不仅在几何体中相同,而且在其他用法上相同。实例化对象时,将会根据单个主对象生成多个命名对象。每个命名对象实例拥有自身的变换组、空间扭曲绑定和对象属性。但是,它与其他实例共享对象修改器和主对象。实例的数据流正好在计算对象修改器之后出现分支。

例如,通过应用或调整修改器更改一个实例之后,所有其它的实例也会随之改变。

3ds Max 中,实例源自同一个主对象。“在场景后面”执行的操作是,将单个修改器应用于单个主对象。在视口中所看到的多个对象是具有同一定义的多个实例。

使用实例化对象的示例

如果要创建一群游动的鱼,开始时可以制作单条鱼的多个实例副本。然后,将涟漪修改器应用到这群鱼的任何一条上,为这群鱼生成游动动画效果。这样,整群鱼都具有相同的游动效果。

活动链接对象的实例

不建议您创建活动链接对象的实例。如果删除链接文件中的实例化对象,可能会产生可靠性问题。

参考

参考基于原始对象,就象实例一样,但是它们还可以拥有自身特有的修改器。同实例对象一样,参考对象至少可以共享同一个主对象和一些对象修改器(可能的话)。

参考对象的数据流正好在对象修改器之后出现分支,但是此后,会对每个参考对象特有的第二组对象修改器进行计算。创建参考时,3ds Max 将会在所有克隆对象修改器堆栈的顶部显示一条灰线,即导出对象线。在该直线下方所做的任何修改都会传递到其他参考对象以及原始对象。在该直线上方添加的新修改器不会传递到其他参考对象。对原始对象(如在创建参数中)所做的更改会传递到其参考对象。

这种效果十分有用,因为在保持影响所有参考对象的原始对象的同时,参考对象可以显示自身的各种特性。

所有的共享修改器位于导出对象直线的下方,且显示为粗体。选定参考对象特有的所有修改器位于导出对象直线的下方,且不显示为粗体。原始对象没有导出对象直线:其创建参数和修改器都会进行共享,且对该对象所做的全部更改都会影响所有参考对象。

更改命名对象参考的修改器或对其应用修改器的结果取决于在修改器堆栈中应用该修改器的位置。

  • 如果在修改器堆栈的顶部应用修改器,则只会影响选定的命名对象。
  • 如果在灰线下方应用修改器,将会影响该直线上方的所有参考分支对象。
  • 如果在修改器堆栈的底部应用修改器,将会影响从主对象生成的所有参考对象。

活动链接对象的参考

不建议您创建活动链接对象的参考对象。如果删除链接文件中的参考对象,可能会产生可靠性问题。

使用参考对象的示例

例如,如果为头部建模,可能需要保持角色的家族相似性。您可以根据原始对象为级别特征建模,然后根据每个参考为模型特点对象建模。

有时,如果需要查看角色的头部是否象“克隆头部”,可能需要对原始头部应用“锥化”修改器,且让其他所有角色显示相同的特征点。您可以向原始角色提供非常尖角的头部,然后对某些参考角色应用单独的“锥化”修改器,以便减少面向法线的点。

对于游动的鱼,可能需要根据一条原始鱼选择将鱼群中的所有鱼作为参考对象。因此,可以通过原始鱼控制游动运动,还可以鱼群中的各条鱼添加修改器,使其游动不一。