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 不会寻找 <extra>
标记来设置属性。您应该使用 three.js 提交一个错误以添加对它的支持。
编辑: 这似乎已在 dev 分支上修复。这是我加载这个模型的结果:
透过半透明的车窗,可以清楚地看到车内的仪表盘。
【讨论】:
所以没有bug,我应该只使用开发版的dae loader? 谢谢。但是半透明的车窗在闪烁,车子在转动。 不知道,为什么半透明的车窗在闪烁,而汽车却在转动? 我认为我没有注意到任何闪烁以上是关于collada 模型看起来很奇怪(three.js)的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Three.js 中用 ShaderMaterial 替换 Collada 导入的纹理?
如何使用 Three.js 和 Collada Loader 更新 .dae 文件中模型的特定部分