【发布时间】:2016-09-16 00:50:58
【问题描述】:
Here's a VRML file 我正在尝试使用three.js 显示。当我在像view3dscene 这样的独立查看器中预览该文件时,它看起来是正确的:
但是,在 Three.js 中使用示例 VRMLLoader,面的内部而不是外部是彩色的:
对我来说很清楚,three.js 正在读取正确的颜色信息,只是将其错误地应用于面部。但是我对使用 3D 非常陌生,所以我不确定差异在哪里,或者我可以做些什么来解决它。
我并没有在加载文件时做任何花哨的事情;就像在示例代码中一样:
loader.load('https://75thtrombone.com/links/stack-exchange/2016-09/' + model, function(geometry) {
scene.add(geometry);
});
Here's a fiddle 附上我的代码和对问题的看法。 (用鼠标滚轮放大,拖动旋转。)任何帮助、洞察力、阅读内容以了解更多信息的方向,或任何其他线索都会很棒。
【问题讨论】:
-
看起来你找到了答案,无论如何我都在调整小提琴......jsfiddle.net/z92bx5ay 问题是由于 webGL 中面部的缠绕顺序决定了面部的方向。除非另有说明,否则 VRML 假定所有面都是实心的。 WebGL 不做这样的假设。
-
谢谢!我知道 2D 矢量图形中的绕组数,但不知道 3D 图形在这种情况下是类似的。
标签: javascript 3d three.js vrml