UE5.1_Niagara基礎_官方內容示例_2.5
2.5 Expressions【表達式】
注:函數名、變量名、命名空間均區(qū)分大小寫,命名空間為首字母大寫
正弦函數: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? 【問號前面為判斷條件,判定為真時執(zhí)行問號與冒號之間的語句,判定為假時執(zhí)行冒號后面的語句
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:發(fā)射器年齡,發(fā)射器生成時開始從零計時,不會隨循環(huán)而歸零
Engine.Time:游戲引擎啟動時開始從零計時,重啟引擎時歸零
(此專欄為視頻對應的文本知識,詳細內容講解請看對應視頻,有疑問請到對應視頻下方評論區(qū)尋找答案,無法找到答案時再在該評論區(qū)提出問題,勿在此專欄下方的評論區(qū)提出問題)