关键信息
- 分类
- 设计与颜色
- 输入类型
- file, range, select, checkbox
- 输出类型
- html
- 样本覆盖
- 4
- 支持 API
- Yes
概览
VP8 图像分析器是一款专为设计师和开发者打造的在线工具,能够将 WebP、JPEG、PNG 等常见栅格图片转换为交互式 3D 浮雕模型。该工具在后端使用 Sharp 提取图像亮度并生成灰度位移图(高度图),随后在前端通过 Three.js 的 PlaneGeometry 和 displacementMap 技术,将二维图像渲染为可旋转的 3D 拉伸表面,帮助用户直观地检查图像的深度和纹理细节。
适用场景
- •需要将平面图像的亮度信息可视化为 3D 高度图或地形图时。
- •在游戏开发或 3D 建模前,快速预览纹理贴图(Displacement Map)的拉伸效果时。
- •检查 WebP/VP8 图像的灰度分布和细节层次,用于视觉设计或材质分析时。
工作原理
- •上传一张 WebP、JPEG、PNG 或 AVIF 格式的图片文件(最大支持 20MB)。
- •后端引擎使用 Sharp 处理图像,提取像素亮度数据并生成对应的灰度位移图。
- •前端利用 Three.js 创建平面几何体(PlaneGeometry),并将生成的灰度图作为位移贴图(displacementMap)应用。
- •根据用户设置的位移强度、平面细分数和纹理尺寸,实时渲染出可自动旋转的 3D 浮雕表面,并支持线框模式叠加显示。
使用场景
用户案例
1. 预览风景图的 3D 地形效果
3D 场景设计师- 背景原因
- 设计师正在制作一个基于真实风景的 3D 场景,需要将一张 WebP 格式的风景照片转换为地形高度图。
- 解决问题
- 无法直观判断照片的亮度分布是否适合作为地形的位移贴图。
- 如何使用
- 上传 `sample-landscape.webp`,将“位移强度”设为 1.25,“平面细分”设为 192,并开启“自动旋转”。
- 示例配置
-
{ "displacementScale": 1.25, "segments": 192, "maxTextureSize": "1024", "autoRotate": true, "wireframe": false } - 效果
- 图像的明亮区域在 3D 视图中凸起,暗部凹陷,设计师成功确认了该图片的深度层次,并直接在浏览器中预览了地形效果。
2. 检查位移贴图的网格细分细节
WebGL 开发者- 背景原因
- 开发者正在优化一个 Three.js 项目,需要平衡位移贴图的视觉效果与多边形数量。
- 解决问题
- 需要观察不同细分数(Segments)下,顶点位移的平滑程度和网格结构。
- 如何使用
- 上传一张测试用的黑白纹理图,将“平面细分”调低至 64,并勾选“线框叠加”选项。
- 示例配置
-
{ "displacementScale": 2.0, "segments": 64, "maxTextureSize": "512", "autoRotate": false, "wireframe": true } - 效果
- 3D 浮雕表面叠加了清晰的网格线,开发者直观地看到了低细分状态下的顶点分布,从而找到了性能与画质的平衡点。
用 Samples 测试
image, png, jpg相关专题
常见问题
支持上传哪些格式的图片?
支持上传 WebP(VP8)、JPEG、PNG 和 AVIF 格式的栅格图片,文件大小限制为 20MB。
什么是位移强度(Displacement Scale)?
位移强度决定了 3D 浮雕的拉伸高度。数值越大,图像中亮部和暗部在 3D 空间中的高度差就越明显。
为什么需要调整平面细分(Segments)?
平面细分决定了 3D 模型的网格密度。细分数越高,3D 浮雕的细节越丰富、边缘越平滑,但也会消耗更多的显卡渲染性能。
线框叠加(Wireframe)功能有什么作用?
开启线框叠加后,可以在 3D 表面上显示底层的网格结构,方便开发者检查 PlaneGeometry 的细分状态和顶点位移情况。
这个工具是在本地还是云端处理图片?
图片上传后,由后端服务器使用 Sharp 引擎生成灰度高度图,随后将数据传回前端,由浏览器的 WebGL(Three.js)完成 3D 渲染。