效果:

环境贴图中用到了 立方体纹理 加载器,加载6张图片后(图片要长宽相等),得到一个立方体纹理对象,然后赋值给 材质的 envMap 即可;

代码:

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>环境贴图</title><script src="../three.js"></script><script src="../OrbitControls.js"></script>
</head><body><!-- 如果模型定义了法线贴图,就没有必要在使用凹凸贴图。 --><script>// 1, 创建场景对象var scene = new THREE.Scene();// 2,定义模型var geometry = new THREE.BoxGeometry(100, 100,100);var texture = new THREE.CubeTextureLoader();texture.setPath('/纹理贴图/');var CubeTexture = texture.load(['right.jpg','left.jpg','top.jpg','bottom.jpg','back.jpg','front.jpg']);texture.minFilter = THREE.LinearFilter;var material = new THREE.MeshPhongMaterial({envMap: CubeTexture});var mesh = new THREE.Mesh(geometry, material);scene.add(mesh);// 3,创建光源对象--聚光源var spotLight = new THREE.SpotLight(0xAA7355, 0.9);spotLight.position.set(300, 200, 200);spotLight.angle = Math.PI / 2;var spotLight2 = new THREE.AmbientLight(0xffffff);// spotLight2.position.set(-300, 200, 200);// spotLight2.angle = Math.PI / 2;scene.add(spotLight,spotLight2);// 4,创建相机var width = window.innerWidth;var height = window.innerHeight;var k = width / height;var s = 200;var camera = new THREE.OrthographicCamera(-s * k, s * k, s, -s, -1000, 1000);camera.position.set(200, 300, 200);camera.lookAt(scene.position);// 5,创建渲染器对象var renderer = new THREE.WebGLRenderer();renderer.setSize(width, height);document.body.appendChild(renderer.domElement);function render() {renderer.render(scene, camera);requestAnimationFrame(render);}var axes = new THREE.AxesHelper(500);scene.add(axes);var controls = new THREE.OrbitControls(camera, renderer.domElement);// controls.addEventListener('change',render);render();</script>
</body></html>

three.js 环境贴图相关推荐

  1. React Three.js 增加hdr环境贴图和背景图片的方法

    React Three.js 增加hdr环境贴图和背景图片的方法: import React, { Suspense, useEffect } from 'react' import { Canvas ...

  2. three.js入门篇6之 环境贴图、经纬线映射贴图与高动态范围成像HDR

    目录 013-1 环境贴图 013-2 经纬度映射贴图与HDR 013-1 环境贴图 就是把周边的环境,贴在物体的表面之上 注意:px:x轴正向,nx:x轴负向 import * as THREE f ...

  3. Three.js开发:环境贴图效果

    Three.js支持环境贴图效果,通过设置场景的背景(background),增强显示效果,环境贴图一般使用全景图,分成6张图片,以立体贴图(CubeTexture)的方式进行加载. 官网示例效果: ...

  4. three.js通过CubeTexture加载环境贴图,和RGBELoader加载器加载hdr环境贴图

    一.使用CubeTexture进行环境贴图 1.CubeTexture使用介绍 Three.js中可以通过使用CubeTexture进行环境贴图,CubeTexture需要将6张图片(正面.反面.上下 ...

  5. three.js使用CubeCamera创建反光效果,动态环境贴图实现,立方体全景贴图(vue中使用three.js83)

    使用CubeCamera创建反光效果 1.demo效果 2. 实现要点 2.1 创建立方体相机CubeCamera 2.2 使用动态环境贴图材质 2.3 render中更新立方体相机 2.4 创建场景 ...

  6. paip.最好的脚本语言node js 环境搭建连接mysql

    paip.最好的脚本语言node js 环境搭建连接mysql #====下载node...走十一个exe..容易的.. 1 #0----Hello world   .js 2 #---------模 ...

  7. Node.js环境搭建npm安装

    Node.js环境搭建 什么使Node.js呢?我们知道JavaScript开始作为客户端语言,但早已在浏览器端一统江湖,这时,野心越来越大,它就想向服务器端拓展了,于是Node.js就是这样的,我们 ...

  8. three.js 纹理贴图的使用

     刚刚入门的小伙伴请先查看 three.js 基础认识与简单应用 本文章中的两个注意点,下面也有提到,分别是: 1.  vue项目中使用的贴图路径-->需要把 static文件夹 放到 publ ...

  9. 【明哥版】Auto.Js环境搭建如何与Android手机建立连接教程

    前言 为什么要写这篇文章呢?主要是翻阅Auto.js文档没有找到环境搭建这章节,而且在翻阅一些社区要看见一些Auto.js入门的新手不知道怎么操作,且博主本人在搭建开发环境时同样也遇见了一些问题,发现 ...

最新文章

  1. C异常处理实现: setjmp和longjmp
  2. 2020-10-27(汇编收获)
  3. 《精通Spring4.X企业应用开发实战》读后感第五章(注入参数详解)
  4. JAVA虚拟机之垃圾收集与内存分配策略
  5. Redis一个命令请求从发送到完成的步骤以及初始化服务器步骤
  6. QQ浏览器怎么设置为默认浏览器
  7. 真是虚惊一场的i_like_cpp
  8. HDC.Cloud | 基于IoT Studio自助生成10万行代码的奥秘
  9. Android 应用开发---6.ViewPager+Fragment的基本使用
  10. Spring Cloud Stream与RabbitMQ 生产者和消费者位于同一个应用服务
  11. asp提交数据500服务器错误信息,windows2003运行ASP发送HTTP 500 - 内部服务器错误怎么处理啊?...
  12. LeetCode 68. Text Justification
  13. h5页面自定义字体_H5页面中常见的字体有哪些
  14. SPSS数据处理-数据整理
  15. WPF:新手入门教程
  16. python pyplot 宽高等比_python – 更改matplotlib中子图的宽高比
  17. 安卓手机网易云视频,下载的文件位置:
  18. 正则表达式 -验证身份证号
  19. gitter 卸载_最佳Gitter频道:数学
  20. 【C语言程序设计】C语言求最小公倍数(详解版)!

热门文章

  1. STM32MP157A驱动开发 | 06 - 使用Linux内核自带的eeprom atmel驱动(AT24C02)
  2. 搭建基于http的本地yum源服务器
  3. 解决win7系统电脑右下角小喇叭有个小叉
  4. [免费专栏] Android安全之Android奇淫run-as命令,调用系统受UID限制的API
  5. “网安三人行”盘点:软件供应链安全的那些事儿
  6. Html5 JumpStart学习笔记3:Advanced Layout and Animation
  7. 技术岗的职业规划_技术和管理职位的职业发展道路该如何设计?(图)
  8. 用计算机填制原始凭证,​电脑填制记账凭证的步骤
  9. [转帖]解决CE6和CE5在PB的Connectivity Options上的冲突
  10. linux系统下添加中文字体,linux添加中文字体