使用Datasmith将内容导入或重新导入到Twinmotion中时,可以使用材质替换功能,将项目中的材质替换为Twinmotion库中的材质。你可以使用Twinmotion库中的任何材质作为替换项,包括以下各项:
- 材质类别
- Megascans > 表面和Adobe Substance 3D库
- Twinmotion 用户库
材质替换的细节在材质替换文件(CSV
格式的电子表格)中有定义,该文件在安装Twinmotion时会自动安装在计算机上。在该电子表格中,你需要确定要在项目中替换的每个材质,并将其与要用作替换项的相应Twinmotion材质进行匹配。
材质替换功能启用后,就算项目已被导入到Twinmotion,你也可以继续定义更多替换项,并通过重新将材质导入到Twinmotion中而将更改应用到项目。
选择Twinmotion材质进行替换时,可以使用材质的默认参数(如颜色、UV缩放或不透明度设置),也可以在材质替换文件中重载参数。将项目导入或重新导入Twinmotion时,新参数会自动重载默认设置。
无法在材质替换工作流程中指定或重载纹理。要选择或重载纹理,必须直接在Twinmotion中编辑材质。
先决条件
Twinmotion库中的材质为本地材质或基于云的材质:
- 本地材质在安装Twinmotion时自动安装在计算机上。
- 基于云的材质在线存储在专用服务器上,以减少计算机上的本地存储需求。必须先下载这些材质,之后才能在Twinmotion中使用材质以及将其作为替换项。如需了解如何从Twinmotion库下载云资产,请参阅访问云中的Twinmotion资产。
使用材质替换工作流程
材质替换工作流程使用两个 CSV
格式的文件:材质替换文件和Twinmotion材质ID文件。你可以使用Microsoft Excel或Google Sheet等电子表格程序或者Notepad或TextEdit等文本编辑器打开 .csv
文件。
要使用材质替换工作流程,请执行以下步骤:
- 创建新的Twinmotion场景。
-
使用Datasmith Direct Link工作流程或Datasmith文件导入工作流程将设计应用程序中的项目导入到Twinmotion中。
-
在导入过程中,进入 导入(Import) 窗口时,请执行以下步骤:
-
在 折叠(Collapse) 下拉菜单中,选择 按材质折叠(Collapse by material) 。该选项会将项目中使用同一材质的所有对象分组为单个网格体,并在Twinmotion场景图表中显示项目中使用的所有材质的名称。当后续需要确定要替换的材质的名称时,该选项将非常有用。
-
选择 启用替换(Enable Substitution) 复选框以启用材质替换功能。如果选择了此选项,在将场景导入和重新导入到Twinmotion中时,将应用材质替换
.csv
文件中定义的材质替换项。 -
确保 替换表格(Substitution table) 字段中的路径指向位于计算机上的材质替换文件 (
MaterialsSubstitutionTable_v[file version]_[Twinmotion version].csv
)。该文件包含导入过程中应用的材质替换的详细信息。如需更多信息,请参阅关于材质替换文件。
-
-
生成一个Twinmotion材质ID文件,其中包含Twinmotion中可用作替换项的所有可用材质的名称和全局唯一标识符(GUID)。具体方法是,转到 文件(File) > 导出材质ID(Export Materials IDs) 以打开 导出库(Export library) 窗口。
- 输入文件名并选择要在计算机上存储的位置,然后点击 保存(Save)。
-
从以下位置打开材质替换文件,文件名为
MaterialsSubstitutionTable_v[file version]_[Twinmotion version].csv
:Windows:
C:\Users[username]\Documents\Twinmotion[version]\Twinmotion\Content\Substitution
MacOS:
HD:Users:[username]:Documents:Twinmotion[version]:Substitution
-
在Twinmotion中,使用 材质选取器 并选择场景中对象的材质来找到要替换的材质的名称。
属性(Properties) 面板中将显示材质的名称和属性。
属性面板中要被替换的材质。
将场景导入到Twinmotion中时,材质的名称可能会有所变化。名称中的空格或特殊字符将替被换为下划线。例如,设计应用程序中名为"Cantaria - 12 26"的材质将更改为"Cantaria_-_12_26"。
-
打开生成的Twinmotion材质ID文件,找到想要用作替换项的Twinmotion材质的GUID。GUID是由连字符分隔的一组字母数字字符。如需详细了解该文件内容,请参阅关于Twinmotion材质ID文件。
Twinmotion材质的GUID。
-
在材质替换文件中的材质替换表中,从第12行开始输入替换项的详细信息。在默认材质替换文件中,这些行包含每种Twinmotion基础材质的替换项示例。你可以修改这些行来指定自己的材质替换项。
材质替换文件中材质替换的详细信息。
- 要重载Twinmotion材质的某些参数,请在从I列开始的 参数重载项 分段中输入信息。如需详细了解可以重载的参数,请参阅参数重载项。
- 一旦指定了替换项,如果在原始位置之外编辑了材质替换文件(例如,如果你在Google Sheets中上传并编辑了该文件),请复制编辑过的版本并覆盖原始位置中的默认材质替换文件。
-
根据你是将
.udatasmith
文件导入到了Twinmotion中,还是创建了Direct Link,请将.udatasmith
文件重新导入Twinmotion或更新Direct Link。如需了解如何重新导入
.udatasmith
文件,请参阅Datasmith文件导入工作流程文档中的替换或更新Twinmotion中的Datasmith文件。如需了解如何更新Datasmith Direct Link,请参阅Datasmith Direct Link工作流程文档中的更新Twinmotion中的场景。
一旦重新导入场景,材质替换将应用于场景中的材质。
Twinmotion中的被替换材质。
关于材质替换文件
名为 MaterialsSubstitutionTable_v[file version]_[Twinmotion version].csv
的材质替换文件包含一个表格,供你指定材质替换的详细信息。安装Twinmotion时,该文件将自动安装在计算机的以下文件夹中:
- Windows :
C:\Users[username]\Documents\Twinmotion[version]\Twinmotion\Content\Substitution
- MacOS :
HD:Users:[username]:Documents:Twinmotion[version]:Substitution
将场景导入到Twinmotion中时,导入(Import) 窗口中 替换表(Substitution table) 字段中的路径默认指向计算机上安装的材质替换文件。

