赞
踩
1. 快捷键Ctrl+G完成和UE蓝图使用快捷键C一样的蓝图分组注释效果:
基于OpenGL的OpenGL Shading Language,缩写GLSL;
基于DirectX的High Level Shading Language,缩写HLSL;
着色器渲染管线兼容性(重点就是URP、HDRP支持HLSL语言,不支持CG语言,URP项目的渲染选择最好就是HLSL):
左边为:unlit URP,右边为lit URP;
无光照的渲染更加均匀一致,光照渲染更加真实,可以增加修改的预设参数也更多。
- // 当前Shader在材质面板下拉列表的路径和名字
- Shader "Unlit/NewUnlitShader"
- {
- Properties
- {
- //变量名(显示名称,类型) = 默认值
-
- _MainTex ("Texture", 2D) = "white" {}
- _MainTexArr("TextureArr", 2DArray) = "white" {}
- _Color("Color", Color) = (1,1,1,1)
-
- _Int("Int",Int) = 2 //整形
- _Float("Float",float) = 1.5 //浮点型
- _Range("Range",range(0.0,2.0)) = 1.0 //范围值
- _Vector("Vector",Vector) = (1,4,3,8) //向量
- //_MainTex("Texture", 2D) = "white" {} //贴图
- //_Color("Color",Color) = (1,1,1,1) //颜色
- _Cube("Cube",Cube) = "white"{} //天空盒
- _CubeArray("CubeArray",CubeArray) = "white"{}
- _3D("3D",3D) = "black"{} //3D贴图
-
- }
-
- SubShader
- {
- Tags
- {
- "RenderType" = "Opaque"
- }
-
- //"Queue" = "Transparent" //渲染顺序
- //"RenderType" = "Opaque" //着色器替换功能
- //"DisableBatching" = "True" //是否进行合批
- //"ForceNoShadowCasting" = "True" //是否投射阴影
- //"IgnoreProjector" = "True" //受不受Projector的影响,通常用于透明物体
- //"CanUseSpriteAltas" = "False" //是否用于图片的Shader,通常用于UI
- //"PreviewType" = "Plane" //用作shader面板预览的类型
- LOD 100
-
- Pass
- {
- //Name "ExamplePassName"
- //Tags {
- // "ExampleTagKey" = "ExampleTagValue"
- //}
- 此处是 ShaderLab 命令。
-
- 此处是 HLSL 代码。
- HLSLPROGRAM
- #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
-
- #pragma vertex vert
- #pragma fragment frag
-
- struct Attributes
- {
- float4 positionOS : POSITION;
- float2 uv : TEXCOORD0;
- };
-
- struct Varyings
- {
- float4 positionCS : SV_POSITION;
- float2 uv : TEXCOORD0;
- };
-
- float4 _Color;
- sampler2D _MainTex;
- float4 _MainTex_ST;
-
- Varyings vert(Attributes v)
- {
- Varyings o = (Varyings)0;
-
- VertexPositionInputs vertexInput = GetVertexPositionInputs(v.positionOS.xyz);
- o.positionCS = vertexInput.positionCS;
- o.uv = TRANSFORM_TEX(v.uv, _MainTex);
- return o;
- }
-
- half4 frag(Varyings i) : SV_Target
- {
- half4 col = tex2D(_MainTex, i.uv);
- return lerp(col, _Color, 0.8);
- }
- ENDHLSL
- }
-
- }
-
- Fallback "Custom/NewSurfaceShader"
-
- }
继续!!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。