UE材质节点arctangent2解析

节省时间,网上偷的一张图看懂,看不懂再往下看吧 节省时间,网上偷的一张图看懂,看不懂再往下看吧 节省时间,网上偷的一张图看懂,看不懂再往下看吧

Arctangent2Arctangent 仅一字之差,但其用法却截然不同,我们好像学了三角函数,知道arcarctan 但是却好像不太能理解arctangent2是干嘛的??

下面简单回顾一下

1. 正切(Tan)

在三角函数中中,正切 (Tangent, tan)函数是直角三角形中对边与邻边的比值。

tan(x) 输入和输出都是一维的,它的输出在数值上跟直角三角形中的对边与邻边的长度之比相等。

t a n ( θ ) = 对边 邻边 {tan}(\theta) = \frac{\text{对边}}{\text{邻边}} tan(θ)=邻边对边

2. 反正切(Arctangent)

反正切 (Arctangent, atan)是正切函数的逆运算,用于从一个正切值计算出相应的角度值。输入通常是一个已知的比值(对边/邻边),而输出的是相应的角度值。输出和输入都是一维的

3. 反正切2(Arctangent2)

反正切2 (Arctangent2, atan2)是一种更高级的反正切运算。与 Arctangent 不同,Arctangent2 接受两个参数,分别代表三角形的对边和邻边。通过这种方式,Arctangent2 可以区分出点相对于原点的位置,从而计算出准确的角度值(包括象限信息)。

在材质编辑器中,Arctangent2 节点需要两个输入值(通常是 X 和 Y 分量),它会输出一个范围在 π 之间的角度。这种实现方式有效解决了 Arctangent 节点无法判断象限的缺陷。例如,给出坐标 (1, 1) 和 (1, -1),Arctangent 会得出相同的结果,但 Arctangent2 能够识别出它们分别位于第一和第四象限,因此能输出45度和-45度。

在UE材质编辑器中试验一下:

提示:

  • 想要像上图中这样预览窗口不是显示mesh而是整块屏幕作为一个四边形给你预览,只需要在材质编辑器左下角细节面板中,把材质域修改为后期处理 即可。

  • UE中,屏幕空间的UV坐标的U坐标跟笛卡尔坐标系方向一致,也就是向右为正,但是V坐标是向下为正,上面的材质中,我对采样到的UV坐标进行了重新映射,坐标范围变成(-1,1),原点位于屏幕正中间,并对V额外的反向了一下,因此传入arctangent2节点的坐标值跟笛卡尔坐标一致

相关推荐
go54631584652 天前
基于动态光影融合的缺陷实时检测和材质量化方法,并且整合EventPS、VMNer和EvDiG
材质
YYYYYY020202 天前
材质及制作笔记
笔记·材质
DragonBallSuper6 天前
在Cesium中使用ThreeJs材质(不是场景融合哦)
webgl·材质·threejs·cesium·可视化渲染
FlyingBird~6 天前
Cocos Creator Shader入门实战(五):材质的了解、使用和动态构建
材质·cocos2d
日记成书9 天前
雷军从 6 楼扔涂有防弹涂层西瓜,西瓜完好无损,这种防弹涂层是什么材质?用在车上效果怎么样?
运维·网络·材质
雪下的新火10 天前
资源-HDR/材质/模型
经验分享·笔记·材质·天空盒·模型资源
瑾凌10 天前
Cesium 自定义路径导航材质
前端·javascript·vue.js·vue·材质·cesium
太妃糖耶10 天前
通过C#脚本更改材质球的参数
unity·c#·材质
ue星空10 天前
Blender制作次表面材质
blender·材质
ue星空13 天前
UE5材质法线强度控制节点FlattenNormal
ue5·材质