ue4 材質表達式分類


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM