1,TextureLoader 纹理加载器,用来加载 texture 的一个类。通过纹理贴图加载器TextureLoaderload()方法加载一张图片可以返回一个纹理对象Texture,纹理对象Texture可以作为模型材质颜色贴图.map属性的值。

// 初始化纹理加载器
var loader = new THREE.TextureLoader();
// 加载一个资源
loader.load('./Earth.png', 
    // 资源加载完成后的回调函数
    function(texture){
        var material = new THREE.MeshBasicMaterial({map:texture});
        var mesh = new THREE.Mesh(geometry, material); //网格模型对象Mesh
        scene.add(mesh); //网格模型添加到场景中
    }),
    // 资源加载过程中的回调函数:// 目前暂不支持onProgress的回调
    function(xhr){
        console.log(xhr)
    }),
    // 资源加载出错的回调函数
    function(err){
        console.log(err)
    }),

2, ImageLoader 图片加载器:

用来加载一个 Image 的加载器,内部使用FileLoader 加载文件;

// 创建图片加载器
var image_loader = new THREE.ImageLoader();
image_loader.load('./Earth.png',function(img){
    // img作为参数,创建一个纹理对象texture,因为材料对象中的map属性需要一个纹理对象
    var texture = new THREE.Texture(img);
    texture.needsUpdate = true;// 下次使用纹理时触发更新
    var material = new THREE.MeshLambertMaterial({map:texture});
    var mesh = new THREE.Mesh(geometry,material);
    scene.add(mesh);
})

3,立方体纹理加载器 CubeTextureLoader

加载一个CubeTexture 的一个类,内部使用ImageLoader 来加载文件

const scene = new THREE.Scene();
scene.background = new THREE.CubeTextureLoader.setPath('text/cube').load([
    'a.png','b.png','c.png','d.png','e.png','f.png'
])

Logo

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。

更多推荐