1

我使用 CINEMA 4D 创建了一个模型,它有一些颜色,如绿色、灰色、红色......,并以 obj 格式导出。然后我使用 obj2gltf 工具将 obj 文件转换为 gltf 格式文件,并在 Cesium 上加载 gltf 文件,如下所示:

var position = Cesium.Cartesian3.fromDegrees(-123.0744619, 44.0503706, height); 
var heading = Cesium.Math.toRadians(10000); 
var pitch = 0; 
var roll = 0; 
var hpr = new Cesium.HeadingPitchRoll(heading, pitch, roll); 
var orientation = Cesium.Transforms.headingPitchRollQuaternion(position, hpr); 

entity = viewer.entities.add({ 
    name : url, 
    position : position, 
    orientation : orientation, 
    model : { 
        uri : url, 
        minimumPixelSize : 128, 
        maximumScale : 20000, 
    } 
}); 
viewer.trackedEntity = entity; 

但是在 Chrome 浏览器上,模型的颜色是完全黑色的。

在此处输入图像描述

  1. 当我禁用 chrome GPU 加速选项时,这是正常的。
  2. 然后我检查了我的显卡是NVIDIA Geforce GTX,但是在另一台带有AMD显卡的笔记本电脑上,它可以正常工作。
  3. 我尝试了其他一些小于 obj 的 obj 文件(大约 44M),它们工作正常。
  4. 我试过其他浏览器IE和Firefox,结果和chrome浏览器一样。

有没有身体有同样的问题?请帮我发布它。非常感谢并原谅我可怜的中文英语!

4

1 回答 1

0

只是从 Cesium 论坛复制Sean 的答案,所以这个问题可以标记为已解决:

由于您使用的是 obj2gltf,请传入 --materialsCommon 并且材料应该正确显示。

于 2017-11-03T14:50:31.913 回答