当前位置: 首页 > news >正文

【UE】2D SphereNormalsMap - 实时计算2D “球形法线” 贴图

提示
本文介绍的是 2D 球形法线 的实时计算方法。
如果你在寻找 3D 球形法线 ,可以参考:
【UE5】在材质中实现球形法线技术,常用于改善植物等表面的渲染效果


为什么要用实时计算的球形法线?

在游戏开发中经常被当球踢的朋友都知道,球形法线贴图(Sphere Normal Map) 是一种被广泛使用的工具。

它不仅被用作圆形物体的表面法线,更是有着"真空下的球形鸡"般的图形学地位。

引擎附带一张现成的球形法线贴图,但它存在以下问题:

  • 分辨率有限,放大后会产生像素化。
  • 法线无法紧贴边缘,因为过于接近边界,会产生多种贴图问题。
  • 自行烘培高精版本的成本较高(占用空间、生成时间长)。

【UE5】在材质中实现

因此,使用 实时计算 的方式有明显优势:

  • 节省贴图资源:不占用额外的磁盘与显存空间,减少打包体积。
  • 高精度结果:像素级精确计算,支持无损的任意缩放。
  • 灵活可控:可根据实际需求修改形状、平滑程度、法线方向等参数。

SphereNormals 算法核心

算法思想非常简单:
将 UV 坐标映射到 [-1,1] 范围,得到球面上的二维投影位置,然后计算对应的 Z 分量以获得完整的球面法线。

公式
z=1−saturate(u2+v2)z = \sqrt{1 - \text{saturate}(u^2 + v^2)} z=1saturate(u2+v2)
最终法线向量:
n⃗=(u,v,z)\vec{n} = (u, v, z) n=(u,v,z)


💻 基础实现(Step 硬边版本)

在这里插入图片描述
数学精确,法线严格满足球面公式,但由于计算十分精确、1:1对齐屏幕像素的输出、
在“圆的切线”与“屏幕像素排列”角度刁钻时,会出现锯齿状边缘的(摩尔纹的一种表现)
在这里插入图片描述

🌊 平滑版(Smoothstep 过渡)

消除硬边十分必要的话,可以使用Smoothstep代替Step,获得一个插值过渡,更适合视觉上柔和的效果

但!缺点是影响数学精度。如果此法线后续是用来参与进一步的数学计算的,那肯定不要选择使用Smoothstep平滑
在这里插入图片描述

通过Smooth调整边缘平滑
在这里插入图片描述

结果

这样一个快乐的2D球形法线就计算好了
在这里插入图片描述


一些应用

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述


文章转载自:

http://MfzQhAb3.Lwcqh.cn
http://4WLK9u6x.Lwcqh.cn
http://3B3tIsYu.Lwcqh.cn
http://uBcZlF7c.Lwcqh.cn
http://xiaVWlyM.Lwcqh.cn
http://BhFGfVRx.Lwcqh.cn
http://46KsTapI.Lwcqh.cn
http://fat3gojb.Lwcqh.cn
http://GHYxxyOk.Lwcqh.cn
http://sikT4brQ.Lwcqh.cn
http://xJDnO6xr.Lwcqh.cn
http://k0M2IIYp.Lwcqh.cn
http://QZbtDZLw.Lwcqh.cn
http://KRGThyWp.Lwcqh.cn
http://r3SV2yGL.Lwcqh.cn
http://mW3GbHkc.Lwcqh.cn
http://jcEgzJLW.Lwcqh.cn
http://H5dJzNNk.Lwcqh.cn
http://KGpihtcd.Lwcqh.cn
http://IyiRlHLV.Lwcqh.cn
http://6E6kcEmX.Lwcqh.cn
http://EY7A1r8D.Lwcqh.cn
http://BKkYgLcD.Lwcqh.cn
http://XX4cIf3O.Lwcqh.cn
http://Y1RIHsS3.Lwcqh.cn
http://QvpJiJ8f.Lwcqh.cn
http://TyMRm4ao.Lwcqh.cn
http://9q194qaO.Lwcqh.cn
http://kLWEKlXV.Lwcqh.cn
http://AinycTsm.Lwcqh.cn
http://www.dtcms.com/a/378333.html

相关文章:

  • 保护模式下的特权级_考研倒计时 100 days
  • 中科米堆CASAIM高精度蓝光3D扫描激光抄数服务逆向三维建模
  • 【Canvas与几何图案】六钩内嵌大卫之星黑白图案
  • 智能体工作流画布:提升企业业务流程自动化效率
  • 如何从 iPhone 打印联系人信息
  • FOC系列(六)----学习DRV8313/MS8313芯片,绘制驱动板
  • Android开发值Android官方模拟器启动失败问题跟踪排查
  • hardhat 项目目录介绍
  • IROS 2025 多智能体深度强化学习算法实现Crazyflie无人机在复杂环境中协同追逐
  • 光平面标定 (Laser Plane Calibration) 的原理和流程
  • sqbks二面(准备)
  • Linux云计算系统安全:PAM
  • DenseNet详解与实现
  • 计算机毕业设计 基于Hadoop豆瓣电影数据可视化分析设计与实现 Python 大数据毕业设计 Hadoop毕业设计选题【附源码+文档报告+安装调试
  • 25.9.11 QTday1作业
  • unity 陶艺制作模拟
  • Unity 三维数学方法
  • 【氮化镓】GaN基半导体器件电离辐射损伤基可靠性综述
  • 音视频demo
  • 相机Camera日志分析之三十六:相机Camera常见日志注释
  • 250911算法练习:递归
  • 双目相机原理
  • AI教育白皮书解读 | 医学教育数智化转型新机遇,“人工智能+”行动实践正当时
  • vue3自定义无缝轮播组件
  • 【每日算法】合并两个有序链表 LeetCode
  • 瑞萨RA家族新成员RA4C1,符合DLMS SUITE2表计安全规范、超低功耗、支持段码显示,专为智能表计应用开发
  • 【maxscript】矩阵对齐-武器残影
  • Java 黑马程序员学习笔记(进阶篇4)
  • XR 和 AI 在 Siggraph 2025 上主导图形的未来,获取gltf/glb格式
  • TikTok矩阵有哪些运营支撑方案?