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

news2024/9/22 13:28:12
  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表示立方体纹理对象,父类是纹理对象Texture
      const 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;
  },

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1935407.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于Linux的USB-wifi配置流程

目录 内核配置 配置 CFG80211 配置usb 配置 Netlink 配置DHCP 工作流程 1.连接到无线网络 2.设置网络接口: 3.验证连接: 4. 接收数据: 最近daisy一直忙活这个linux的wifi驱动和bluze蓝牙驱动,相比较蓝牙,WiFi的驱动和内…

【ARMv8/v9 GIC- 700 系列 2 -- GIC-700 上电控制寄存器 GICR_PWRR】

请阅读【ARM GICv3/v4 实战学习 】 文章目录 GIC-700 上电GICR_PWRR 寄存器字段介绍GICR_PWRR 功能说明GICR_PWER 代码配置GICR_PWRR 使用场景GICR_PWRR 注意事项GIC-700 上电 GICR_PWRR(功耗寄存器)是ARM GICv4架构中用于控制GIC-700是否可以关闭电源的寄存器。它通过几个位…

【日记】我倒是想穿可爱的 JK 小裙子,可惜我是哥布林……(704 字)

正文 中午给三盆植物换水,惊叹于文竹的根。长得之长,都能在花盆里盘几圈了。而且我好像有一段时间没换水了,花盆的水中和盆底有了些绿藻。虽然不知道好不好,但我还是清掉了,摸起来黏黏的。而且我也总是觉得单位的水&am…

InceptionV3代码实现(Pytorch)

文章目录 Inception介绍InceptionV3代码实现第一步:定义基础卷积模块第二步:定义Inceptionv3模块InceptionAInceptionBInceptionCInceptionDInceptionE 第三步:定义辅助分类器InceptionAux第四步:搭建GoogLeNet网络第五步*&#x…

算法力扣刷题记录 五十二【617.合并二叉树】

前言 二叉树篇,继续。 记录 五十二【617.合并二叉树】 一、题目阅读 给你两棵二叉树: root1 和 root2 。 想象一下,当你将其中一棵覆盖到另一棵之上时,两棵树上的一些节点将会重叠(而另一些不会)。你需要…

HCIE-AI大模型直通车火热报名中

第一阶段:HCIA-AI Solution Architect(直播,39课时) 该阶段详细介绍 AI 大模型所需基础技术栈,包含深度学习基础、计算机视觉技术、自然语言处理技术、华为开源深度学习框架 MindSpore、注意力制、Transformer 架构&am…

【雷丰阳-谷粒商城 】【分布式高级篇-微服务架构篇】【22】【RabbitMQ】

持续学习&持续更新中… 守破离 【雷丰阳-谷粒商城 】【分布式高级篇-微服务架构篇】【22】【RabbitMQ】 Message Queue 消息队列异步处理应用解耦流量控制 消息中间件概念RabbitMQ概念MessagePublisherExchangeQueueBindingConnectionChannelConsumerVirtual HostBroker图…

汽车免拆诊断案例 | 卡罗拉急加速抖动故障排除

车型信息 2017年改款卡罗拉,排量1.2T,行驶里程48800公里。 故障现象 车辆不管在什么状态下,只要是平缓加速,都不会有抖动。车辆静止时,急加速时,也不会有抖动。但是车速达40公里/小时以上,急加…

【Linux】基础I/O——理解ext2文件系统

我们到现在为止讲的都是打开的文件。现在我们讲讲没有打开的文件 如果一个文件没有被打开,那它就是在磁盘中被存储的,我们就要关心路径问题,存储问题,文件获取问题,那么操作系统是怎么处理这些问题的?不急…

python如何输入矩阵

使用numpy创建矩阵有2种方法,一种是使用numpy库的matrix直接创建,另一种则是使用array来创建。 首先导入numpy: (1)import numpy (2)from numpy import * (3)import …

MYSQL调优详解:案例解析(第40天)

系列文章目录 一、数据库设计优化 二、查询优化 三、架构优化 四、其他优化策略 五、优化案例解析 文章目录 系列文章目录前言一、数据库设计优化二、查询优化三、架构优化四、其他优化策略五、优化案例解析案例一:优化SELECT查询案例二:使用索引案例三…

Quartus II 13.1添加新的FPGA器件库

最近需要用到Altera的一款MAX II 系列EPM240的FPGA芯片,所以需要给我的Quartus II 13.1添加新的器件库,在此记录一下过程。 1 下载所需的期间库 进入Inter官网,(Altera已经被Inter收购)https://www.intel.cn/content…

Java 反射机制:概念、用途与示例

个人名片 🎓作者简介:java领域优质创作者 🌐个人主页:码农阿豪 📞工作室:新空间代码工作室(提供各种软件服务) 💌个人邮箱:[2435024119qq.com] &#x1f4f1…

C语言第5天作业 7月16日

目录 1.求1000以内所有的质数。 2.有1、2、3、4个数字&#xff0c;能组成多少个互不相同且无重复数字的三位数&#xff1f;都是多少&#xff1f; 3.猴子吃桃问题 4.判断最大值 1.求1000以内所有的质数。 质数&#xff1a;只能够1和它本身整除 #include <stdio.h> in…

Cxx Primer-Chap4

表达式可以没有操作符&#xff0c;但一定有操作数&#xff1a;理解表达式中含有多个操作符时涉及操作符的优先级、关联性以及操作数的计算顺序&#xff1a;如果操作符需要的操作数类型不同&#xff0c;则会发生一些默认的类型转换&#xff1a;什么叫Overloaded Operators&#…

Python 合并两个有序数组

Python 合并两个有序数组 正文 正文 题目说明如下&#xff1a; 这里我们直接让 nums1 的后 n 个数等于 nums2 数组&#xff0c;然后对 nums1 数组整体进行排序即可。 class Solution:def merge(self, nums1: List[int], m: int, nums2: List[int], n: int) -> None:"…

Linux中的fork函数及.PHONY

cat fork.c #include<stdio.h> #include<unistd.h> int main() {printf("fork()函数执行前&#xff0c;进程为: %d\n",getpid());pid_t retfork();sleep(1);if(ret>0)printf("我是父进程&#xff0c;我的id为: %d,子进程为 %d\n",getpid(),…

叉车指纹锁怎么安装?叉车指纹启动系统安装介绍

叉车指纹锁的安装&#xff0c;不仅是一项技术性的工作&#xff0c;更是对叉车安全性能的一次提升。在繁忙的物流仓储环境中&#xff0c;叉车的安全性显得尤为重要&#xff0c;而指纹启动系统正是保障叉车安全运行的利器。安装指纹锁分为油叉车和电叉车&#xff0c;以下是接线说…

在国产芯片上实现YOLOv5/v8图像AI识别-【1.3】YOLOv5的介绍及使用(安装、标注)

本专栏主要是提供一种国产化图像识别的解决方案&#xff0c;专栏中实现了YOLOv5/v8在国产化芯片上的使用部署&#xff0c;并可以实现网页端实时查看。根据自己的具体需求可以直接产品化部署使用。 B站配套视频&#xff1a;https://www.bilibili.com/video/BV1or421T74f YOLO…

【Django+Vue3 线上教育平台项目实战】购物车与订单模块的精简实现与数据安全策略

文章目录 前言一、购物车模块1.后端核心逻辑2.前端页面代码3.操作流程及演示 二、订单模块1.订单模块模型类设计1.展示订单信息a.页面展示b.前端核心代码c.后端核心逻辑 2.订单是否使用优惠券与积分a.页面展示b.前端核心代码 3.订单支付方式a.页面展示b.前端核心代码 4.提交订单…