我正在尝试在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;
}
如何获得纹理以填充表面?
谢谢!
编辑-我在Sketchup中使用该模型,并设法使其变得更好一点,但并不多!
编辑2-仍然没有运气,我开始认为从头开始在代码中构建它会更简单
选项1:我建议您做或下一步。
1-。导入模型混合器
2-。将混合器导出到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-。随后独立处理纹理。示例:http://all.develoteca.com/builder/
选项2:建议您这样做或执行以下操作:1-。创建几何形状(顶点)以修改纹理的每个面。示例:http://develoteca.com/Panel/
你好。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句