collada 模型看起来很奇怪(three.js)

Posted

技术标签:

【中文标题】collada 模型看起来很奇怪(three.js)【英文标题】:The collada model looks strange (three.js) 【发布时间】:2012-07-17 11:05:25 【问题描述】:

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

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

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

  init();
);

我从谷歌 SketchUp 仓库下载了模型。 [link]

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

提前致谢,

【问题讨论】:

【参考方案1】:

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

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

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

编辑: 这似乎已在 dev 分支上修复。这是我加载这个模型的结果:

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

【讨论】:

所以没有bug,我应该只使用开发版的dae loader? 谢谢。但是半透明的车窗在闪烁,车子在转动。 不知道,为什么半透明的车窗在闪烁,而汽车却在转动? 我认为我没有注意到任何闪烁

以上是关于collada 模型看起来很奇怪(three.js)的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Three.js 中用 ShaderMaterial 替换 Collada 导入的纹理?

如何使用 Three.js 和 Collada Loader 更新 .dae 文件中模型的特定部分

基本的three.js collada蒙皮动画

Collada 纹理上的线框覆盖 - three.js

如何使用 THREE.js 向 collada 文件 (.dae) 添加纹理?

如何在 Three.js 中克隆包含多个网格的 Collada 对象