Material
是 CesiumJS 中生动而又重要的组成部分之一。它是用于描述模型、多边形、实例几何等对象颜色、透明度、纹理等特性的对象。
引用 Material
可以使用以下方式:
import { Material } from "cesium";
以下为 Material
对象的属性:
名称 | 类型 | 默认值 | 描述 |
---|---|---|---|
materials |
Object |
包含名称和对应 Material 的对象。 |
|
DefaultImageId |
String |
默认的图片 ID | |
DefaultCubeMapId |
String |
默认的 CubeMap ID | |
DefaultRimColor |
Color |
默认的 Rim 颜色 | |
DefaultColor |
Color |
默认的颜色 | |
DefaultAlpha |
Number |
默认的不透明度 | |
DefaultSpecular |
Number |
默认的高光 | |
DefaultShininess |
Number |
默认的光泽度 | |
DefaultMetallic |
Number |
默认的金属性 | |
DefaultRoughness |
Number |
默认的粗糙度 | |
DefaultNormalMap |
String |
默认的法线贴图 | |
DefaultNormalMapScale |
Number |
默认的法线贴图缩放 | |
DefaultEmissive |
Color |
光照外发颜色。 | |
DefaultGlowPower |
Number |
发光功率。 | |
DefaultMaximumScale |
Number |
最大比例尺。 | |
DefaultMinimumScale |
Number |
最小比例尺。 | |
DefaultSilhouetteColor |
Color |
轮廓线颜色。 | |
DefaultSilhouetteSize |
Number |
轮廓线宽度。 | |
DefaultTranslucent |
Boolean |
默认是否透明 | |
DefaultBackFaceCulling |
Boolean |
默认后向剔除开启状态 | |
DefaultFlat |
Boolean |
平缓的表面。 | |
DefaultFaceForward |
Boolean |
正面向视点。 | |
DefaultSphericalHarmonics |
SphericalHarmonics |
默认的球面谐波环境光照系数。 |
以下为 Material
对象的方法:
添加一个新的 Material
对象,并分配给一个名称。
let material = new Material();
Material.addMaterial("material1");
删除一个类型为 Material
的对象。
Material.removeMaterial("material1");
通过类型创建一个新的 Material
对象。
let material = Material.fromType(Material.ColorType);
创建一个新的 Material
对象,通过没有特定类型的描述和一个基本的 Material
对象。
let material = Material.fromTypelessDescription({}, Material.Default);
通过类型和描述创建一个新的 Material
对象。
let material = Material.fromTypeDescription(Material.ColorType, {});
从给定的 URI 创建一个材料。给定材料将与 URI 的描述组合。解析 URI 的内容并将其描述转换为 Material
对象。
let material = Material.fromTypelessUri("./texture.jpg", Material.Default);
为 Material
添加默认属性。
Material.addDefault("Name", "Default");
从 Material
中删除默认参数。
Material.removeDefault("Name");
以下为 Material
对象的示例:
let material = new Material({
translucent: true,
fabric: {
type: "Color",
uniforms: {
color: new Color(1.0, 0.0, 0.0, 0.5)
}
}
});
在上面的示例中,我们创建了一个半透明的红色颜色材料。type
为 Color
,表示这是一种颜色材质,uniforms
表示要使用的 uniform 变量,这里我们只需要一个颜色值。