铯:矩形实体上的自定义材料

zai chang

我正在尝试添加一个实体,该实体具有多种不同的属性,例如材质(主要是Alpha)和旋转。RectangleGraphics包含旋转,并且在设置材质以表示纹理时有效。

viewer.entities.add({ 
  name: 'Site Layer', 
  rectangle: { 
    coordinates: rectangle, 
    material: 'Image.jpg', 
    rotation: Cesium.Math.toRadians(13)     
  }
});

但是,当我尝试通过使用自定义材质(使用https://github.com/AnalyticalGraphicsInc/cesium/issues/2484实现透明度时,它显示为白色纹理,而不是所需的结果……类似:

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)     
  }
});

阅读文档后,矩形中的材质似乎是Cesium.MaterialProperty而不是Cesium.Material ...这是否意味着我不能简单地将材质分配给Rectangle?如果没有,我可以以某种方式将材质包装在自定义的MaterialProperty中以使其起作用吗?

出于好奇,为什么Material和MaterialProperty之间的功能有所不同?

ps GroundPrimitive不适用于我,因为我需要支持的主要浏览器之一(Safari)报告GroundPrimitives.isSupported = false

也发布在这里https://groups.google.com/forum/#!topic/cesium-dev/1IPjHD7G_NA

emackey

汉娜在论坛上回答了这个问题。我将在下面复制她的答案,但首先,我将添加自己的注释,说明为什么MaterialProperty与有所不同Material

Property与所有Cesium实体属性一样版本旨在描述Cesium动画时某些事物的定义如何随时间变化。例如,aMaterialProperty可能在一个时间间隔内指示纯色,而在单独的时间间隔内指示条纹的材料。因此,Material可能破坏实际的基础,并在动画过程中创建替代对象。

对于您的情况,如果您确实需要定制的Material,那么当前最好的选择是避免使用Entity 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
        }),
    }
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用角形材料2的输入上的自定义样式

来自分类Dev

在自定义UIView中无法在图像上绘制矩形

来自分类Dev

自定义矩形在低于5.0的android版本上出错

来自分类Dev

是否可以为实体定义更准确的自定义形状碰撞盒而不是矩形?

来自分类Dev

OroPlatform:在核心实体上添加自定义字段

来自分类Dev

自定义自动完成的角材料

来自分类Dev

材料设计自定义图标颜色

来自分类Dev

Android Shape自定义矩形

来自分类Dev

矩形-指定自定义ID密钥

来自分类Dev

UWP 自定义矩形形状

来自分类Dev

日期选择器上的材料UI自定义文本字段

来自分类Dev

UWP-按钮上的自定义非矩形点击区域。图像或形状

来自分类Dev

显示一组矩形的自定义工具提示(图形上的点)

来自分类Dev

如何排序自定义实体的集合?

来自分类Dev

Liferay自定义实体缓存

来自分类Dev

EF的自定义实体命名规则

来自分类Dev

自定义实体中的产品列表

来自分类Dev

自定义连接实体crm 2013

来自分类Dev

actionsdk中的自定义实体

来自分类Dev

ngbTypeahead用于自定义实体

来自分类Dev

如何排序自定义实体的集合?

来自分类Dev

Symfony 2中的自定义实体

来自分类Dev

SceneKit –制作自定义物理实体

来自分类Dev

自定义命名实体提取

来自分类Dev

实体框架自定义注释

来自分类Dev

斯威夫特3 | CoreData | 自定义实体

来自分类Dev

按自定义列映射实体

来自分类Dev

如何在材料UI中应用自定义主题

来自分类Dev

md-slider自定义颜色滑块-角材料