three.js - 镜像(翻转)后的模型无法正确渲染
three.js - model after being mirrored (flipped) doesn't render appropriately
我已经将两个 *.obj 模型加载到我的应用程序中。它们是相同的,只是其中一个是 'mirrored' 来自另一个。
图一为原车模型,图二为镜像图。问题出现在第二个。
当你仔细观察时,你会发现门把手没有正确渲染。
为什么会这样?在 Blender 中,它们看起来都不错。
我正在使用 three.js 渲染它们。
看起来 Blender 中的镜像也在翻转网格的面。仔细看你会发现它不仅仅是门把手,它在模型上无处不在。
您可以通过将 material 更改为 material.side = THREE.BackSide;
或 THREE.DoubleSide
来弥补这一点。
另一个解决方案是在 Three.js 中镜像您的模型,方法是在您要镜像的轴上设置负比例。我想你想在 X 轴上翻转,然后这样做:
mesh.scale.set( -1, 1, 1 );
编辑:在应用负比例时考虑以下评论中西兰利的警告。
我已经将两个 *.obj 模型加载到我的应用程序中。它们是相同的,只是其中一个是 'mirrored' 来自另一个。
图一为原车模型,图二为镜像图。问题出现在第二个。
当你仔细观察时,你会发现门把手没有正确渲染。
为什么会这样?在 Blender 中,它们看起来都不错。
我正在使用 three.js 渲染它们。
看起来 Blender 中的镜像也在翻转网格的面。仔细看你会发现它不仅仅是门把手,它在模型上无处不在。
您可以通过将 material 更改为 material.side = THREE.BackSide;
或 THREE.DoubleSide
来弥补这一点。
另一个解决方案是在 Three.js 中镜像您的模型,方法是在您要镜像的轴上设置负比例。我想你想在 X 轴上翻转,然后这样做:
mesh.scale.set( -1, 1, 1 );
编辑:在应用负比例时考虑以下评论中西兰利的警告。