javascript - 如何在 Three.js 中制作一个有效的天空盒?
问题描述
我是 Three.js 的新手,我很难找到/理解很多官方的 Three.js 文档。此外,我发现的许多教程/视频至少已经过时 5 年,而且我似乎无法让它们在我的本地电脑上运行(打开时只是一个白屏)。
解决方案
有很多方法。一种方法是加载 equirectangular 纹理并设置 renderer.background:
renderer.background = new THREE.TextureLoader().load('youtextureurl.jpg')
或者在背面的球体上做同样的事情:
scene.add (new THREE.Mesh(new THREE.SphereBufferGeometry(100,32,32), new THREE.MeshBasicMaterial({map:new THREE.TextureLoader().load('youtextureurl.jpg'),side:THREE.BackSide );
设置天空盒后,您可以使用 CubeCamera 拍摄环境快照,然后将 scene.environment 设置为生成的立方体贴图以获得一些环境照明效果。
推荐阅读
- node.js - 循环结束后调用循环内的函数调用
- python - 为句子中的每个标记获取 Bert 嵌入
- sql - SQL 将日期和时间列合并为单个 DateTime 列
- reactjs - Webpack 包分析器中的 mapbox-gl-csp-worker.js 是什么?
- bash - 如何在 bash shell 中处理其他目录
- python - BeautifulSoup find_all() AttributeError: 'NoneType' object has no attribute 'a'
- python - 如何在 python 中访问嵌套的 JSON 属性?
- sql - 用于显示评估列值结果的 SQL 选项
- javascript - 根据 React/MaterialUI 中的单击项目显示/隐藏 JSON 信息
- r - 匹配两个数据框的两列之间的值并使用另一个值创建一个新列