iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >详解Unity中的ShaderGraph入门使用教程
  • 353
分享到

详解Unity中的ShaderGraph入门使用教程

2024-04-02 19:04:59 353人浏览 薄情痞子
摘要

一,ShaderGraph 简介 简介: Unity2018版本之后推出了一个可编程渲染管线工具ShaderGraph,让我们可以通过可视化界面拖拽来实现着色器的创建和编辑。 官方话

一,ShaderGraph 简介

简介:
Unity2018版本之后推出了一个可编程渲染管线工具ShaderGraph,让我们可以通过可视化界面拖拽来实现着色器的创建和编辑。

官方话术:

Shader Graph 使您能够直观地构建着色器。您无需编写代码,而是在图形框架中创建和连接节点。Shader Graph 提供反映您的更改的即时反馈,并且对于不熟悉着色器创建的用户来说非常简单。

Shader Graph 仅与可编写脚本的渲染管线 (SRP) 兼容,即高清晰度渲染管线 (HDRP) 和通用渲染管线 (URP)。这两个 SRP 在 Unity 2018.1 及更高版本中可用。传统的内置渲染管线不支持 Shader Graph。

Shader Graph是基于可编程流水线, 一种通过节点图的方式,来实现可视化的Shader的编程。
有了它之后我们就不用再编写大量的代码了,不用考虑语法和错误调试了。

使用版本:推荐使用Unity2019.1以上的版本。

二,ShaderGraph 导入

 2.1 现有工程导入

点击”windows“ --> ”Package Manager“ --> “Shader Graph” --> ”Install“ ,点击后等待导入完成即可:

同理在点击Package Manager面板找到 --> “Lightweight RP” 然后点击”Install“导入等待导入完成即可:

2.2 导入指定版本

使用2.1的方式添加,只能导入最新版本的插件,使用下面这个方式可导入一个指定版本:
打开工程目录,找到“Package Manager” 文件夹下的“manifest.JSON”文件,打开后添加:(注意要指定正确版本)

"com.unity.render-pipelines.lightweight": "7.5.3",
"com.unity.shadergraph": "7.5.3",

2.3 新工程导入

选择LWRP或者HDRP的话,会自动附带相关插件,并且Unity已经帮我们进行了工程基础配置,下面我们要说的工程基础配置:

三,ShaderGraph 配置

若你是以上面2.3新工程的形式创建的工程,则不需要进行下述配置

3.1 基本设置

通过菜单"Asset" --> “Create” --> “Rendering” --> “Universal Render Popeline” --> “Pipeline Asset(Forward Renderer)” 创建URP渲染管线配置

在2019.3版本之后,Unity将轻量渲染管线LWRP重命名为通用渲染管线URP。 所以虽然我们上面导入的是“Lightweight RP”包,但是这边创建的时候显示的是“Universal Render Pipeline”:

设置URP渲染管线配置到“Edit” --> “Project Setting” --> “Graphics” --> “Scriptable Render Pipeline Settings” 如下图所示:

3.2 创建ShaderGraph示例

在“Project”面板右键 --> “Create” --> “Shader” --> “Unlit Graph”; 这时我们可以看到Shader面板上多了几个后缀为Graph的选项:

选择我们创建一个“Unlit Graph”看下效果:

“双击” 就可打开我们创建“Unlit Shader Graph”的可编辑面板:


四,ShaderGraph 面板

 4.1 可编辑面板介绍

为了方便操作,此编辑面板支持多开,支持直接从其他面板上复制节点

主节点:决定着色器输出的最终连接:(所有节点经过计算后都必须连接到主节点上,才会得到应用)

预览界面:在这里“右键”,可随意旋转,缩放,以及替换网格:

黑板:在单个收集视图中包含所有着色器属性的区域。使用Blackboard 添加,删除,重命名和排序:(创建属性,然后拖拽到主编辑空白处,形成在材质球上可编辑公开属性)

创建节点:空白处“右键” --> “Create node” --> 选择要创建的节点:(可选择,可搜索找到要用的节点,子节点非常多,使用过程中慢慢累积)

