zoukankan      html  css  js  c++  java
  • ue4 材质表达式分类

    https://api.unrealengine.com/CHN/Engine/Rendering/Materials/ExpressionReference/index.html
    在官方文档目录结构上:分材质表达式材质函数2种

    绿色节点 函数

    颜色 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

    红色节点 输入OR表达式

    常量 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

  • 相关阅读:
    git系列3之简单命令(查看不同|文件提交|文件移除|重命名)
    git系列2之简单命令(乱码问题|修改文件提交|忽略文件)
    git系列1之安装初体验(windows)
    mongodb主从复制副本集(12)
    mongodb系统知识(11)
    mongodb系统知识(10)
    linux下h2集群创建,及java集成详细步骤
    windows下创建h2集群,及java集成详细步骤
    MySQL与Oracle 差异比较之一数据类型
    快速恢复update了的orcale数据表
  • 原文地址:https://www.cnblogs.com/mattins/p/7843899.html
Copyright © 2011-2022 走看看