语法
- string[] getMaterial(source, mode)
参数
- source – 选择器
指定要读取的材料。
- used – 当前所使用的材料,是形状材料和形状几何材料的组合。 在 CGA 中明确设置的形状材料属性将覆盖几何材料。
- shape – 当前形状的材料,与几何无关。
- geometry – 当前形状的几何材料。 如果几何具有多种材料,则将采用第一个。
- mode – 选择器
指定要考虑的属性。
- changed – 仅包括实际设置的材料属性,即保留默认值的属性将被跳过。
- all – 所有材料属性。
返回
所选材料作为 2D 字符串数组。 每行包含两列:属性名称及其值。
描述
getMaterial 函数会将当前材料作为字符串数组返回。 这样,即可在单个函数中轻松捕获所有材料属性。 此结果可用于通过 setMaterial 操作设置材料属性。
注:
请注意,“当前材料”实际上是当前形状材料和当前形状的几何材料的组合。 将材料数组打印到控制台可以很好地检查这些材料。
相关内容
示例
设置各个属性后的材料
CGA 代码
RefExample1-->
color(0.5, 0.6, 0.7)
print(getMaterial(used, changed))
结果
(3x2)
color.b 0.7
color.g 0.6
color.r 0.5
插入资产后的材料
CGA 代码
RefExample2-->
i("/ESRI.lib/assets/Webstyles/Vegetation/Realistic/AcerPlatanoides.glb")
print(getMaterial(used, changed))
结果
(15x2)
metallic 0
opacity 1
opacitymap.cutoff 0.1000000014901161
roughness 0.800000011920929
color.b 1
color.g 1
color.r 1
emissive.b 0
emissive.g 0
emissive.r 0
name
opacitymap.mode mask
colormap /ESRI.lib/assets/Webstyles/Vegetation/Realistic/AcerPlatanoides.glb/img0
opacitymap /ESRI.lib/assets/Webstyles/Vegetation/Realistic/AcerPlatanoides.glb/img0
shader CityEnginePBRShader
在原始几何上应用几何资产的材料
已插入 Fire_Hydrant 资产(左侧)。 此几何已设置多个材料属性。 接下来,将创建一个圆柱,使用 CGA 默认材料(中间)。 最后,Fire_Hydrant 材料将应用于圆柱(右侧)。
|
形状材料与几何材料
已插入 Fire_Hydrant 资产(左侧)。 此几何已设置多个材料属性。 随后设置了一些形状材料属性以覆盖几何材料,生成一个蓝色的无纹理模型。 接下来,对形状材料的更改将重置,这将恢复资产的原始材料设置。 最后,在常量函数中捕获的完整的默认 CGA 材料将明确设置,使得所有形状材料属性设置完成,因此将覆盖几何材料。
|
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。