Complex Lit Shader

复杂的灯光着色器包含了灯光着色器的所有功能,并添加了高级的材质特性。一些特性在这个着色器可能是相当多的资源密集型和需要Unity Shader Model 4.5。

在延迟渲染路径中,URP使用前向渲染路径渲染具有复杂光照着色器的对象。如果目标平台的硬件不支持复杂光照着色器的特性,URP使用光照着色器代替。

Using the Complex Lit Shader in the Editor

选择和使用这个着色器:

  1. 在你的项目中,创建或找到你想使用着色器的材质。选择材质。这时会打开一个材质检查窗口。
  2. 点击着色器,选择Universal Render Pipeline > Complex Lit

UI overview

这个着色器的检查器窗口包含以下元素:

  • Surface Options
  • Surface Inputs
  • Advanced

Surface Options

Surface选项控制URP如何在屏幕上渲染材质。

Property Description
Workflow Mode

Use this drop-down menu to choose a workflow that fits your Textures, either Metallic and Specular.
When you have made your choice, the main Texture options in the rest of the Inspector now follow your chosen workflow. For information on metallic or specular workflows, see this Manual page for the Standard built-in Shader in Unity.

使用这个下拉菜单选择一个工作流,适合你的纹理,金属和高光。

当你做出你的选择,主要的纹理选项在检查器的其余部分现在按照你选择的工作流程。显示有关金属或高光工作流程的信息,请参阅Unity中内置的标准着色器的手册页。

Surface Type

Use this drop-down to apply an Opaque or Transparent surface type to the Material. This determines which render pass URP renders the material in. Opaque surface types are always fully visible, regardless of what’s behind them. URP renders opaque Materials first. Transparent surface types are affected by their background, and they can vary according to which type of transparent surface type you choose. URP renders transparent Materials in a separate pass after opaque objects. If you select Transparent, the Blending Mode drop-down appears.

使用此下拉菜单为材质应用不透明或透明的表面类型。这决定了URP的渲染路径。不透明的表面类型总是完全可见的,不管它们背后是什么。URP首先渲染不透明的材料。透明表面类型受其背景的影响,它们可以根据您选择的透明表面类型的类型而变化。URP在不透明对象之后单独渲染透明材质。如果你选择透明,混合模式下拉菜单就会出现。

Blending Mode

Use this drop-down to determine how URP calculates the color of each pixel of the transparent Material by blending the Material with the background pixels.
Alpha uses the Material’s alpha value to change how transparent an object is. 0 is fully transparent. 1 appears fully opaque, but the Material is still rendered during the Transparent render pass. This is useful for visuals that you want to be fully visible but to also fade over time, like clouds.
Premultiply applies a similar effect to the Material as Alpha, but preserves reflections and highlights, even when your surface is transparent. This means that only the reflected light is visible. For example, imagine transparent glass.
Additive adds an extra layer to the Material, on top of another surface. This is good for holograms. 
Multiply multiplies the color of the Material with the color behind the surface. This creates a darker effect, like when you look through colored glass.

使用这个下拉列表来确定URP如何通过混合材质和背景像素来计算透明材质的每个像素的颜色。

Alpha使用材质的Alpha值来改变物体的透明度。0是完全透明的。1显示完全不透明,但是在透明渲染过程中材质仍然被渲染。这对于那些你想要完全可见但又想要随着时间逐渐消失的图像,比如云,是很有用的。

Premultiply 在材质上应用了类似Alpha的效果,但是保留了反射和高光,即使你的表面是透明的。这意味着只有反射光是可见的。例如,想象一下透明的玻璃。

在材料的另一个表面上增加一个额外的层。这对全息图很有用。

Multiply 将材料的颜色与表面后面的颜色进行叠加。这会产生一种更暗的效果,就像你透过彩色玻璃看东西一样。

Render Face

