Javascript JSON模型纹理未加载

Javascript JSON模型纹理未加载,javascript,webgl,three.js,Javascript,Webgl,Three.js,我已经使用python工具将obj文件转换为json模型 我正试着加载它 这是密码 var camera, scene, renderer; var mesh, aircraft; function addModelToScene( geometry, materials ) { aircraft = new THREE.Mesh( geometry, new THREE.MeshFaceMaterial( materials ) ); scene.add( aircraft

我已经使用python工具将obj文件转换为json模型 我正试着加载它 这是密码

var camera, scene, renderer;
var mesh, aircraft;

function addModelToScene( geometry, materials )
{
    aircraft = new THREE.Mesh( geometry, new THREE.MeshFaceMaterial( materials ) );
    scene.add( aircraft );
}

function init()
{
    camera = new THREE.PerspectiveCamera( 45, window.innerWidth / window.innerHeight, 0.1, 20000 );
    camera.position.z = 30;
    scene = new THREE.Scene();

var jsonLoader = new THREE.JSONLoader( true );
jsonLoader.load( "XA-20.js", addModelToScene );
renderer = new THREE.WebGLRenderer();
renderer.setSize( window.innerWidth, window.innerHeight );
document.body.appendChild( renderer.domElement );
}

function animate()
{
    requestAnimationFrame( animate );
    aircraft.rotation.y += 0.02;
    renderer.render( scene, camera );
}
模型正在加载,但没有纹理 模型文件很大,所以我不能在这里发布 但也有材料

"materials": [  {
"DbgColor" : 15658734,
"DbgIndex" : 0,
"DbgName" : "plane",
"colorAmbient" : [0.117647, 0.117647, 0.117647],
"colorDiffuse" : [1.0, 1.0, 1.0],
"colorSpecular" : [0.75294099999999997, 0.75294099999999997, 0.75294099999999997],
"illumination" : 2,
"mapBump" : "XA-20_Razorback_Strike_Fighter_N.png",
"mapDiffuse" : "XA-20_Razorback_Strike_Fighter_P01.png",
"specularCoef" : 8.0
},

{
"DbgColor" : 15597568,
"DbgIndex" : 1,
"DbgName" : "glass",
"colorAmbient" : [0.117647, 0.117647, 0.117647],
"colorDiffuse" : [1.0, 1.0, 1.0],
"colorSpecular" : [0.75294099999999997, 0.75294099999999997, 0.75294099999999997],
"illumination" : 2,
"mapDiffuse" : "Glass_Cockpit.png",
"specularCoef" : 8.0
},.......
还有紫外线

"uvs": [[0.72626,-0.65659,0.72655,-0.62558,0.72427,-0.6262,0.72391,-0.66141,0.73223,-0.62103,0.73212,.......

有什么线索可以找到解决方案吗?

jsonLoader.load有第三个参数,用于设置texturepath。将此texturePath设置为包含纹理的文件夹,它应该可以工作


在我的例子中,问题是我没有正确地添加照明 因此,模型没有足够的光线来显示彩色 它确实加载了纹理,但由于光线的原因,在视觉上它是不可见的


因此,如果遇到类似的问题,请首先检查您的照明

嗨,我也遇到了这个问题。我正在加载一个模型,如果我使用CanvasRenderer,我会看到模型带有纹理,但是当我使用WebGLRenderer时,只会显示一个黑色模型。还有什么我忘了的吗?