ModelNode
是 CesiumJS
中用于展示 3D
模型的节点,它包含有模型网格、材质贴图、位置、旋转、缩放等信息,并通过 CesiumJS
的渲染引擎进行渲染。可以在场景中通过 Viewer.entities
或 Scene.primitives
属性添加类似 ModelNode
这样的节点。
Type: String
用于标识节点的唯一标识符,可选属性。
Type: Cartesian3
节点的位置,采用笛卡尔坐标系表示,单位为米,默认为原点。
Type: Quaternion
节点的旋转四元数,用于描述节点在三维空间内的朝向,默认为单位四元数。
Type: Cartesian3
节点的缩放比例,用于将模型网格缩放至指定比例,默认为单位向量。
Type: Model
包含要加载的 3D
模型相关信息的实例,例如 glTF
文件路径、材质贴图等。
Type: Function
设置节点是否可见,参数 true
为可见,false
为不可见。
Type: Function
返回当前节点是否可见,返回值为布尔型。
Type: Function
销毁节点,释放内存。
const viewer = new Cesium.Viewer('cesiumContainer');
const position = Cesium.Cartesian3.fromDegrees(-75.59777, 40.03883);
const model = new Cesium.Model({
uri: 'path/to/model.gltf',
});
const modelNode = viewer.entities.add({
position: position,
model: model,
});
以上代码创建了一个 ModelNode
,并将其添加到 Viewer
内的 entities
属性中了。注意,以上示例没有指定节点的 orientation
和 scale
属性,所以缺省值为单位四元数和单位向量。