Use this drop-down to determine which sides of your geometry to render.
Front Face renders the front face of your geometry and culls the back face. This is the default setting. 
Back Face renders the front face of your geometry and culls the front face. 
Both makes URP render both faces of the geometry. This is good for small, flat objects, like leaves, where you might want both sides visible.

使用这个下拉菜单来确定要渲染几何图形的哪一面。

Front Face 渲染几何图形的前面并剔除后面。这是默认设置。

Back Face 渲染几何图形的前面并剔除前面。

Both 两者都使URP渲染几何图形的两面。这对小而扁平的物体很有用,比如叶子,你可能想让它的两边都可见。

Alpha Clipping

Makes your Material act like a Cutout Shader. Use this to create a transparent effect with hard edges between the opaque and transparent areas. For example, to create blades of grass. To achieve this effect, URP does not render alpha values below the specified Threshold, which appears when you enable Alpha Clipping. You can set the Threshold by moving the slider, which accepts values from 0 to 1. All values above your threshold are fully opaque, and all values below your threshold are invisible. For example, a threshold of 0.1 means that URP doesn't render alpha values below 0.1. The default value is 0.5.

使你的材质表现得像一个剪切着色器。使用这个在不透明和透明区域之间创建一个有硬边的透明效果。例如,创建草的叶片。为了实现此效果,URP不渲染低于指定阈值的alpha值,阈值在启用alpha剪切时出现。您可以通过移动滑块来设置阈值,滑块接受从0到1的值。阈值以上的所有值都是不透明的,而阈值以下的所有值都是不可见的。例如,阈值为0.1意味着URP不渲染低于0.1的alpha值。默认值是0.5。

Receive Shadows

Tick this box to enable your GameObject to have shadows cast upon it by other objects. If you untick this box, the GameObject will not have shadows on it.

勾选此框可以让你的游戏物体被其他物体投射阴影。如果你取消这个框,游戏对象将不会有阴影。

Surface Inputs

表面输入描述了表面本身。例如,您可以使用这些属性使您的表面看起来湿、干、粗糙或光滑。

注意:如果你习惯了内置Unity渲染管线中的标准着色器,这些选项类似于材质编辑器中的主贴图设置。

Property Description
Base Map

Adds color to the surface, also known as the diffuse map. To assign a Texture to the Base Map setting, click the object picker next to it. This opens the Asset Browser, where you can select from the Textures in your Project. Alternatively, you can use the color picker. The color next to the setting shows the tint on top of your assigned Texture. To assign another tint, you can click this color swatch. If you select Transparent or Alpha Clipping under Surface Options, your Material uses the Texture’s alpha channel or color.

为表面添加颜色,也称为漫反射贴图。要为基础贴图设置分配纹理,请单击它旁边的对象选择器。这会打开资产浏览器,在那里你可以从你的项目的纹理中选择。或者,您可以使用颜色选择器。设置旁边的颜色显示了你分配的纹理上的色彩。要指定另一种色调,可以单击这个色板。如果你在表面选项下选择透明或Alpha剪裁,你的材质会使用纹理的Alpha通道或颜色。

Metallic / Specular Map

Shows a map input for your chosen Workflow Mode in the Surface Options.
For the Metallic Map workflow, the map gets the color from the Base Map assigned above. Use the slider to control how metallic the surface appears. 1 is fully metallic, like silver or copper, and 0 is fully dielectric, like plastic or wood. You can generally use values in between 0 and 1 for dirty or corroded metals.
For the Specular Map setting, you can assign a texture to it by clicking the object picker next to it. This opens the Asset Browser, where you can select from the Textures in your Project. Alternatively, you can use the color picker.
For both workflows, you can use the Smoothness slider to control the spread of highlights on the surface. 0 gives a wide, rough highlight. 1 gives a small, sharp highlight like glass. Values in between produce semi-glossy looks. For example, 0.5 produces a plastic-like glossiness.
Use the Source drop-down menu to select where the shader samples a smoothness map from. Options are: Metallic Alpha (alpha channel from the metallic map), and Albedo Alpha (alpha channel from the base map). The default value is Metallic Alpha.
If the selected source has the alpha channel, the shader samples the channel and multiplies each sample by the Smoothness value.

