您的位置:首页 > 文旅 > 美景 > Three.JS 使用RGBELoader和CubeTextureLoader 添加环境贴图

Three.JS 使用RGBELoader和CubeTextureLoader 添加环境贴图

2024/12/23 9:50:48 来源:https://blog.csdn.net/this__valve/article/details/140466214  浏览:    关键词:Three.JS 使用RGBELoader和CubeTextureLoader 添加环境贴图
  1. 导入RGBELoader模块:
    import { RGBELoader } from "three/examples/jsm/loaders/RGBELoader.js";

使用 

  addRGBEMappingk(environment, background,url) {rgbeLoader = new RGBELoader();rgbeLoader.loadAsync(url).then((texture) => {//贴图模式 经纬线映射贴图texture.mapping = THREE.EquirectangularReflectionMapping;//背景贴图if (background) {this.scene.background = texture;}//环境贴图if (environment) {this.scene.environment = texture;}});
}

调用

let url ="./images/FFThree/hdr/hj.hdr"addRGBEMappingk(true, true, url );

hdr:

使用CubeTexture实现球体和街道环境贴图

addRGBEMappingk(environment, background, urlsix){
{//     // 加载环境贴图// 加载周围环境6个方向贴图// CubeTexture表示立方体纹理对象,父类是纹理对象Textureconst textureCube = new THREE.CubeTextureLoader().setPath(urlsix).load(["px.png", "nx.png", "py.png", "ny.png", "pz.png", "nz.png"]);if (background) {//背景贴图this.scene.background = textureCube;}if (environment) {//环境贴图this.scene.environment = textureCube;}}
}

调用

let urlsix: "./images/FFThree/hdr/back/"addRGBEMappingk(true, true, urlsix);

图片资源

添加金属球看效果

 addSphere() {//金属球const sphereGeometry = new THREE.SphereGeometry(5, 30, 30);const material = new THREE.MeshStandardMaterial({metalness: 0.9, // 金属材质 1 黑roughness: 0.1, //光滑});const sphere = new THREE.Mesh(sphereGeometry, material);sphere.position.set(20, 5, 0);this.scene.add(sphere);return sphere;},

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com