首页 > 解决方案 > 如何将图像作为纹理加载到three.js中的层模型

问题描述

我正在尝试显示具有各自纹理的 3d 模型,如何加载层模型的纹理?

这是在一个 html 文件中,我在其中使用 three.js 和 plyloader.js 来加载模型,但是当我尝试使用我在文档中找到的方法加载它时,我没有设法正确加载纹理它只加载纹理的颜色,但不是图像的颜色。

我正在尝试这个:

 var loader = new THREE.PLYLoader();
            loader.load('head3d.ply', function (geometry) {

                geometry.computeVertexNormals();
                var texture = new THREE.TextureLoader().load('head3d.jpg');
                var material = new THREE.MeshStandardMaterial({ map: texture, flatShading: true });
                var mesh = new THREE.Mesh(geometry, material);

                mesh.position.x = 0;
                mesh.position.y = 0;
                mesh.position.z = 0;
                mesh.scale.multiplyScalar(0.006);

                mesh.castShadow = true;
                mesh.receiveShadow = true;

                scene.add(mesh);

            });

我希望您向我展示加载了纹理的模型,但仅向我展示具有主​​导图像颜色的模型

标签: javascriptthree.js3dtexture-mappingply-file-format

解决方案


使用THREE.MeshNormalMaterial. 由于某种原因,它似乎在使用 MeshNormalMaterial 时加载了纹理。


推荐阅读