编辑节点:创建了一个“Color” 节点,在节点上右键,可以看到复制,删除等操作信息

连接节点:单击节点右侧“Out”输出,拖拽到对应的输入上:


五,ShaderGraph 使用

5.1 创建UnlitGraph并创建贴图节点

在“Project”面板右键 --> “Create” --> “Shader” --> “Unlit Graph”; 详细图解创建步骤见上文3.2。

双击创建好的"Unlit Graph",打开编辑界面,空白处“右键” 选择 --> “Create Node” —-> 搜索框搜索“Texture” 点击创建“Sample Texture 2D”:

5.2 给贴图节点赋值并连接到主节点

将Texture节点的输出,拖拽到主节点的输入:

给Texture进行赋值:(和其他组件使用形式一样,点击“原点”选择Texture)

5.3 保存并使用ShaderGraph

点击面板左上角的“Save Asset”,进行保存

然后创建材质球,将其Shader 指定为刚刚保存的“UnlitShaderGraph”:(可直接拖拽赋值)

最后在场景中创建一个Cube,并将其材质球指定为刚创建的:(也可直接拖拽赋值)

这样就完成了一个Shader的从创建到应用整个流程啦~

5.4 公开属性使其在材质球上编辑

细心的你可能已经发现了,在上图材质球使用的贴图位置是不能进行修改的:

下面我们就将贴图属性公开为外部可修改的。

在“Blackboard”面板点击“+”号,添加"Texture 2D"属性,然后将其拖拽到空白编辑区域,最后将其输出节点连接到贴图输入节点上:

然后点击下右上角的“Save Asset”保存一下,再次点击到材质球上,就可以看到贴图位置是空的,并且是可修改的了:

六,ShaderGraph 总结

本文对ShaderGraph进行了简单介绍,使用时需要的工程配置,以及ShaderGraph的编辑面板操作,最后通过一个简单示例进行整体流程的梳理。

使用ShaderGraph前提条件:

导入ShaderGraph插件导入URP(通用渲染管线)或者HDRP(高清渲染管线)创建Pipeline Assets并配置到Graphics面板

完成上述准备工作,就可以愉快的使用ShaderGraph了。

到此这篇关于Unity 之 ShaderGraph入门使用详解的文章就介绍到这了,更多相关Unity ShaderGraph使用内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 详解Unity中的ShaderGraph入门使用教程

