UE5.1_Niagara基础_官方内容示例_2.5
2.5 Expressions【表达式】
注:函数名、变量名、命名空间均区分大小写,命名空间为首字母大写
正弦函数:sin()
sin(0)=0
sin(π/2)=1
sin(π)=0
sin(3π/2)=-1
sin(2π)=0
浮点函数:float() 【将里面的整数或字符串转换成浮点数】
随机函数:rand()
rand(0)=0
rand(1)=0或1
rand(1.0f)=≥0且≤1的随机浮点数
标准化函数:normalize() 【向量标准化后为单位长度=1的向量】
normalize(0,1.0,1.0)=(0,0.707,0.707)
向量积函数:cross(a,b) 【模长|c|=|a×b|=|a||b|sin<a,b>,UE中采用左手坐标系,因此使用左手螺旋法则确定向量积方向:当左手的四指从a能以不超过180度转向b时,竖起的大拇指方向为向量积的方向】
cross(Particles.RandomVector, float3(0,8,0))
判断语句: condition ? Ture : False 【问号前面为判断条件,判定为真时执行问号与冒号之间的语句,判定为假时执行冒号后面的语句
Particles.NormalizedAge < 0.333 ? float4(1,0.1,0.1,1) : Particles.NormalizedAge < 0.575 ? float4(0.1,1,0.1,1) : float4(0.1,0.1,1,1)
绝对值函数:abs()
abs(Particles.NormalizedAge * 2.0f -1.0f)
长度函数:length()
length(Particles.Position - Emitter.InitialPosition)
单取向量某一坐标:Particles.Position.x, Particles.Position.y,Particles.Position.z
Emitter.Age:发射器年龄,发射器生成时开始从零计时,不会随循环而归零
Engine.Time:游戏引擎启动时开始从零计时,重启引擎时归零
(此专栏为视频对应的文本知识,详细内容讲解请看对应视频,有疑问请到对应视频下方评论区寻找答案,无法找到答案时再在该评论区提出问题,勿在此专栏下方的评论区提出问题)