点击 替换表(Substitution table) 字段旁边的 省略号(…) ,将打开包含以下命令的菜单:

- 清除(Clear) :清除 替换表(Substitution table) 字段。
- 复制(Copy) :复制 替换表(Substitution table) 字段中的路径。要定位计算机上的材质替换文件,选择 复制(Copy),然后将路径粘贴在访达(Finder)窗口或Windows资源管理器的搜索栏中。
- 粘贴(Paste) :将剪贴板的内容粘贴到 替换表(Substitution table) 字段中。你可以从访达窗口或Windows资源管理器将路径复制到材质替换文件,然后选择 粘贴(Paste) 将其粘贴到 替换表(Substitution table) 字段。
- 生成默认表(Generate default table):生成新的默认材质替换文件。
材质替换规则
你必须为要替换的每个材质创建一个材质替换规则。材质替换规则定义了替换的细节,例如要将哪个材质用作替换项,以及Twinmotion用来确定是否应该将材质替换掉的条件。
从第12行开始在A列(行ID)到H列(实例类型)之间定义材质替换定义规则。你还可以在从I列开始以及后续各列的 参数重载项(Parameter Overrides) 分段中定义Twinmotion材质的默认参数的重载项。
下图显示了默认材质替换文件中的第12行至第22行。这些行的内容仅供参考,旨在提供示例来说明如何为每种Twinmotion基础材质定义材质替换规则。你可用自己的替换规则来替换这些行中的信息。

材质替换文件中的材质替换规则。
- 每行包含一种材质的替换规则。
- 可以根据需要定义任意数量的替换规则。
- 必须从第12行开始输入替换规则。
- C列(替换类型)到H列(实例类型)定义每个被替换材质的基本材质替换规则,并且必须包含一个值。如需更多信息,请参阅基本材质替换规则。
- 从I列(参数重载项)开始定义Twinmotion材质参数重载项。如需更多信息,请参阅参数重载项。 在材质替换过程中,从上到下应用替换规则。例如,先应用第12行中指定的替换规则,然后再应用第13行中的替换规则,以此类推。
基本材质替换规则
下表介绍了从A列到H列的内容,分别定义了以下材质替换规则:替换类型、筛选器、条件、值、TM库GUID和实例类型。
列 | 名称 | 说明 | 可能的值 |
---|---|---|---|
A | 行ID(Row ID) | 在默认材质替换文件中,该列包含一个数字和被替换材质类型,例如"01-Standard Stones"。在电子表格程序中,该行内容可用于按数字或字母顺序对行进行排序。 表格中必须显示该行,但该行不用于材质替换过程。你可以将其保留为空白,或者用它来添加自定义标签。 |
[任意] |
B | 行名(Row Name) | 在默认材质替换文件中,该列通过名称来标识Twinmotion材质,例如"Stone Wall 2"。 表格中必须显示该行,但该行不用于材质替换过程。你可以将其保留为空白,或者用它来添加自定义标签。 |
[任意] |
C | 替换类型(Substitution Type) | 确定替换类型。此值不可更改。 | 材质 |
D | 筛选器(Filter) | 与 条件(Condition) 一起使用一类值,用于找到要替换的材质。目前无法更改该值的类型,使用的是 值(Value) (F) 列中的材质的名称。 | 名称 |
E | 条件(Condition) | 用于寻找要替换的材质的筛选条件,如 值(Value) (F)列中所指定。 例如,如果 Value (F) 列中包含"Glass"一词,而条件为"包含(Contains)",则替换所有包含"Glass"一词的材质。 星号( * )和问号( ? )符号可用作通配符。 |
|
F | 值(Value) | 要替换的材质的名称。 材质名称区分大小写。例如,名称"Grass"与"grass"不会匹配。 |
[any] |
G | TM库GUID(TM Library GUID) | 要用作替换项的Twinmotion材质的GUID(一组用于标识材质的唯一编号)。每个Twinmotion本地材质和下载的基于云的材质都有一个唯一的GUID标识,由一组由连字符分隔的分组字母数字字符组成。你可以在导出的Twinmotion材质ID文件中找到GUID。如需更多信息,请参阅关于Twinmotion材质ID文件。 | [任意] |
H | 实例类型(Instance Type) | 如果Twinmotion材质替换了导入项目中的多个材质,则可以指定替换材质是副本还是实例。 |
|
参数重载项
选择Twinmotion材质作为替换项时,你可以使用材质的默认参数(如颜色、粗糙度或比例),也可以重载它们。在材质替换过程中,使用从I列开始的 参数重载项(Parameter Overrides) 分段中定义的参数重载项,取代默认的Twinmotion参数。
下图显示了从默认材质替换文件中从I列开始的 参数重载项(Parameter Overrides) 分段。本节内容仅供参考,旨在提供示例来说明如何定义参数重载项。你可以删除这些列的内容,或者改用自己的替换规则。