在表面选项中显示您所选择的工作流模式的贴图输入。

对于metal Map工作流,Map从上面分配的基础Map获得颜色。使用滑块控制表面的金属外观。1是完全金属的,像银或铜,0是完全介电的,像塑料或木材。对于脏的或腐蚀的金属,通常可以使用0到1之间的值。

对于高光贴图设置,你可以通过点击它旁边的对象选择器来给它分配纹理。这会打开资产浏览器,在那里你可以从你的项目的纹理中选择。或者,您可以使用颜色选择器。

对于这两个工作流,您可以使用平滑滑块来控制表面上高光的扩展。0给出了粗浅的高光。1给出一个小的,尖锐的高光像玻璃。介于两者之间的值会产生半光滑的外观。例如,0.5可以产生类似塑料的光泽度。

使用Source下拉菜单选择着色器采样平滑贴图的地方。选项有:metal Alpha(来自metal map的Alpha通道)和Albedo Alpha(来自base map的Alpha通道)。默认值是metal Alpha。

如果所选的源有alpha通道,着色器对通道采样并将每个采样乘以平滑值。

Normal Map

Adds a normal map to the surface. With a normal map, you can add surface details like bumps, scratches and grooves. To add the map, click the object picker next to it. The normal map picks up ambient lighting in the environment. 
The float value next to the setting is a multiplier for the effect of the Normal Map. Low values decrease the effect of the normal map. High values create stronger effects.

向表面添加法线贴图。使用法线贴图,您可以添加表面细节,如凹凸、划痕和凹槽。要添加贴图,单击它旁边的对象选择器。法线贴图拾取环境中的光线。
该设置旁边的浮点值是法线贴图效果的乘数。低值会降低法线贴图的效果。价值越高,效果越强。

Height Map

URP implements the parallax mapping technique which uses the height map to achieve surface-level occlusion effect by shifting the areas of the visible surface texture. To add the map, click the object picker next to it. 
The float value next to the setting is a multiplier for the effect of the Height Map. Low values decrease the effect of the height map. High values create stronger effects.

URP采用视差贴图技术,利用高度贴图对可见的表面纹理区域进行平移,实现表面层遮挡效果。要添加贴图,单击它旁边的对象选择器。
该设置旁边的浮动值是用于高度图效果的乘数。低值会降低高度图的效果。价值越高,效果越强。

Occlusion Map

Select an occlusion map. This simulates shadows from ambient light and reflection, which makes lighting look more realistic as less light reaches corners and crevices of objects. To select the occlusion map, click the object picker next to it.

选择一个遮挡贴图。这模拟了环境光和反射产生的阴影,使得光线看起来更加真实,使更少的光线到达物体的角落和缝隙。要选择遮挡贴图,单击它旁边的对象选择器。

Clear Coat

Select this check box to enable the Clear Coat feature. The feature adds an extra Material layer which simulates a transparent and thin coating on top of the base Material. The feature affects the color and the Smoothness values of the underlying base material slightly. The index of refraction (IOR) of the Clear Coat is 1.5.
Performance impact: Rendering Clear Coat has roughly twice the cost of rendering a base material, because the lighting is evaluated once per layer.
Mask: This property defines the intensity of the effect: 0 - no effect, 1 - maximum effect. Setting the Mask value to 0 does not disable the feature.
Smoothness: This property defines the spread of highlights on the surface. 0 gives wide, rough highlights. 1 gives sharp, glasslike highlights.
There is the Clear Coat map property to the left of the Mask property. The channels have the following mapping:
Red: the Mask property.
Green: the Smoothness property.
If a Clear Coat map is present, URP multiplies the map's pixel values by value of the Mask property.

选中此复选框可启用清除涂层功能。这个特性增加了一个额外的材质层,它在基础材质的顶部模拟了一个透明的薄涂层。该特征对底层基础材质的颜色和平滑度值有轻微的影响。透明涂层的折射率(IOR)为1.5。

