- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试添加一个具有多种不同属性的实体,例如 Material (主要是 alpha)和旋转。 RectangleGraphics 覆盖了旋转,并且在我设置 Material 以表示纹理时起作用。
viewer.entities.add({
name: 'Site Layer',
rectangle: {
coordinates: rectangle,
material: 'Image.jpg',
rotation: Cesium.Math.toRadians(13)
}
});
material = new Cesium.Material({
fabric : {
type : 'Color',
uniforms : {
image : 'Image.jpg',
alpha : 0.5
}
components : {
diffuse : 'texture2D(image, materialInput.st).rgb',
alpha : 'texture2D(image, materialInput.st).a * alpha'
}
}
}
);
viewer.entities.add({
rectangle: {
coordinates: rectangle,
material: material,
rotation: Cesium.Math.toRadians(13)
}
});
最佳答案
汉娜在论坛上回答了这个问题。我将在下面复制她的回答,但首先我会添加我自己的注释,说明为什么 MaterialProperty
不同于 Material
.Property
版本,像所有 Cesium Entity Properties , 旨在描述当 Cesium 动画时某物的定义如何随时间变化。例如,MaterialProperty
可以在一个时间间隔内表示纯色,在单独的时间间隔内表示条纹 Material 。实际标的Material
因此,可能会被破坏,并在动画期间创建一个替代品。
对于你的情况,如果你真的需要一个定制的 Material ,你目前最好的选择是避免实体 API 及其时间动态属性,只使用带有 Material
的图形基元。直接上课。但正如 Hannah 指出的那样,对于简单的图像 alpha 混合,您不需要它。汉娜写道:
这应该在即将发布的版本 (1.16) 中修复
您可以使用此代码制作半透明图像:
var viewer = new Cesium.Viewer('cesiumContainer');
viewer.entities.add({
rectangle: {
coordinates: Cesium.Rectangle.fromDegrees(-125,30,-110,40),
material: new Cesium.ImageMaterialProperty({
image: '../images/Cesium_Logo_Color.jpg',
alpha: 0.5
}),
}
});
关于铯:矩形实体上的自定义 Material ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34001821/
我正在尝试添加一个具有多种不同属性的实体,例如 Material (主要是 alpha)和旋转。 RectangleGraphics 覆盖了旋转,并且在我设置 Material 以表示纹理时起作用。
我正在测试 Cesiumjs 以查看它是否可以反射(reflect)近乎实时的体验 - 例如:飞机的位置。 为此,我需要绘制广告牌并让它们移动 - 我知道用铯可以做到这一点,只是不确定如何实现。 代码
我正在使用 Cesium 并希望在视觉上表示相同的两个实体之间的多条折线。例如,从实体 A 到实体 B 的绿色多段线,以及从实体 A 到实体 B 的蓝色多段线。我希望它们不要重叠或混合,所以我想象随着
我想使用铯在我的 map 中通过鼠标事件或键盘事件选项启用/禁用动态放大或缩小。cesium 中是否有启用/禁用此功能的任何选项或功能? 最佳答案 是的,这很简单,只需设置 enableZoom为假。
我有大量代表 map 上数据的框(类似于自定义数据源沙堡示例中的折线)。 我正在使用 addSample 来插入颜色变化,它按预期工作。但是,当我使用 SampledProperty 转换框尺寸时,性
我确信这很简单,但我已经搜索并查看了 Cesium 的文档。我在 Canvas 上绘制了几个点。它们根据它们所代表的内容进行颜色编码。我现在想“点击”一个点并在 JS 中发起一个 Action 。我已
我想这对于真正熟悉 Cesium 的 CZML 文件的人来说是一个简单的问题。我只是想使用 Cesium 将一系列纬度/经度/高度点显示为飞行路径。有人能告诉我“位置”标签应该是什么样的吗? 除非我找
我需要实现跟踪实体的前 View ,它会根据实体的移动而变化。 当我为 viewer.trackedEntity 属性赋值时,相机会占据某个位置。是否可以更改此位置,使相机直接位于跟踪实体的前面? 我
我想让我的相机跟随移动实体的第一人称视角。我不相信 trackedEntity 将适用于此用例,因为我不想查看实体,但我想查看 从它。我还希望用户能够使用鼠标相对于移动实体转动相机(例如,从移动平面的
如何在Cesium中设置不同形状的Z-index?请参阅下面的屏幕截图: 我希望圆柱体中的广告牌图标显示在圆柱体上。 提前致谢! 最佳答案 这并不容易,因为您的圆柱体是实际的 3D 体积,而您的广告牌
现在我使用 cesium-terrain-builder用于生成 .terrain 格式的地形图 block ,但我想知道 Cesium 可以与 float .tif 图 block 一起使用吗? 我
我正在尝试在基于标准 HelloWorld 示例应用程序的测试应用程序中加载以下 geoJson 文件。 { "type": "FeatureCollection", "generator":
当缩放比例增加到一定级别以上时,我想隐藏 map 的标签。 对于这个例子,我想在缩放级别 5 之后隐藏所有与 collection1 相关的标签: https://codepen.io/ollazar
我正在使用 Cesium JS,我是初学者。我在 2D 场景模式下初始化了 Cesium,但我无法将 map 居中。 这是我尝试过的: var widget = new Cesium.CesiumWi
我已将一些概述地球上每个国家/地区的 JSon 数据作为 GeoJSonDataSource 加载到我的 Cesium 项目中。每个国家/地区也作为单独的条目复制到数组中。为了突出显示一个国家/地区,
正在关注 guide at switch2osm.org我能够运行自己的 OSM tile 服务器。 我确实通过使用 webrowser 验证了我的 OSM tile 服务器的状态。例如在 http:
我是一名优秀的程序员,十分优秀!