Blender到Three.js(.JSON)和OBJ到.JS纹理映射问题

时间:2016-05-31 16:33:30

标签: javascript three.js textures blender

我很难过。我已经查看了所有可以找到的相关主题,没有完全描述我的问题。

我正在尝试获取要导出的模型的.JSON或.JS版本,并且在通过WebGL呈现时,纹理贴图与.OBJ版本相同。下面的图片说明了正在发生的事情:

WebGL rendered MODEL EXAMPLES

设置: Win7,Blender 2.77,Three.js(已下载5/22/16),Three.js(.json)Blender Exporter,Python OBJ> .JS转换器脚本(convert_obj_three.py)

python convert_obj_three.py -i xxx.obj -o xxx.js

步骤:

  • 从WoW ModelViewer导出的WoW模型为.OBJ
  • 导入Blender的魔兽模型
  • Blender编辑模式为“删除双打”
  • Blender Export to .OBJ
  • 要在Web上测试的Three.js THREE.OBJLoader()脚本

GOOD ”示例中的结果(图片中的左侧案例)

  • Blender导出到.JSON(尝试每个可以想象的配置,然后一些)
  • 要在Web上测试的Three.js THREE.JSONLoader()脚本

BAD ”示例中的结果(图像中间的情况)

  • Blender Export to .OBJ
  • CMD行Python脚本,用于从OBJ转换为.JS
  • 要在Web上测试的Three.js THREE.JSONLoader()脚本

WORSE ”示例中的结果(图像中间的情况)。出于某种原因,在最后一个例子中不仅仅是头发纹理,而且模特脸部的部分皮肤也变得不稳定。

您可能会注意到每种情况下灯光渲染都会有所不同。

我查看.JSON和.JS文件,并且不知道如何手动编辑,如果最终需要的话。

也许某些模型根本不会正确纹理?

1 个答案:

答案 0 :(得分:0)

模型头部的UV值超出[0,1]范围。

加载JSON模型时,请设置

texture.wrapS = texture.wrapT = THREE.RepeatWrapping;

three.js r.77