本文链接: https://www.lsjlt.com/news/129568.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 详解Unity中的ShaderGraph入门使用教程
    一,ShaderGraph 简介 简介: Unity2018版本之后推出了一个可编程渲染管线工具ShaderGraph,让我们可以通过可视化界面拖拽来实现着色器的创建和编辑。 官方话...
    99+
    2024-04-02
  • Unity中 ShaderGraph 实现超级炫酷的溶解效果入门级教程
    目录前言一,效果展示二,原理介绍三,实现效果四,使用示例五,完整图示前言 若你的工程还没有进行基础配置,请查看我的博文Unity 之 ShaderGraph入门使用详解,按照步骤操...
    99+
    2024-04-02
  • Unity中 ShaderGraph 实现旋涡传送门效果入门级教程(推荐)
    若你的工程还没有进行基础配置,请查看我的博文Unity 之 ShaderGraph入门使用详解,按照步骤操作完成配置即可,还能顺便学习一下基础操作流程哦~ 本文手把手教你制作旋涡效...
    99+
    2024-04-02
  • Android入门之IntentService的使用教程详解
    目录开篇IntentService课程目标代码核心设计service注册Service类-LongWaitingService主类-MainActivity.java运行效果开篇 在...
    99+
    2022-12-08
    Android IntentService使用 Android IntentService
  • Go中的gRPC入门教程详解
    目录Go GRPC 入门1,安装包2,gRPC 服务端3,gRPC 客户端4,编译运行5,其它GRPCProtobuf buffer字段类型字段规则ProtobufgRPC 四种服务...
    99+
    2024-04-02
  • Unity Blend Tree动画混合树使用入门教程
    介绍 在动画与动画的切换过程中,常因为两个动画之间的差距过大,而显得动画的切换很不自然。 这时候就需要动画混合树Blend Tree这个功能。使用混合树可以将多个动画混合在一起,例如...
    99+
    2024-04-02
  • SpringBoot入门教程详解
    目录一、SpringBoot简介二、SpringBoot入门案例1、创建项目2、编写 Controller 类3、启动项目4、使用 Postman 测试三、SpringBoot VS...
    99+
    2024-04-02
  • Redis入门教程详解
    目录Redis一、Redis基本数据结构1. 字符串 (String)2. 散列(hash)3. 列表(list)4. 集合(Set)5. 有序集合(sorted set)二、Red...
    99+
    2024-04-02
  • Android入门教程之RecyclerView的具体使用详解
    目录RecyclerView 的基本用法横向滚动RecyclerView 点击事件RecyclerView 的基本用法 和我们之前学习的控件不一样,RecyclerView 属于新增...
    99+
    2024-04-02
  • Android入门教程之ListView的具体使用详解
    目录ListView 的简单用法定制 ListView 的界面提升 ListView 的运行效率ListView 的点击事件ListView 的简单用法 在布局中加入 ListVie...
    99+
    2024-04-02
  • Android入门教程之Fragment的具体使用详解
    目录Fragment 的简单用法动态加载 FragmentFragment 实现返回栈Fragment 和 Activity 之间的交互Fragment 生命周期Fragment 的...
    99+
    2024-04-02
  • Burpsuite入门及使用详细教程
    目录1、简介2、标签3、操作1、简介 Burp Suite是用于攻击web应用程序的集成平台。它包含了许多工具,并为这些工具设计了许多接口,以促进加快攻击应用程序的过程。所有的工具都...
    99+
    2024-04-02
  • ant使用指南详细入门教程
    Ant是一个用于构建Java项目的构建工具,它可以自动化构建、编译、测试和部署Java项目。以下是一个详细的Ant入门教程:1. 安...
    99+
    2023-08-17
    ant
  • ReactJS入门实例教程详解
    目录一、ReactJS简介二、对ReactJS的认识及ReactJS的优点1、ReactJS的背景和原理2、组件化三、下载ReactJS,编写Hello,world四、Jsx语法五、...
    99+
    2024-04-02
  • Python入门教程之三元运算符的使用详解
    目录使用三元运算符的简单方法使用元组、字典和 lambda 的直接方法三元运算符可以写成嵌套的 if-else在三元运算符中使用打印功能要点三元运算符也称为条件表达式,是根据条件为真...
    99+
    2024-04-02
  • MQTT.js入门使用教程
    目录简介安装使用 npm 或 yarn 安装使用 CDN 安装全局安装使用简单例子命令行API 介绍mqtt.connect([url], options)Client 事件Clie...
    99+
    2023-05-16
    MQTT.js 入门 MQTT.js 入门教程 MQTT.js使用
  • swagger2和knife4j的详细使用教程(入门级)
    目录1、swagger介绍2、swagger常用注解3、 swagger入门案例4、knife4j介绍5、knife4j入门案例总结 入门级swagger2和knife4j...
    99+
    2024-04-02
  • Next.js入门使用教程
    目录简介创建Next.js项目 手动创建Next.js项目creact-next-app快速创建项目 Pages 路由 Link Router 参数传递与接收 动态路由 钩子事件 获...
    99+
    2024-04-02
  • springboot整合websocket最基础入门使用教程详解
    项目最终的文件结构 1 添加maven依赖 <dependency> <groupId>org.springframework.boot...
    99+
    2024-04-02
  • JSONWebToken(JWT)原理入门教程详解
    目录一、跨域认证的问题二、JWT 的原理三、JWT 的数据结构3.1 Header3.2 Payload3.3 Signature3.4 Base64URL四、JWT 的使用方式五、...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作