javascript - 如何将图像作为纹理加载到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);
});
我希望您向我展示加载了纹理的模型,但仅向我展示具有主导图像颜色的模型
解决方案
使用THREE.MeshNormalMaterial
. 由于某种原因,它似乎在使用 MeshNormalMaterial 时加载了纹理。
推荐阅读
- ios - Swift 中 AudioQueue 的问题:重用缓冲区似乎不起作用
- bash - bash IFS 因终端和 cron 执行而异
- c# - 如果值需要更正怎么办?
- java - firebase admin sdk 侦听器回调不起作用
- c# - 将项目添加到列表框,然后向目标收件人发送电子邮件
- ios - 为单个视频添加多个过滤器
- android - 文件无法在 android webview 中浏览
- docker - Docker 在主机浏览器中打开一个 url
- java - 如何在spring-kafka中配置kafka消费者轮询的频率
- javascript - 实时更新不会在批量添加活动时触发