当前位置:   article > 正文

Unity2023.1.19_ShaderGraph节点说明以及使用技巧_shadergraph快捷键

shadergraph快捷键

Unity2023.1.19_ShaderGraph节点说明以及使用技巧

目录

Unity2023.1.19_ShaderGraph节点说明以及使用技巧

1. 快捷键Ctrl+G完成和UE蓝图使用快捷键C一样的蓝图分组注释效果:

2. Tiling And Offset:

3. 以下是两组URP材质渲染的效果对比:

4.  打开Frame Debugger

5. 三种Shader编程语言:

基于OpenGL的OpenGL Shading Language,缩写GLSL;

基于DirectX的High Level Shading Language,缩写HLSL;

基于NVIDIA的C for Graphic,缩写CG;

着色器渲染管线兼容性(重点就是URP、HDRP支持HLSL语言,不支持CG语言,URP项目的渲染选择最好就是HLSL):

 VS Studio-ShaderlabVS插件 

6. 贴段HLSL代码:


1. 快捷键Ctrl+G完成和UE蓝图使用快捷键C一样的蓝图分组注释效果:

2. Tiling And Offset:

 

3. 以下是两组URP材质渲染的效果对比:

左边为:unlit URP,右边为lit URP;

无光照的渲染更加均匀一致,光照渲染更加真实,可以增加修改的预设参数也更多。

4.  打开Frame Debugger

5. 三种Shader编程语言:

  • 基于OpenGL的OpenGL Shading Language,缩写GLSL;
  • 基于DirectX的High Level Shading Language,缩写HLSL;
  • 基于NVIDIA的C for Graphic,缩写CG;
  • 着色器渲染管线兼容性(重点就是URP、HDRP支持HLSL语言,不支持CG语言,URP项目的渲染选择最好就是HLSL):

 

  •  VS Studio-ShaderlabVS插件 

6. 贴段HLSL代码:

  1. // 当前Shader在材质面板下拉列表的路径和名字
  2. Shader "Unlit/NewUnlitShader"
  3. {
  4. Properties
  5. {
  6. //变量名(显示名称,类型) = 默认值
  7. _MainTex ("Texture", 2D) = "white" {}
  8. _MainTexArr("TextureArr", 2DArray) = "white" {}
  9. _Color("Color", Color) = (1,1,1,1)
  10. _Int("Int",Int) = 2 //整形
  11. _Float("Float",float) = 1.5 //浮点型
  12. _Range("Range",range(0.0,2.0)) = 1.0 //范围值
  13. _Vector("Vector",Vector) = (1,4,3,8) //向量
  14. //_MainTex("Texture", 2D) = "white" {} //贴图
  15. //_Color("Color",Color) = (1,1,1,1) //颜色
  16. _Cube("Cube",Cube) = "white"{} //天空盒
  17. _CubeArray("CubeArray",CubeArray) = "white"{}
  18. _3D("3D",3D) = "black"{} //3D贴图
  19. }
  20. SubShader
  21. {
  22. Tags
  23. {
  24. "RenderType" = "Opaque"
  25. }
  26. //"Queue" = "Transparent" //渲染顺序
  27. //"RenderType" = "Opaque" //着色器替换功能
  28. //"DisableBatching" = "True" //是否进行合批
  29. //"ForceNoShadowCasting" = "True" //是否投射阴影
  30. //"IgnoreProjector" = "True" //受不受Projector的影响,通常用于透明物体
  31. //"CanUseSpriteAltas" = "False" //是否用于图片的Shader,通常用于UI
  32. //"PreviewType" = "Plane" //用作shader面板预览的类型
  33. LOD 100
  34. Pass
  35. {
  36. //Name "ExamplePassName"
  37. //Tags {
  38. // "ExampleTagKey" = "ExampleTagValue"
  39. //}
  40. 此处是 ShaderLab 命令。
  41. 此处是 HLSL 代码。
  42. HLSLPROGRAM
  43. #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
  44. #pragma vertex vert
  45. #pragma fragment frag
  46. struct Attributes
  47. {
  48. float4 positionOS : POSITION;
  49. float2 uv : TEXCOORD0;
  50. };
  51. struct Varyings
  52. {
  53. float4 positionCS : SV_POSITION;
  54. float2 uv : TEXCOORD0;
  55. };
  56. float4 _Color;
  57. sampler2D _MainTex;
  58. float4 _MainTex_ST;
  59. Varyings vert(Attributes v)
  60. {
  61. Varyings o = (Varyings)0;
  62. VertexPositionInputs vertexInput = GetVertexPositionInputs(v.positionOS.xyz);
  63. o.positionCS = vertexInput.positionCS;
  64. o.uv = TRANSFORM_TEX(v.uv, _MainTex);
  65. return o;
  66. }
  67. half4 frag(Varyings i) : SV_Target
  68. {
  69. half4 col = tex2D(_MainTex, i.uv);
  70. return lerp(col, _Color, 0.8);
  71. }
  72. ENDHLSL
  73. }
  74. }
  75. Fallback "Custom/NewSurfaceShader"
  76. }

 继续!!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/580728
推荐阅读
相关标签
  

闽ICP备14008679号