【发布时间】:2016-01-14 06:08:10
【问题描述】:
我将 3D 模型从 SketchUp 导出到 collada,并使用 Threejs Collada 加载器加载它。但我收到以下警告:
THREE.DirectGeometry.fromGeometry(): Undefined vertexUv 2
似乎我的 collada 模型中的某些网格有 4 个面,但只有 2 个 UV 值。任何想法为什么 collada 缺少 UV 值?在 Threejs 中是否有加载此类模型的解决方法?
在 threejs 库的 71 版中,这曾经只是一个警告,但在 72 版中,这会在使用picking 时导致以下错误:
Uncaught TypeError: Cannot read property '0' of undefined (12:59:20:764 | error, javascript)
at raycast (public_html/libs/three.js:17237:19)
at intersectObject (public_html/libs/three.js:7678:10)
at intersectObject (public_html/libs/three.js:7686:5)
at intersectObject (public_html/libs/three.js:7686:5)
at intersectObject (public_html/libs/three.js:7686:5)
at THREE.Raycaster.intersectObject (public_html/libs/three.js:7734:4)
at adjustCameraPositionForCollision (public_html/PointerLockControls.js:302:86)
at update (public_html/PointerLockControls.js:257:14)
at render (public_html/simbuilding.js:113:24)
【问题讨论】:
-
您是否尝试在 Blender 中加载模型,添加 UV 贴图并将其导出(到 collada 或其他什么?)
-
已经有一段时间了,所以我不完全记得我最终对这个问题做了什么。我想我最终只是删除了罪魁祸首多边形。这些多边形非常小,删除它们不会导致任何视觉问题。
标签: three.js