Performance impact性能影响:渲染透明涂层的成本大约是渲染基础材质的两倍,因为每层只评估一次光照。

Mask蒙版:这个属性定义效果的强度:0 -无效果,1 -最大效果。将掩码值设置为0不会禁用该特性。

Smoothness平滑度:这个属性定义了表面上高光的分布。0给宽,粗糙的高光。1给尖锐的,玻璃般的亮点。

在Mask属性的左边有一个Clear Coat map属性。通道有以下映射:

红色:蒙版属性。

绿色:光滑性。

如果有一个清晰的涂层贴图,URP将贴图的像素值乘以Mask属性的值。

Emission

Makes the surface look like it emits lights. When enabled, the Emission Map and Emission Color settings appear.
To assign an Emission Map, click the object picture next to it. This opens the Asset Browser, where you can select from the textures in your Project.
For Emission Color, you can use the color picker to assign a tint on top of the color. This can be more than 100% white, which is useful for effects like lava, that shines brighter than white while still being another color.
If you have not assigned an Emission Map, the Emission setting only uses the tint you’ve assigned in Emission Color.
If you do not enable Emission, URP sets the emission to black and does not calculate emission.

使表面看起来像在发光。启用后,Emission Map自发光贴图和Emission Color 自发光颜色设置就会出现。

若要分配自发光贴图,请单击它旁边的对象图片。这会打开资产浏览器,在那里你可以从你的项目的纹理中选择。

对于自发光颜色,您可以使用颜色选择器在颜色的顶部分配一个色调。这可以是超过100%的白色,这对效果很有用,如熔岩,闪耀比白色更明亮,但仍然是另一种颜色。

如果您没有分配一个自发光贴图,发光设置只使用您在自发光颜色中分配的着色。

如果不启用自发光,URP将自发光设置为黑色,并且不计算自发光。

Tiling

A 2D multiplier value that scales the Texture to fit across a mesh according to the U and V axes. This is good for surfaces like floors and walls. The default value is 1, which means no scaling. Set a higher value to make the Texture repeat across your mesh. Set a lower value to stretch the Texture. Try different values until you reach your desired effect.

一个2D倍增值,根据U和V轴缩放纹理以适应网格。对地板和墙壁这样的表面很好。默认值是1,这意味着没有缩放。设置一个更高的值使纹理在你的网格上重复。设置一个较低的值来拉伸纹理。尝试不同的值,直到达到你想要的效果。

Offset

The 2D offset that positions the Texture on the mesh. To adjust the position on your mesh, move the Texture across the U or V axes.

在网格上定位纹理的2D偏移量。为了调整网格的位置,在U轴或V轴上移动纹理。

Detail Inputs

使用细节输入设置向表面添加额外的细节。

要求:GPU支持shader模型2.5或更高。

Property Description
Mask

Select a texture that defines areas where Unity overlays the Detail maps over the Surface Inputs maps. The mask uses the alpha channel of the selected texture. The Tiling and Offset settings have no effect on the mask.

选择一个纹理来定义Unity在表面输入贴图上覆盖细节贴图的区域。蒙版使用所选纹理的alpha通道。平铺和偏移设置对蒙版没有影响。

Base Map

Select the texture containing the surface details. Unity blends this map with the Surface Base Map using the overlay mode.

选择包含表面细节的纹理。Unity使用叠加模式混合这个贴图和表面基础贴图。

Normal Map

Select the texture containing the normal vector data. Use a normal map to add surface details like bumps, scratches and grooves.
Use the slider next to the setting to change the intensity of the effect of the map. The default value is 1.

选择包含法向量数据的纹理。使用法线贴图添加表面细节,如凹凸、划痕和凹槽。
使用设置旁边的滑块来改变贴图效果的强度。默认值是1。

Tiling

