大学生创业服务网站建设方案创业加盟
news/
2025/9/22 19:30:22/
文章来源:
大学生创业服务网站建设方案,创业加盟,青岛专业做网站的公司,产品设计公司运营关于Primitive。
Primitive和Entity#xff0c;一般翻译成图元和实体#xff0c;图元更接近底层#xff0c;实体是封装后的高级对象#xff0c;使用更加简便。一般来说#xff0c;Primitive的使用相对繁琐#xff0c;相比Entity需要使用者自己初始化更多对象#xff0c…关于Primitive。
Primitive和Entity一般翻译成图元和实体图元更接近底层实体是封装后的高级对象使用更加简便。一般来说Primitive的使用相对繁琐相比Entity需要使用者自己初始化更多对象包括外观、地理信息等但正因为如此为Primitive添加材质要方便很多因为可以直接操作几何体的外观部分。
如何做出比较仿真的水
那么既然我们要仿真出比较偏向于真实流水的效果当然是使用primitive对象会更加方便一些。
这里有官方的示例可以参照传送门
从示例中我们可以看出模仿水流效果的重点是材质文件和我们对于材质的基本属性设置。
以下图片材料即官方示例给出的材质材料可以直接保存使用。
水流模型的制作
①定义材质
const material new Cesium.Material({fabric: {type: Water,uniforms: {// baseWaterColor: new Cesium.Color(64 / 255.0, 157 / 255.0, 253 / 255.0, 0.5),normalMap: /static/waterNormals.jpg,frequency: 8000.0, // 控制波数的数字。animationSpeed: 0.02, // 控制水的动画速度的数字。amplitude: 5.0, // 控制水波振幅的数字。specularIntensity: 0.8, // 控制镜面反射强度的数字。}}})②定义primitive
注意areaArr为[经度纬度高度经度……]的一维数组primitive的形状将会根据不同数据绘画出不同的水流形状。
let primitives new Cesium.Primitive({geometryInstances: new Cesium.GeometryInstance({geometry: new Cesium.PolygonGeometry({polygonHierarchy: new Cesium.PolygonHierarchy(Cesium.Cartesian3.fromDegreesArray(areaArr)),vertexFormat: Cesium.EllipsoidSurfaceAppearance.VERTEX_FORMAT,extrudedHeight: parseFloat(10),height: parseFloat(10)}),}),appearance: new Cesium.EllipsoidSurfaceAppearance({material: material}),})③把primitive加入到viewer当中
this.viewer.scene.primitives.add(primitives);
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/910130.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!