Cesium 创建 BoxGometry 使用不同的外观

本文详细介绍了如何在Cesium中使用BoxGeometry创建3D模型,并展示了PerInstanceColorAppearance、MaterialAppearance和EllipsoidSurfaceAppearance三种不同外观方式的实例,包括设置颜色、材质和模型矩阵等关键步骤。
摘要由CSDN通过智能技术生成

Cesium 创建 BoxGometry 使用不同的外观

在这里插入图片描述

整体流程:

// step1:
const geometry = Cesium.BoxGeometry.fromDimensions({
  // Cesium.PerInstanceColorAppearance.VERTEX_FORMAT,
  vertexFormat: Cesium.VertexFormat.POSITION_AND_NORMAL,
  dimensions: new Cesium.Cartesian3(4.0, 3.0, 5.0),
})

// step2:
...
// step3:
...

// step4:
const primitive = new Cesium.Primitive({
  appearance,
  geometryInstances: instance,
})
1、PerInstanceColorAppearance
// step2:
const instance = new Cesium.GeometryInstance({
  geometry,
  modelMatrix,
  attributes: {
    color: Cesium.ColorGeometryInstanceAttribute.fromColor(
      Cesium.Color.RED.withAlpha(0.5)
    ),
  },
})

// step3:
const appearance =  new Cesium.PerInstanceColorAppearance({
  closed: true,
});
2、MaterialAppearance
// step2:
const instance = new Cesium.GeometryInstance({
  geometry,
  modelMatrix,
})

// step3:
const appearance =  new Cesium.MaterialAppearance({
  materialSupport: Cesium.MaterialAppearance.MaterialSupport.BASIC,
  material : new Cesium.Material({
    fabric : {
      type : 'Color',
      uniforms : {
        color : new Cesium.Color(1.0, 0.0, 0.0, 1.0)
      }
    }
  }),
  faceForward : true
})
3、EllipsoidSurfaceAppearance
// step2:
const instance = new Cesium.GeometryInstance({
  geometry,
  modelMatrix,
})

// step3:
const appearance =  new Cesium.EllipsoidSurfaceAppearance({
  material : new Cesium.Material({
    fabric : {
      type : 'Color',
      uniforms : {
        color : new Cesium.Color(1.0, 0.0, 0.0, 1.0)
      }
    }
  }),
  faceForward : true
})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值