语法

  • setMaterial(material)

参数

  1. material – string[]
    字符串数组包含 [ attr-name0, value0, attr-name1, value1, … ] 形式的键值对。 不包含“material.”前缀的材料属性名称。

描述

setMaterial 操作将根据 material 设置当前形状材料的材料属性。 使用此操作可以在单次操作中设置多个(所有)材料属性。

结果将与使用 set() 单独设置每个材料属性的结果相同。

相关内容

示例 1

使用 setMaterial() 在单次操作中设置多个材料属性。

myMaterial = [ "color.r",    "1.0", 
               "color.g",    "0.0", 
               "color.b",    "0.0", 
               "opacitymap", "builtin:default" ]

Lot --> primitiveCube() 
        scaleUV(0,0.25,0.25)
        setMaterial(myMaterial)
GUID-43776299-4A62-4711-A3B7-ECA2C174B215-web
 

示例 2:正在加载 .cgamat 文件

使用 setMaterial() 和 readMaterial() 从磁盘加载 .cgamat 材料描述(包括纹理)。

Lot --> 
    primitiveSphere()
    setMaterial(readMaterial(
                "materials/Metal2/Metal2.cgamat"))
注:

CityEngine CGA 材料编码器允许通过模型导出编写 cgamat 文件。

GUID-C44F21C9-D37F-4044-9AE8-A3A99A0BACC0-web
 

示例 3:使用 CSV 文件定义材料

可通过 readStringTable() 使用 CSV 文件中的材料描述。

RefExampleCSV-->
     primitiveCube()
     setMaterial(readStringTable(
                 "exampleMaterial.csv"))    
    
    
exampleMaterial.csv:    
color.r,1
color.g,0.5
color.b,0
colormap,builtin:default
GUID-DD26B6A0-7606-44CE-8A9D-406A647D2767-web