使用Datasmith将内容导入或重新导入到Twinmotion中时,可以使用材质替换功能,将项目中的材质替换为Twinmotion库中的材质。 你可以使用Twinmotion库中的任何材质作为替换项,包括以下各项:
材质替换的细节在材质替换文件(CSV格式的电子表格)中有定义。该文件会在安装Twinmotion时自动安装在计算机上。 在该电子表格中,你需要确定要在项目中替换的每个材质,并将其与要用作替换项的相应Twinmotion材质进行匹配。
材质替换功能启用后,就算项目已被导入到Twinmotion,你也可以继续定义更多替换项,并通过重新将材质导入到Twinmotion中而将更改应用到项目。
选择Twinmotion材质进行替换时,可以使用材质的默认参数(如颜色、UV缩放或不透明度设置),也可以在材质替换文件中重载参数。 将项目导入或重新导入Twinmotion时,新参数会自动重载默认设置。
无法在材质替换工作流程中指定或重载纹理。 要选择或重载纹理,必须直接在Twinmotion中编辑材质。
先决条件
Twinmotion库中的材质为本地材质或基于云的材质:
本地材质在安装Twinmotion时自动安装在计算机上。
基于云的材质在线存储在专用服务器上,以减少计算机上的本地存储需求。 必须先下载这些材质,之后才能在Twinmotion中使用材质以及将其作为替换项。 如需了解如何从Twinmotion库下载云资产,请参阅访问云中的Twinmotion资产。
使用材质替换工作流程
材质替换工作流程使用两个CSV格式的文件:材质替换文件和Twinmotion材质ID文件。 你可以使用Microsoft Excel或Google Sheets等电子表格程序,或Notepad或TextEdit等文本编辑器打开.csv文件。
要使用材质替换工作流程,请执行以下步骤:
创建新的Twinmotion场景。
使用Datasmith Direct Link工作流程或Datasmith文件导入工作流程将设计应用程序中的项目导入到Twinmotion中。
将项目从设计应用程序导入到Twinmotion中时,请牢记以下命名规范:
在Twinmotion中,项目材质名称中的空格或特殊字符将被替换为下划线。 例如,设计应用程序中名为"Cantaria - 12 26"的材质将被改为"Cantaria_-_12_26"。
如果项目材质名称包含下划线,则在将文件导入到Twinmotion中之前,必须将下划线替换为空格。 导入文件后,名称中的下划线将被还原。 例如,名称为"Metal_dark"的材质需要被重命名为"Metal dark"。 材质被导入到Twinmotion中后,该名称将被还原为"Metal_dark"。
在导入过程中,进入导入(Import)窗口时,请执行以下步骤:
勾选 启用替换(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\SubstitutionMacOS:
HD:Users:[username]:Documents:Twinmotion[version]:Substitution在Twinmotion中,使用材质选取器选择场景中对象的材质,找到要替换的材质的名称。
属性(Properties)面板中将显示材质的名称和属性。
打开生成的Twinmotion材质ID文件,找到想要用作替换项的Twinmotion材质的GUID。 GUID是由连字符分隔的一组字母数字字符。 如需详细了解该文件的内容,请参阅关于Twinmotion材质ID文件。
在材质替换文件中的材质替换表中,从第12行开始输入替换项的详细信息。 在默认材质替换文件中,这些行包含每种Twinmotion基础材质的替换项示例。 你可以修改这些行来指定自己的材质替换项。
要重载Twinmotion材质的某些参数,请在从I列开始的参数重载项(Parameter Overrides)分段中输入相关信息。 如需详细了解可以重载的参数,请参阅参数重载项。
一旦指定了替换项,如果在原始位置之外编辑了材质替换文件(例如在Google Sheets中上传并编辑了该文件),请复制编辑过的版本并覆盖原始位置中的默认材质替换文件。
如果你使用桌面版Excel编辑材质替换文件,请在将项目导入或重新导入到Twinmotion中之前关闭Excel应用程序。
根据你是将
.udatasmith文件导入到了Twinmotion中,还是创建了Direct Link,请将.udatasmith文件重新导入Twinmotion,或请更新Direct Link。如需了解如何重新导入
.udatasmith文件,请参阅Datasmith文件导入工作流程文档的替换或更新Twinmotion中的Datasmith文件小节。如需了解如何更新Datasmith Direct Link,请参阅Datasmith Direct Link工作流程文档中的更新Twinmotion中的场景小节。
一旦重新导入场景,材质替换将应用于场景中的材质。
关于材质替换文件
名为MaterialsSubstitutionTable_v[file version]_[Twinmotion version].csv的材质替换文件包含一个表格,供你指定材质替换的详细信息。 安装Twinmotion时,该文件将自动安装在计算机的以下文件夹中:
Windows:
C:\Users\[username]\Documents\Twinmotion[version]\Twinmotion\Content\SubstitutionMacOS:
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"不会匹配。 | [任意] |
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"。 选项(Options):从一系列可用选项中选择的值。 例如,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。 必须使用这组数字来在材质替换文件中标识用作替换项的材质。