gpt4 book ai didi

cesiumjs - 如何在 Cesium 中使用 Material.fromType

转载 作者:行者123 更新时间:2023-12-05 02:16:16 25 4
gpt4 key购买 nike

我在使用 Cesium.Material.fromType 函数创建使用类型和制服的 Material 时遇到问题。

我指的是这里的文档:link

我有以下示例,我正在尝试开始工作,但是接下来我想使用 Dot 动态类型而不是颜色。目前,颜色似乎更容易。

Sandcastle example

这有效: Material :Cesium.Color.GREEN

这不是:

material : Cesium.Material.fromType('Color', {
color : new Cesium.Color(1.0, 0.0, 0.0, 1.0)
})

我收到这个错误:
未捕获的 DeveloperError:无法推断 Material 类型:[object Object]

似乎实体上的 Material 属性不能是对象,我是否缺少将 Material 转换为原始类型的步骤?

最佳答案

所以我在这里没有什么好消息,但我至少可以解释出什么问题了。如您所知,Cesium 有两个独立的 API 层,“实体”层(用于移动车辆等复杂对象)和“基元”层(用于图形基元,如广告牌或网格的集合)。您在这里所做的是直接从 Primitive 层构建 Material 并尝试将其分配给实体,这是行不通的。

在实体层, Material 由派生自MaterialProperty的抽象基类的类描述。 .派生类是该文档链接中列出的所有实体层类,例如有一个 ColorMaterialProperty纯色类。在实体层使这些东西具有时间动态性,例如,当模拟时间为 04:00 时,您的纯色可能是蓝色。并在 06:00 处变为红色等。原始 Material 没有时间概念,因此重量更轻。

现在有个坏消息:似乎没有 DotMaterialProperty目前在铯中上课。这意味着 Dot Material 仅存在于原始层 API 中,并未连接到实体层。在这一点上,团队喜欢说“欢迎贡献”,如果你愿意,你可能可以通过复制 StripeMaterialProperty 来连接它。或 GridMaterialProperty并对其进行编辑以连接到 Dot。

但在短期内,如果您需要 Dot Material 而不是 Entity 层,则可以将代码转换为图形基元。您可以在 Material Sandcastle Demo 中找到这方面的示例代码在Procedural Textures下下拉框。

关于cesiumjs - 如何在 Cesium 中使用 Material.fromType,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50298267/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com