我正在尝试在基于Three.js
的项目中使用临时太空飞船模型。该模型具有颜色,凹凸,镜面和光照贴图。
所以,我的问题是:
我做错了什么?我正在使用SceneLoader
创建对象,加载.obj
文件和纹理。以下是JSON文件的一些片段。
对象
"ship" : {
"type": "obj",
"url" : "res/object/ship/space_frigate_6.obj",
"material": "ship",
"position": [0, 0, 0],
"rotation": [0, 4.71, 0],
"scale": [0.08, 0.08, 0.08],
"visible": true
}
材料
"ship": {
"type": "MeshPhongMaterial",
"parameters": {
"map": "ship_color",
"bumpMap": "ship_bump",
"specularMap": "ship_specular",
"bumpMap": "ship_bump",
"bumpScale": 1
}
}
纹理:
"ship_color": {
"url": "res/texture/ship/space_frigate_6_color.jpg",
"anisotropy": 4
},
"ship_bump": {
"url": "res/texture/ship/space_frigate_6_bump.jpg",
"anisotropy": 4
},
"ship_specular": {
"url": "res/texture/ship/space_frigate_6_specular.jpg",
"anisotropy": 4
}
这是纹理问题还是我做错了什么?
我以与另一个相同的方式加载光照贴图纹理,并将其添加到材质中。我得到了GL_INVALID_OPERATION
,但是好的,我找到了解决方案here。我试了一下,把它放在代码'obj.children [0] .geometry.faceVertexUvs [1] = obj.children [0] .geometry.faceVertexUvs [0]'中,但没有成功。屏幕上只有一艘黑色的船。
我需要做些什么才能完成地图工作?
您可以在GitHub上查看我的项目:
Tahnk你。</ p>