美文网首页虚幻4UE4(虚幻引擎)
UE4材质中的点乘DotProduct

UE4材质中的点乘DotProduct

作者: 6c9572b658a2 | 来源:发表于2018-09-04 18:04 被阅读4次

向量点乘的定义

如果a和b是两个向量,那么

a·b = |a|·|b|·cos(θ)

其中θ是两个向量的夹角,cos是余弦。(数学公式输入好麻烦。。)

下图说明了关系。


单位向量的点乘

在游戏中,表示方向的向量往往是单位向量。

为了简化起见,假设a和b都是单位向量,也就是长度为1,那么:

a·b = cos(θ)

那么这个公式就简单了。

用点乘判断向量朝向关系

考虑到,cos(0)=1,cos(π)=-1,cos(π/2)=0,那么我们就可以用点乘来判断两个向量的朝向关系了。

友情提示,有些同学可能不太记得了,π就是180度的实数表示。

如果两个向量方向完全相同,那么夹角为0,则cos(θ)为1;

如果两个向量方向垂直,那么夹角为90度即π/2,则cos(θ)为0;

如果两个向量方向完全相反,那么夹角为180度即π,则cos(θ)为-1;

其他情况,点乘的值介于-1~1之间。

用点乘判断角色是否正对物体

这是给物体一个材质。

这个是材质的节点网络。

简单解释一下。

CameraVector是相机的朝向。

CameraPosition是相机位置,ActorPosition是物体的位置,这两个相减是以相机为起点、物体为终点的向量。

Normalize是归一化,把向量变成单位向量。

Power是为了让变化更明显。


原文地址:原文地址

本文首发于翰者学堂

相关文章

  • UE4材质中的点乘DotProduct

    向量点乘的定义 如果a和b是两个向量,那么 a·b = |a|·|b|·cos(θ) 其中θ是两个向量的夹角,co...

  • Unreal4地形材质0062bate1

    地形材质设置 材质以用于地形地貌。尽管任意 材质 都可用于 地形 Actor,但虚幻引擎4(UE4)中的材质系统同...

  • 材质和材质实例介绍

    材质(Material) UE4创建并编辑完材质(Material),可以右键选择并为其创建(多个)材质实例(Ma...

  • UE4材质中的CustomDepth

    CustomDepth是什么 CustomDepth,可以用来显示特定物体的轮廓,比如UE4编辑器中,选中的物体,...

  • UE4材质中的SphereMask

    SphereMask的含义 SphereMask是个神奇的东东。看名字就知道大概什么意思,球形遮罩。。 Spher...

  • UE4中使用材质函数和材质实例制作镂空效果 183 0 0

    今天给大家分享一个简单的小知识:在UE4中使用材质函数和材质实例制作镂空效果 制作思路:制作两个材质函数,一个处理...

  • UE4学习之VR(三)

    几个问题: 1.导入模型时遇到个问题,几个模型用的是同一个材质,导入 到UE4中却生成了多个材质,而不是一个材质,...

  • UE4 使用Unreal Datasmith插件——3DsMAX

    UE4 的Unreal Datasmith插件,可以支持Vray材质的导入,遇到Vray材质的模型就不用再重新赋...

  • UE4材质属性bate0116

    材质属性 关于UE4材质及其工作原理的介绍文档。 本文档将详细讲解材质上可用的属性。您可以通过在材质编辑器(Mat...

  • UE4材质中的Sin函数

    Sin函数曲线 根据中学所学知识,Sin(0)=0, Sin(π)=0, Sin(π/2)=1, Sin(3π/2...

网友评论

    本文标题:UE4材质中的点乘DotProduct

    本文链接:https://www.haomeiwen.com/subject/wcdnwftx.html