我正在尝试在three.js中进行以下操作:
我在Sketchup中使用一些简单的彩色纹理制作了模型并使用了collader导入器,结果如下所示:
现在我想动态地将一些照片加载到每个不同的平面上,但我最终得到的是:
正如您所看到的,每个图像都被加载但是它们非常小并且在表面的其余部分重复。
这是我加载纹理的方式:( preloadTexture()
只是一个简单的预加载器)
for(i in cubeSidesArray)
{
preloadTexture(modelThumbsArray[i]);
var newTexture = new THREE.MeshPhongMaterial( { map: THREE.ImageUtils.loadTexture(modelThumbsArray[i]) } );
cubeSidesArray[i].material = newTexture;
}
如何让纹理填满表面?
谢谢!
编辑 - 我在草图中使用模型并设法让它变得更好,但并不多!
编辑2 - 仍然没有运气,我开始认为从头开始在代码中构建它会更简单
答案 0 :(得分:0)
选项1:我会建议你做或下一步。
1 - 。进入模型搅拌器
2 -.Export blender to threejs
3 - 使用这种充电方法。
AgregarModeloBlender function (geometry, materials) {
console.log(materials);
material = new THREE.MeshFaceMaterial( materials );
modelo3d_ = new THREE.Mesh( geometry,material );
escenario.add(modelo3d_);
modelo3d_.add(camera);
modelo3d_.scale.set(5,5,5);
modelo3d_.position.set(-900,25,850);
modelo3d_.rotation.y=Math.PI;
}
4 - 。随后trabajr独立纹理。 示例:http://all.develoteca.com/builder/
选项2:我建议你做或这样做: 1 - 。创建几何形状(顶点)以修改纹理的每个面。 示例:http://develoteca.com/Panel/
问候。