2

collada 模型在three.js 中看起来很奇怪。截图:

警察

代码很简单,没什么特别的:

loader.load( 'models/police_car.dae', function ( collada ) {
  dae = collada.scene;

  init();
});

我从谷歌sketchup仓库下载了模型。[链接]

我不知道是什么问题,因为我是 three.js 的新手。我应该调用一个函数来修复它吗?

提前致谢,

4

1 回答 1

4

我认为这是因为没有渲染背面。COLLADA 无法指定一个面是否应该是双面的。Google 地球使用此方法导出此信息:

<extra>
  <technique profile="GOOGLEEARTH">
    <double_sided>1</double_sided>
  </technique>
</extra>

Three.js 在调用的对象上使用一个属性doubleSided来指示面部是否为双面,但 ColladaLoader.js 不会寻找<extra>标签来设置属性。您应该使用 three.js 提交一个错误以添加对它的支持。

编辑:这似乎已在 dev 分支上修复。这是我加载此模型的内容:

在此处输入图像描述

透过半透明的车窗,您可以清楚地看到车内的仪表板。

于 2012-07-18T15:44:58.547 回答