我的编程空间,编程开发者的网络收藏夹
学习永远不晚

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

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

详解Unity中的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使用内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

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

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

下载Word文档

猜你喜欢

Android入门之IntentService的使用教程详解

IntentService的生命周期中有一个非常好的方法-onHandleIntent方法,它是一个abstract方法,开发者在实现IntentService时可以覆盖它来处理“长事务”。本文就来聊聊IntentService的使用,需要的可以参考一下
2022-12-08

linux中gdb的入门使用教程

前言 gdb是linux下非常好用的一个调试工具,虽然它是命令行模式的调试工具,但是它的功能强大到你无法想象,这里简单介绍下gdb的使用方法,需要的朋友们下面来一起看看详细的介绍吧。 断点在代码的指定位置中断,使程序在此中断。break <
2022-06-04

ant使用指南详细入门教程

Ant是一个用于构建Java项目的构建工具,它可以自动化构建、编译、测试和部署Java项目。以下是一个详细的Ant入门教程:1. 安装Ant首先,您需要安装Ant。您可以从Ant的官方网站(http://ant.apache.org)下载最
2023-08-17

iOS中多线程的入门使用教程(Swift)

目录一、iOS的三种多线程技术 二、基本使用NSThread的基本使用NSOperation的基本使用GCD的基本使用总结一、iOS的三种多线程技术 1、NSThread –优点:NSThread 比其他两个轻量级,使用简单 –缺点:需要
2022-05-27

Android入门之ProgressBar的使用教程

Android里的ProgressBar默认为一个不断转圈的圆,它也可以自定义。这篇文章主要通过示例和大家介绍下ProgressBar的使用,感兴趣的可以了解一下
2022-11-13

Android入门之TextClock的使用教程

TextClock是在Android4.2(API17)后推出的用来替代DigitalClock的一个控件。本文将为大家详细说说TextClock的使用,感兴趣的小伙伴可以了解一下
2022-11-16

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录