Use this setting to scale the Base Map and the Normal Map on the mesh along the U and V axes, so that the maps fit the mesh best. The default value is 1. Select a value higher than one to make the maps repeat themselves across the mesh. Set a value lower than 1 to stretch the maps.

使用这个设置来缩放网格上的基础贴图和法线贴图沿着U和V轴,这样贴图就能最好的匹配网格。默认值是1。选择一个高于1的值使贴图在网格中重复。设置一个小于1的值来拉伸映射。

Offset

The offset that moves the Base Map and the Normal Map on the mesh along the U and V axes.

在网格上沿着U轴和V轴移动基础贴图和法线贴图的偏移。

Advanced

高级设置会影响渲染的底层计算。它们对你的表面没有明显的影响。

roperty Description
Specular Highlights

Enable this to allow your Material to have specular highlights from direct lighting, for example Directional, Point, and Spot lights. This means that your Material reflects the shine from these light sources. Disable this to leave out these highlight calculations, so your Shader renders faster. By default, this feature is enabled.

启用这个选项可以让你的材质从直接光照中获得高光,例如方向光、点光和聚光灯。这意味着你的材质会反射这些光源的光芒。禁用这个来忽略这些高亮计算,这样你的着色器渲染更快。默认情况下,该特性是启用的。

Environment Reflections

Sample reflections using the nearest Reflection Probe, or, if you have set one in the Lighting window, the Lighting Probe. If you disable this, you will have fewer Shader calculations, but this also means that your surface has no reflections.

使用最近的反射探针进行反射取样,或者,如果您在照明窗口中设置了反射探针,则使用照明探针进行反射取样。如果你禁用这个,你将有更少的着色计算,但这也意味着你的表面没有反射。

Enable GPU Instancing

Makes URP render meshes with the same geometry and Material in one batch, when possible. This makes rendering faster. URP cannot render Meshes in one batch if they have different Materials or if the hardware does not support GPU instancing.

如果可能的话使URP渲染网格与相同的几何和材料在一批。这使得渲染速度更快。如果网格有不同的材质或者硬件不支持GPU实例化,URP不能在一批中渲染网格。

Priority

Use this slider to determine the chronological rendering order for a Material. URP renders Materials with higher values first. You can use this to reduce overdraw on devices by making the pipeline render Materials in front of other Materials first, so it doesn't have to render overlapping areas twice. This works similarly to the render queue in the built-in Unity render pipeline.

使用这个滑块来决定材质的渲染顺序。URP首先渲染较高值的材质。您可以使用它来减少设备上的过度渲染,方法是让管线首先在其他材质之前渲染材质,这样它就不需要渲染两次重叠的区域。这类似于内置的Unity渲染管道中的渲染队列。

Channel packing

这个着色器使用通道填充,所以你可以为金属、平滑和遮挡属性使用一个RGBA纹理。当你使用纹理打包时,你只需要加载一个纹理到内存中,而不是三个单独的纹理。当你在Substance或Photoshop等程序中编写纹理贴图时,你可以这样打包贴图:

Base Map

Channel Property
Red Metallic
Green Occlusion
Blue None
Alpha Smoothness

Clear Coat Map

Channel Property
Red Mask
Green Smoothness
Blue None
Alpha None