材质替换文件中的"参数重载项"分段。
- 从I列开始,在各列输入材质的每个参数的重载项。
- 可以根据需要指定任意数量的重载项。
- 参数及参数值必须用方括号([])括起来,并使用以下语法:[ParameterName Value]。例如:[TintColor 95 128 230]。
重要说明 :必须为每个材质替换项定义至少一个参数重载项。如果不想重载任何参数,输入材质任一现有参数的默认值即可。例如, Clean Brick 01 材质有色调颜色,其默认值为231 134 113。你就可以在I列中输入[TintColor 231 134 113]。
参数重载项参考
从第43行开始的A列(颜色属性)到F列(示例)包含对可为Twinmotion材质定义的参数重载项的参考内容。这些行都以井号(#)开头,这意味着仅供参考,不影响材质替换过程。

材质替换文件中的参数重载项的参考分段。
列 | 名称 | 说明 |
---|---|---|
A | 颜色属性(Color Properties) | 显示必须用于识别材质替换表中的参数的 属性名称 。 属性名称可以与Twinmotion用户界面中的参数名称不同。例如,要在材质替换文件中指定"Color"参数,必须使用"TintColor"。 |
B | Twinmotion UI名称(Twinmotion UI Name) | 显示参数在Twinmotion用户界面中显示的名称。 |
C | 值类型(Value Type) | 表示应如何根据值的类型对参数重载项的值进行格式化。 布尔(Boolean) : 可以切换为开或关的值;1 =开,0 =关。例如,"[UseMask 1]"表示遮罩将开启(启用)。 使用十进制值(如1.2)或任何其他值会产生错误。 FLinearColor :RGB模型中表示颜色的值。例如,[LuminanceFilter 95 128 230]。 浮点(Float) :表示参数的最小值和最大值的整数值。例如,"Min: 0"和"Max: 2"。 选项 :从一系列可用选项中选择的值。例如,Glass材质类型有以下选项:Translucent、ThinTranslucent、Basic。 TFVector3D :要输入多个数字的值类型。必须按显示顺序列出,可以是十进制值。 |
D | 范围最小值(Range min) | 显示取值范围的最小值。例如,"Min: 0.0"表示不可能有低于0.0的值。 |
E | 范围最大值(Range max) | 显示取值范围的最大值。例如,"Max: 2.0"表示不可能有大于2.0的值。 |
F | 示例(Example) | 显示用于输入参数重载项的语法示例。 |
材质替换文件中的其他内容
材质替换文件中的以下各行都以井号(#)开头,这表示仅供参考,不影响材质替换过程。
第1行到第9行
关于材质替换文件的一般信息。
点击查看大图。
第23行到第39行
关于替换表中各列以及用于识别要被替换的材质的筛选器和条件的信息。
点击查看大图。
关于Twinmotion材质ID文件
每个Twinmotion材质都由一个名称和GUID标识,GUID是一组用于标识材质的唯一编号。将Twinmotion材质指定为替换项时,必须使用GUID在替换表中进行标识。你可以在Twinmotion中生成一个 CSV
格式的材质ID文件,从而找到所有本地材质和下载的Twinmotion材质的GUID。
要生成Twinmotion材质ID文件,请转至 文件(File) > 导出材质ID(Export Materials IDs) 。为文件选择名称并将其保存在计算机上的任何位置。
对于场景中的每种材质,材质ID文件都包含一个相应的行。

-
A列 显示材质在Twinmotion库中的位置。
-
B列 为材质在Twinmotion库中的名称。
-
C列 为材质的GUID。必须使用这组数字来在材质替换文件中标识用作替换项的材质。