https://api.unrealengine.com/CHN/Engine/Rendering/Materials/ExpressionReference/index.html
綠色節點 函數
顏色 Color Desaturation
數學 Math GO
字體 Font FontSample,FontSampleParameter
實用程序 Utility
- 常用: Desaturation(去飽和度),Distance(距離),Fresnel(菲涅爾,邊框),GIReplace(GI 替換,反射數據替換),LinearInterpolate(線性插值 Lerp)
- 優化用:FeatureLevelSwitch(功能級別開關),QualitySwitch(質量開關)
- 蒙版:SphereMask(球體蒙版),AntialiasedTextureMask(抗鋸齒紋理蒙版)
- BumpOffset(視差貼圖):視差貼圖,本質上,是一種位移貼圖(Displacement Mapping)。它的原理,是根據視線方向,對當前看到的像素位置進行一定的坐標偏移,顯示偏移過后的像素顏色 https://www.jianshu.com/p/98c137baf855
- Noise(噪聲): 生成噪點。 注意:Position要的像素坐標變3維會有些特別的效果
- RotateAboutAxis(繞軸旋轉): 1、設定好旋轉軸(0,0,1) 2、如果想移動這個旋轉軸(100,100,0) 3、LocalPosition=WorldPosition TransformPosition Locatoin Space
- 網格距離場:DistanceToNearestSurface(與最近表面的距離),DistanceFieldGradient(距離場梯度)...生成了網格距離場后這兩個函數就可使用了,有點像A*尋路里的格子,算距離很方便。
- 不常用:BlackBody(黑體),ConstantBiasScale(常量偏差比例),hlsl函數 ddx ddy(往屏幕右邊走,是離光源更遠還是更近,變化幅度由多大)。DepthOfFieldFunction(視野深度函數)
- ??:LightmassReplace(光照系統替換 兩種輸入,在兩種使用階段)
DepthFade
紅色節點 輸入
常量 Const
- ??? 按實例消退、隨機
- 時間(period?周期?),雙面法線,VertexColor,ViewProperty(視野大小)
粒子的:顏色,方向,全局空間位置,動運,半徑,大小,生存時間,速度
坐標 Coordinates
- 對象:ActorPositionWS,ObjectPositionWS,ObjectOrientatoin,ObjectRadius
- 像素:PixelNormalWS,WorldPosition
- 場景:ViewSize,SceneTexelSize,SceneColor,SceneDepth,ScenePosition //Texel:紋理元素 texture element
- 其他:ParticlePositionWS,VertexNormalWS,CameraPositionWS
WS是全局的意思。LightmapUVs:???。
綠節點:Panner,Rotator
粒子 Particle
ParticleMotionBlurFade(粒子運動模糊的值) ParticleMacroUV(使用粒子拼好貼圖) SphericalParticleOpacity(利用透明度達到圓形) ParticleSubUV(粒子動畫貼圖用)
粒子的:顏色,方向,全局空間位置,動運,半徑,大小,生存時間,速度
其他
大氣 Atmosphere AtmosphericFogColor
深度 Depth DepthFade(深度消退) PixelDepth(像素深度) SceneDepth(場景深度)
其他
定制 Custom
自t定義HLSL代碼,CalcPixelMaterialInputs 最后一步計算函數
函數 Function
多數與材質函數配合使用,除TextureObject與TextureSample配合使用
材質屬性 Material Attribute
BreakMaterialAttributes中斷材質屬性 MakeMaterialAttributes建立材質屬性
參數 Paramaters
- CollectionParameter(參數文件) DynamicParameter(粒子系統用) FontSampleParameter TextureObjectParameter(紋理取樣用)
- StaticBoolParameter(編譯時用的) StaticComponentMaskParameter(編譯時用 蒙版)
材質實例,代碼用
:ScalarParameter VectorParameter材質實例,代碼用
:TSP2D(功能與TextureSample相同),TSPSubUV(功能與ParticleSubUV相同) TSPCube(只接立方體貼圖) TSPMovie(只接電影貼圖) //TSP=TextureSampleParameter
景觀 Landscape
LandscapeLayerBlend:景觀模式專用的材質表達式,可將多個材質混合,按需塗到景觀上。
1、給景觀選擇材質 2、在景觀模式的顏料下選擇層,塗到景觀上。要為每個層創建一個文件(Landscape Layer))。
三種混合模式:LB_ALphaBlend、LB_HeightBlend、LB_WeightBlend。
- LB_WeightBlend:按重量混合,使用一個層塗的次數越多混合權重越高。
- LB_HeightBlend:這個會在混合層上加一個H層。H層在與別的層混合時會顯示出來,H層的值:白色混合權重0,黑色權重1。
節點:LandscapeLayerCoords,LandscapeLayerSwitch,LandscapeLayerWeight,LandscapeVisibilityMask
紋理 Texture
藍的節點
- FontSample,FontSampleParameter,TextureObject,TextureSample
- ParticleSubUV,TextureObjectParameter,TextureSampleParameter2D,TextureSampleParameterCube
紅的節點
- SpriteTextureSample??定制精靈紋理取樣
- SceneColor,TextureProperty
失量操作
ObjectOrientation(對象方向),ReflectionVectorWS(反射全局空間矢量:表面法線上的攝像機方向)
其他的與參考坐標目錄
失量
AppendVector(追加矢量),ComponentMask(分量蒙版),CrossProduct(矢量積),Normalize(規范化),Transform(轉換 本地<->全局)
DeriveNormalZ(派生法線 Z。。根據X,Y值生成Z),DotProduct(標量積。。參考向量投影,全局向量法線Dot相機相對表面向量 可做出類似菲涅爾效果)
材質相關源代碼
Runtime/Engine/Classes/Material MaterialExpressionSceneTexture