TextureLoader 是 Three.js 中用于加载纹理的工具类。它可以加载图像文件(如 JPG、PNG、GIF 等)并将其作为纹理应用到 Three.js 中的几何体上。

以下是在 Three.js 中使用 TextureLoader 加载纹理的示例代码:

// 创建场景
var scene = new THREE.Scene();

// 创建相机
var camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);
camera.position.z = 5;

// 创建渲染器
var renderer = new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth, window.innerHeight);
document.body.appendChild(renderer.domElement);

// 创建纹理加载器
var textureLoader = new THREE.TextureLoader();

// 加载纹理
textureLoader.load('texture.jpg', function (texture) {
  // 创建几何体
  var geometry = new THREE.BoxGeometry(1, 1, 1);

  // 创建材质
  var material = new THREE.MeshBasicMaterial({ map: texture });

  // 创建网格
  var cube = new THREE.Mesh(geometry, material);

  // 将网格添加到场景中
  scene.add(cube);

  // 渲染场景
  function render() {
    requestAnimationFrame(render);
    cube.rotation.x += 0.01;
    cube.rotation.y += 0.01;
    renderer.render(scene, camera);
  }
  render();
});

在这个示例中,我们首先创建了场景、相机和渲染器,就像之前的例子一样。然后,我们使用 THREE.TextureLoader 创建了一个纹理加载器。

接下来,我们使用 textureLoader.load 方法加载一个图像文件(例如 texture.jpg),并在回调函数中获取加载完成的纹理。在回调函数中,我们创建了一个箱子(使用 THREE.BoxGeometry)和一个基本材质(使用 THREE.MeshBasicMaterial),并将加载的纹理应用到材质的 map 属性上。

最后,我们将几何体和材质创建的网格对象添加到场景中,并在渲染函数中对物体进行旋转操作,然后使用渲染器渲染场景。

运行这段代码时,你将在屏幕上看到一个旋转的立方体,立方体的每个面都使用了加载的纹理图像。

你可以根据需要使用不同的纹理图像文件和自定义的材质参数,来实现更复杂的纹理效果。

请注意,在加载纹理时,由于是异步操作,因此需要在加载完成后才能创建和使用纹理。这是为了确保纹理加载完成后再应用到材质上。

你可以参考官方 Three.js 文档,了解更多关于 TextureLoader 和其他加载器的信息和示例。

Three.js TextureLoader: 加载纹理图像到模型

原文地址: https://www.cveoy.top/t/topic/ck7W 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录