ModelMaterial

new SuperMap3D.ModelMaterial()

具有可修改参数的模型材质。glTF 材质包含由材质技术定义的参数,参数值由技术定义,并有可能被材质覆盖。

使用Model#getMaterial创建实例。

See:

Members

readonlyid : String

此材质的glTF JSON属性的名称。这保证在所有材质中是独一无二的。它可能不匹配材质的名称属性(@link ModelMaterial#name),该属性是由美工在创建资产时分配的。

readonlyname : String

此材质名称属性的值。是美工在创建资产时指定的名称。它是glTF内部的,可以不同于材质属性的名称(ModelMaterial#id)。

Methods

getValue(name)Object

返回具有给定名称的参数值。返回对象的类型取决于参数的glTF类型。它将是一个浮点数、Cartesian或矩阵。
Name Type Description
name String 参数的名称。
Returns:
参数的值,如果参数不存在则为undefined。

setValue(name, value)

为材质参数赋值。value的类型取决于参数的glTF类型。它将是一个浮点数、Cartesian或矩阵。
Name Type Description
name String 参数的名称。
value Object optional 要分配给参数的值。
Throws:
  • DeveloperError : 名称必须匹配材质技术中可瞄准且未优化的参数名称。
Example:
material.setValue('diffuse', new SuperMap3D.Cartesian4(1.0, 0.0, 0.0, 1.0));  // vec4
material.setValue('shininess', 256.0);                             // scalar