javascript - 如何在 Three.js 中创建散景(或以任何方式以编程方式创建散景)
问题描述
我在想这个:
我想在散景上放置一些文字,如下所示:
问题是(a)这有多难/如果以前做过,所以我不必重新创建轮子,以及(b)如何在 JavaScript 中实现它,也许在Three.js中。
我无法在 Three.js 或 WebGL 中找到任何景深 (DoF) 或散景的示例,或者只是 3D 照明散景的 3D 文本,这让我怀疑它是否太难或不可能。它不需要高度优化的性能,因为我只想生成散景图像以保存到 JPG 文件。想知道如何去做,如果你能指出我正确的方向。
解决方案
我无法在 Three.js 或 WebGL 中找到任何景深 (DoF) 或散景的示例,或者只是 3D 照明散景的 3D 文本,这让我怀疑它是否太难或不可能。
three.js
在官方存储库中提供了两个自由度示例。我推荐第二个,因为它是更高级的着色器。您还会注意到该示例聚焦于鼠标悬停的对象。
无论如何,实现自由度是一项后处理任务。所以想法是将场景和相应的深度信息渲染到渲染目标中,然后使用额外的通道来获得实际的 DOF 效果。
https://threejs.org/examples/webgl_postprocessing_dof https://threejs.org/examples/webgl_postprocessing_dof2
three.js R105
推荐阅读
- sql-server - 如何使用 SQL 查询将行字符串值转换为列
- json - 通过 angular http post 将 json 数据发送到 laravel 控制器
- excel - 使用 Excel 数据查询内网通讯录
- python-3.x - 在 discord.py 中将表情符号添加到您自己的嵌入消息中
- android - Android 上未安装 APK(当 build.gradle 中的目标 Sdk 版本为 28 时)
- node.js - Node.js 加密如何知道每个算法的密钥和 IV 长度
- shell - CMake 错误,以下变量设置为 NOTFOUND
- javascript - 如何等待动态加载的脚本在 javascript 中完全执行?
- reactjs - React Native Drawer Navigator 道具未定义
- xpath - Scrapy If 语句未在 for 循环中求值