URP——着色器和材质——复杂光照Complex Lit相关推荐

  1. URP——着色器和材质——烘焙光照 Baked Lit

    Baked Lit Shader 在通用渲染管道(URP)中,对于只需要通过光照贴图和光照探测烘烤的游戏或应用程序使用此着色器.这个着色器不使用基于物理的阴影和没有实时照明,所以所有实时相关的着色器关 ...

  2. URP——着色器和材质——简单光照 Simple Lit

    Simple Lit Shader 当性能比写实更重要时,使用这个着色器.这个着色器使用一个简单的近似的照明.因为这个着色器不计算物理正确性和能量守恒,它渲染迅速. Using the Simple ...

  3. URP——着色器和材质——灯光着色器 Lit

    Lit Shader 灯光着色器让你渲染真实世界的表面像石头,木材,玻璃,塑料,金属在照片现实的质量.您的光等级和反射看起来栩栩如生,并在各种光照条件下反应正确,例如明亮的阳光,或一个黑暗的洞穴.这个 ...

  4. unity关于纹理、着色器和材质的介绍

    图形资源可以分解为纹理.着色器和材质.纹理和着色器应用于材质,然后把材质应用于模型. 纹理(Texture):应用于3D对象的平面图像,使模型变得色彩斑斓,而不是只有形状. 创建一个复杂模型时,常用展 ...

  5. unity地面添加材质球_为Unity3D创建素材(1):图片、着色器、材质球

    图片 Unity3D支持使用大部分位图格式作为图片素材,甚至包括带图层和图层效果的.psd格式文件. 但在实际使用中,并不推荐直接使用非通用的文件格式.这是因为对于任何格式的图片素材,Unity3D在 ...

  6. unity标准着色器入门-材质参数(一)

    材质参数 标准着色器展示了材质参数的列表.取决于你是否已经选择在金属工作流模式或者镜面工作流模式,这些参数会有轻微地变化.大部分参数在两种模式下是一样的,材质参数系列将覆盖两种模式的所有参数. 这些参 ...

  7. unity标准着色器入门-材质参数(二)

    金属模式:金属参数 当在金属工作流(不同于镜面工作流)下工作时,表面的反射成都和光照反应由金属性级别和平滑度级别来修改. 当使用这个工作流时,镜面反射仍然被生成:但依赖于给予Metallic和Smoo ...

  8. Blender着色器纹理材质创作教程含源文件 Shader Forge

    本Blender视频课程是一个正在进行的关于为Cycles渲染引擎构建材质(着色器)的系列.只要有足够的时间和努力,物质性就能给CG场景注入这样的生命. 本课程是一个正在进行的关于为Cycles渲染引 ...

  9. Three.js-着色器加工材质及材质着色器详解

    在Three中,我们可以使用着色器对材质进行加工,例如在对物体材质进行设置时,我们可以通过对顶点着色器的更改,从而实现物体的运动或变化.使用着色器加工材质,主要依赖于Material材质基类中的onB ...

最新文章

  1. 多核处理器集成了神经处理单元
  2. 全球首辆飞行摩托开卖!飞行高度可达4572米,243万元一辆,你敢开吗?
  3. Java技术在多数据库系统中的应用研究
  4. body中的font属性和color属性
  5. 大话ion系列(三)
  6. 如何计算Java对象所占内存的大小
  7. win7远程桌面连接不上,解决办法
  8. E:Johnny and Grandmaster
  9. 将Access数据库导入到SQLite最简单最实用的方法 -转
  10. zoj 3228 覆盖及非覆盖串的多次匹配
  11. 好程序员web前端分享常见html5语义化标签
  12. 无废话WPF系列16:资源
  13. k8s学习: 使用 MetalLB 给测试环境配置LoadBalancer 服务
  14. mysql中timestamp字段
  15. 服务器如何自动校准北京时间,北京时间
  16. CSS实现兼容浏览器的文字阴影效果
  17. 数据清洗中的缺失值处理
  18. 如何出一道计算机仿真题,计算机仿真试题
  19. 码元、符号、波特率、比特率等概念的了解
  20. Dichotomy(递+非递)

热门文章

  1. win10环境Redis安装及配置,以及Redis服务无法启动的解决方法
  2. Qt在ARM或者linux上多屏显示
  3. 找出数组中符合某些条件的对象数组
  4. 在bing中保存自己的搜索关键字.
  5. Cell:首次揭示肿瘤胞内菌在癌症转移过程中的作用
  6. ASP.NET MVC俗气的罗斯文示例代码
  7. Iviews视频搜索引擎
  8. php时间戳与日期格式比大小,比较两个时间戳的大小
  9. 《穆斯林的葬礼》—— 读后总结
  10. 联想键盘最上面一行切换功能