[英]three.js add texture to JSON object
我已經在Blender中創建了3D模型。 然后,我用Three.js導出器將其導出並加載到JavaScript中。 一切正常,除非未顯示紋理。 我在Blender中添加了紋理作為圖片。
JSON文件:
{
"normals":[0,-1,0,...]
"vertices":[-0.0101738,1.5,6.55678,-0.0101738,1.5,...]
"materials":[{
"DbgIndex":0,
"blending":1,
"colorSpecular":[1,1,1],
"opacity":1,
"colorDiffuse":[0.8,0.554325,0.316799],
"mapDiffuseWrap":["repeat","repeat"],
"transparent":false,
"wireframe":false,
"DbgColor":15658734,
"depthWrite":true,
"specularCoef":50,
"mapDiffuse":"parket.jpg",
"mapDiffuseRepeat":[1,1],
"visible":true,
"mapDiffuseAnisotropy":1,
"shading":"phong",
"depthTest":true,
"doubleSided":false,
"colorEmissive":[0,0,0],
"DbgName":"Les"
},{
"DbgIndex":1,
"blending":1,
"colorSpecular":[1,1,1],
"opacity":1,
"colorDiffuse":[0.287043,0.0523764,0.0102247],
"transparent":false,
"wireframe":false,
"DbgColor":15597568,
"depthWrite":true,
"specularCoef":50,
"visible":true,
"shading":"phong",
"depthTest":true,
"doubleSided":false,
"colorEmissive":[0,0,0],
"DbgName":"\u010crna"
},{
"DbgIndex":2,
"blending":1,
"colorSpecular":[1,1,1],
"opacity":1,
"colorDiffuse":[0.8,0.136903,0.018619],
"transparent":false,
"wireframe":false,
"DbgColor":60928,
"depthWrite":true,
"specularCoef":50,
"visible":true,
"shading":"phong",
"depthTest":true,
"doubleSided":false,
"colorEmissive":[0,0,0],
"DbgName":"Rjava"
}],
"metadata":{
"materials":3,
"uvs":0,
"generator":"io_three",
"type":"Geometry",
"vertices":276,
"normals":109,
"faces":241,
"version":3
},
"faces":[35,22,0,1,2,0,0...]
"uvs":[]
}
JSON加載程序:
var loader = new THREE.JSONLoader();
loader.load( 'samosteza.json', function ( geometry, material ) {
mesh = new THREE.Mesh( geometry, material);
mesh.scale.x = mesh.scale.y = mesh.scale.z = 30;
mesh.translation = THREE.GeometryUtils.center(geometry);
mesh.translateY(-150);
scene.add( mesh )
}, 'parket.jpg');
有人知道如何顯示紋理嗎? 我的紋理('parket.jpg')與index.html文件位於同一文件夾中。
編輯:
我只是發現顯示了紋理,但未正確顯示。 我有木質紋理,我所看到的只是棕色。 我嘗試用另一種顏色更改紋理,但是我總是在對象上得到一種顏色,而不是整個紋理。
質地:
可能對您有幫助嗎?
mesh.material.map = THREE.ImageUtils.loadTexture( src );
mesh.material.needsUpdate = true;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.