【发布时间】:2015-07-27 10:30:34
【问题描述】:
我已将两个 *.obj 模型加载到我的应用程序中。它们是相同的,只是其中一个是从另一个“镜像”出来的。
图一为原机,图二为镜像。问题出现在第二个。
为什么会这样?在 Blender 中,它们看起来都很好。
我正在使用 three.js 渲染它们。
【问题讨论】:
我已将两个 *.obj 模型加载到我的应用程序中。它们是相同的,只是其中一个是从另一个“镜像”出来的。
图一为原机,图二为镜像。问题出现在第二个。
为什么会这样?在 Blender 中,它们看起来都很好。
我正在使用 three.js 渲染它们。
【问题讨论】:
看起来 Blender 中的镜像也会翻转网格的面。仔细观察,您不仅可以看到它的门把手,还可以看到模型上的任何地方。
您可以通过使用material.side = THREE.BackSide; 或THREE.DoubleSide 更改材料来弥补这一点。
另一种解决方案是通过在要镜像的轴上设置负比例来在 Three.js 中镜像您的模型。我猜你想在 X 轴上翻转,然后这样做:
mesh.scale.set( -1, 1, 1 );
编辑:在应用负比例时,请考虑以下 cmets 中来自 West Langley 的警告。
【讨论】: