Unity2023.1.19_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代码:

// 当前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 100Pass{//Name "ExamplePassName"//Tags { //    "ExampleTagKey" = "ExampleTagValue" //}此处是 ShaderLab 命令。此处是 HLSL 代码。HLSLPROGRAM#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"#pragma vertex vert#pragma fragment fragstruct 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"}

 继续!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/260844.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

探索JDK8的新特性

1. JDK8简介 1.1 简述 Java 8由Oracle从2014年3月18日发布,此版本是自Java 5(发布于2004年)之后的一个重量级版本,也是java发展史上的一个里程碑式的版本。这个版本在JVM、编译器、库、Java语法特性等方面都做了很大改进&#x…

k8s除了可以直接运行docker镜像之外,还可以运行什么? springboot项目打包成的压缩包可以直接运行在docker容器中吗?

Kubernetes(k8s)主要设计用于自动部署、扩展和管理容器化应用程序。虽然它与Docker容器最为密切相关,Kubernetes实际上是与容器运行时技术无关的,这意味着它不仅仅能够管理Docker容器。Kubernetes支持多种容器运行时,包…

NestJS入门6:日志中间件

前文参考: NestJS入门1 NestJS入门2:创建模块 NestJS入门3:不同请求方式前后端写法 NestJS入门4:MySQL typeorm 增删改查 NestJS入门5:加入Swagger 1. 安装 nest g middleware logger middleware​ ​ ​ 2. lo…

深入理解java虚拟机---自动内存管理

2.2 运行时数据区域 Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而一直存在,有些区域则是依赖用户线程的启动和结束而建立和销…

BioTech - 大型蛋白质复合物的组装流程 (CombFold)

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/136187314 CombFold是用于预测大型蛋白质复合物结构的组合和分层组装算法,利用AlphaFold2预测的亚基之间的成对相互作用。CombFold的组…

亿道丨三防平板pad丨三防平板是指哪三防丨三防工业级平板电脑

三防工业级平板电脑成为许多行业中的重要工具。本文将介绍三防工业级平板电脑的特点以及其在各个领域中的广泛应用。 三防工业级平板电脑的特点 三防工业级平板电脑是指具备防水、防尘和防震功能的平板电脑。这些特点使得它们能够在恶劣环境中工作,如沙尘飞扬的工地…

SpringCloud-Nacos集群搭建

本文详细介绍了如何在SpringCloud环境中搭建Nacos集群,为读者提供了一份清晰而详尽的指南。通过逐步演示每个关键步骤,包括安装、配置以及Nginx的负载均衡设置,读者能够轻松理解并操作整个搭建过程。 一、Nacos集群示意图 Nacos&#xff0…

ctfshow MISC类部分wp

2023愚人杯 1. 阿尼亚哇库哇库 压缩包里两个文件: 阿尼亚哇库哇库!.doc 和 HINT.png 先看HINT.png,图片打不开 使用01打开: 发现文件头有问题,前几位修改为89 50 4E 47后,图片打开依然不正常。发现长高尺寸不对。用脚本根据CR…

滑动变阻器在电路中的连接方式有哪些?

滑动变阻器是可以改变电阻值的电子元件,广泛应用于各种电路中。在电路中,滑动变阻器的连接方式主要有以下几种: 1. 串联连接:滑动变阻器与被测电阻串联在一起,通过改变滑动变阻器的阻值来改变整个电路的总阻值。这种连…

linux---内存管理

一 虚拟内存 即使是现代操作系统中,内存依然是计算机中很宝贵的资源,看看你电脑几个T固态硬盘,再看看内存大小就知道了。 为了充分利用和管理系统内存资源,Linux采用虚拟内存管理技术,利用虚拟内存技术让每个进程都有…

Flume(二)【Flume 进阶使用】

前言 学数仓的时候发现 flume 落了一点,赶紧补齐。 1、Flume 事务 Source 在往 Channel 发送数据之前会开启一个 Put 事务: doPut:将批量数据写入临时缓冲区 putList(当 source 中的数据达到 batchsize 或者 超过特定的时间就会…

创新工作方式:低代码拖拉拽实现业务流程智能化

前言 “低代码”这个火热的概念在近些年来备受追捧,由此引发了业内关于其前景和应用范围的广泛热议。作为一种新兴的开发方式,低代码技术正在站在技术领域的风口浪尖,成为行业的一个重要趋势。它以其高效、灵活和可定制的特性,为…

机器人十大前沿技术(2023-2024年)

2023-2024年机器人十大前沿技术 1. 具身智能与垂直大模型 具身智能是指拥有自主感知、交互和行动能力的智能体,能够与环境进行实时互动,从而实现对环境的理解和适应。 “大模型”是指在深度学习和人工智能领域中,使用大量参数和数据进行训…

python自学...

一、稍微高级一点的。。。 1. 闭包(跟js差不多) 2. 装饰器 就是spring的aop 3. 多线程

解决ubuntu登录密码问题

解决ubuntu登录密码问题 不要随便删除密码,不要随便改密码,很容导致密码过期,或者密码无效。参考了很多人的做法,都没有得到解决。下面的过程,够详细了,我就是这么搞好的。 1、重启虚拟机,不停…

RMAN备份与恢复

文章目录 一、RMAN介绍二、全量备份三、增量备份0级备份1级增量备份累积性差量备份总结 四、压缩备份压缩备份介绍压缩备份操作压缩备份优缺点 五、异常恢复1、恢复前的准备2、恢复数据库 六、RMAN相关参数 一、RMAN介绍 RMAN(Recovery Manager)是Oracl…

react使用Map方法遍历列表不显示的问题

问题: 在最开始搭建选项卡的时候,我的js代码是这样的 import React, { Component } from react import ./css/02-maizuo.css export default class App extends Component {state {list: [{id: 1,text: 电影},{id: 2,text: 影院}, {id: 3,text: 我的}…

天锐绿盾|防泄密系统|计算机文件数据\资料安全管理软件

“天锐绿盾”似乎是一款专注于防泄密和计算机文件数据/资料安全管理的软件。在信息安全日益受到重视的今天,这样的软件对于保护企业的核心数据资产和防止敏感信息泄露至关重要。 通用地址:www.drhchina.com 防泄密系统的主要功能通常包括: 文…

【力扣白嫖日记】1965.丢失信息的雇员

前言 练习sql语句,所有题目来自于力扣(https://leetcode.cn/problemset/database/)的免费数据库练习题。 今日题目: 1965.丢失信息的雇员 表:Employees 列名类型employee_idintnamevarchar employee_id 是该表中具…

数据结构-邻接链表

介绍 邻接矩阵是运用较多的一种储存图的方法,但如果一张网图边数较少,就会出现二维矩阵中大部分数据为0的情况,浪费储存空间 为了避免空间浪费,也可以采用数组与链表结合的方式来存储图 假设有这样一张图 我们可以先用一个数组…