Unity可视化Shader工具ASE介绍——2、ASE的Shader创建和输入输出

  大家好,我是阿赵,这里继续介绍Unity可视化写Shader的ASE插件的用法。上一篇介绍了ASE的安装和编辑器界面分布,这一篇主要是通过一个简单的例子介绍shader的创建和输入输出。

一、ASE的Shader创建

在这里插入图片描述

  这里先选择Surface类型的Shader,然后输入Shader的名字。
在这里插入图片描述

  创建后,会自动打开ASE的节点编辑器。如果不小心关掉了,可以找到Shader或者材质球,点击Open in Shader Editor按钮,就能重新打开节点编辑器。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

  这时候会看到,在节点编辑区域里面,只有一个和Shader名字一样的节点。这个是输出节点。

二、Shader的输入和输出

  为了测试刚刚创建的Shader,所以需要一个模型来显示,我这里使用了ASE自带的一个模型。然后新建一个材质球,使用刚刚创建的那个Shader,并且把材质球赋予给模型。
在这里插入图片描述

  这时候会看到,模型是一片漆黑。
  这里需要理解一个基本的概念。一个Shader,最终会输出什么内容,都是定义在输出节点上面的。这个输出节点对应的是Surface类型Shader,所以包含了Surface类型Shader的所有输出项。
  这里我简单的添加一个叫做mainColor的颜色节点(快捷键是按着键盘上的数字5 ,然后鼠标左键点击),然后把它拖到输出节点的Emission节点,并且点保存。
在这里插入图片描述

  这时候,可以看到场景里面的模型变成了我们指定的白色了。
在这里插入图片描述

  如果把颜色节点的类型改成Property,再保存
在这里插入图片描述

  会发现在材质球上面多了一个可以编辑的颜色。
在这里插入图片描述

  修改这个颜色,模型的颜色也跟着变化了。
在这里插入图片描述

  这里修改节点类型为Property,就是把这个变量变成公共变量,可以由外部编辑。
  选择输出节点,然后在左边的属性栏拉到最下面,会看到有一个材质属性列表,里面就有所有已经变成公共变量的属性了。
在这里插入图片描述

  下面换一下节点,做出其他效果。先删除了之前的mainColor颜色节点,然后创建两个贴图节点(快捷键是按着键盘的t,然后鼠标左键点击),一个是漫反射贴图,叫做mainTex,另一个是法线贴图,叫做normalTex。
在这里插入图片描述

  选择其中normalTex节点,然后在属性栏里面勾选Unpack Normal Map。
在这里插入图片描述

  接下来把mainTex节点连接到输出节点的Albedo节点,把normalTex节点连接到输出节点的Normal节点。保存shader。
在这里插入图片描述

  可以看到现在材质球上面多了2个可以编辑的贴图。我这里找了一张岩石的漫反射贴图和法线贴图,分别赋予给两个贴图。
在这里插入图片描述

  现在看模型的效果:
在这里插入图片描述

  模型上已经有了岩石的纹理,还有法线的凹凸效果了。
  再来看看输出节点的属性栏。这个时候最下面的材质属性,就变成了mainTex和normalTex了。
在这里插入图片描述

三、总结

  从这一个很小的例子里面,我演示了ASE最简单的创建Shader,并且赋予Shader的颜色或者贴图属性的操作。从例子可以看出ASE的操作非常简单,出效果也非常的快。
  一个Shader,简单来说,分为了输入和输出2个部分。每一个Shader最少会有一个固定的输出节点。而输入部分,就是材质的属性了,根据自己的需要,可以定义颜色、数值、贴图等的参数作为输入。
  不过这个例子还是很简单,固定的使用了Surface类型的shader,然后也只是单纯的把输入节点连接到输出节点,中途没有经过任何的计算。以后再继续深入的介绍。

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

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

相关文章

Java高级之反射

关于反射的举例: 示例代码:Fan.java package testFanShe;/*** author: Arbicoral* Description: 测试反射:* 成员变量:2个public,2个private* 构造器:4个public&#x…

Glide源码分析

一,Glide一次完整的加载流程 下面的流程图是一次完整的使用Glide加载图片流程,时序图 二,Glide重要的类图 三,Glide加载图片 流程图

【软件工程_UML—StartUML作图工具】startUML怎么画interface接口

StartUML作图工具怎么画interface接口 初试为圆形 ,点击该接口在右下角的设置中->Format->Stereotype Display->Label,即可切换到想要的样式 其他方式 在class diagram下,左侧有interface图标,先鼠标左键选择&#xff0…

氟化钙光学窗口保护镜片 光学元件红外测温窗口保护片

氟化钙光学窗口保护镜片 光学元件红外测温窗口保护片 常见镜片材料 特此记录 anlog 2023年10月7日

大语言模型之十四-PEFT的LoRA

在《大语言模型之七- Llama-2单GPU微调SFT》和《大语言模型之十三 LLama2中文推理》中我们都提到了LoRA(低秩分解)方法,之所以用低秩分解进行参数的优化的原因是为了减少计算资源。 我们以《大语言模型之四-LlaMA-2从模型到应用》一文中的图…

windows内核编程(2021年出版)笔记

1. Windows内部概览 1.1 进程 进程包含以下内容: 可执行程序,代码和数据私有的虚拟地址空间,分配内存时从这里分配主令牌,保存进程默认安全上下文,进程中的线程执行代码时会用到它私有句柄表,保存进程运…

QT实现tcp服务器客户端

服务器.cpp #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this);//实例化一个服务器server new QTcpServer(this);// 此时,服务器已经成功进入监听状态…

DirectX12_Windows_GameDevelop_3:Direct3D的初始化

引言 查看龙书时发现,第四章介绍预备知识的代码不太利于学习。因为它不像是LearnOpenGL那样从头开始一步一步教你敲代码,导致你没有一种整体感。如果你把它当作某一块的代码进行学习,你跟着敲会发现,总有几个变量是没有定义的。这…

Linux系统及Docker安装RabbitMq

目录 一、linux系统安装 1、上传文件 2、在线安装依赖环境 3、安装Erlang 4、安装RabbitMQ 5、开启管理界面及配置 6、启动 7、删除mq 二、docker安装 1、上传mq.tar包或使用命令拉取镜像 2、启动并运行 3、访问mq 一、linux系统安装 1、上传文件 2、在线安装依赖环…

3. 无重复字符的最长子串(枚举+滑动窗口)

目录 一、题目 二、代码 一、题目 力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 二、代码 class Solution { public:int lengthOfLongestSubstring(string s) {int _MaxLength 0;int left 0, right 0;vector<int>hash(128, 0);//ASCII…

Qt扫盲-QTreeView 理论总结

QTreeView 理论使用总结 一、概述二、快捷键绑定三、提高性能四、简单实例1. 设计与概念2. TreeItem类定义3. TreeItem类的实现4. TreeModel类定义5. TreeModel类实现6. 在模型中设置数据 一、概述 QTreeView实现了 model 中item的树形表示。这个类用于提供标准的层次列表&…

C#上位机——根据命令发送

C#上位机——根据命令发送 第一步&#xff1a;设置窗口的布局 第二步&#xff1a;设置各个属性 第三步&#xff1a;编写各个模块之间的关系

第九课 排序

文章目录 第九课 排序排序算法lc912.排序数组--中等题目描述代码展示 lc1122.数组的相对排序--简单题目描述代码展示 lc56.合并区间--中等题目描述代码展示 lc215.数组中的第k个最大元素--中等题目描述代码展示 acwing104.货仓选址--简单题目描述代码展示 lc493.翻转树--困难题…

OMV6 安装Extras 插件失败的解决方法

# Time: 2023/10/07 #Author: Xiaohong # 运行环境: OS: OMV6 # 功能: 安装Extras 插件失败的解决方法 问题描述&#xff1a;OMV6 安装插件omv-extras&#xff0c;只能按如下提示的命令行&#xff0c;但安装过程中&#xff0c;会提示raw.githubusercontent.com 无法访问插…

抖音账号矩阵系统开发源码----技术研发

一、技术自研框架开发背景&#xff1a; 抖音账号矩阵系统是一种基于数据分析和管理的全新平台&#xff0c;能够帮助用户更好地管理、扩展和营销抖音账号。 抖音账号矩阵系统开发源码 部分源码分享&#xff1a; ic function indexAction() { //面包屑 $breadc…

【QT5-程序控制电源-RS232-SCPI协议-上位机-基础样例【1】】

【QT5-程序控制电源-RS232-SCPI协议-上位机-基础样例【1】】 1、前言2、实验环境3、自我总结1、基础了解仪器控制-熟悉仪器2、连接SCPI协议3、选择控制方式-程控方式-RS2324、代码编写 4、熟悉协议-SCPI协议5、测试实验-测试指令&#xff08;1&#xff09;硬件连接&#xff08;…

再来介绍另一个binlog文件解析的第三方工具my2sql

看腻了文字就来听听视频演示吧&#xff1a;https://www.bilibili.com/video/BV1rp4y1w74B/ github项目&#xff1a;https://github.com/liuhr/my2sql gitee链接&#xff1a;https://gitee.com/mirrors/my2sql my2sql go版MySQL binlog解析工具&#xff0c;通过解析MySQL bin…

8.2 JUC - 4.Semaphore

目录 一、是什么&#xff1f;二、简单使用三、semaphore应用四、Semaphore原理 一、是什么&#xff1f; Semaphore&#xff1a;信号量&#xff0c;用来限制能同时访问共享资源的线程上限 二、简单使用 public class TestSemaphore {public static void main(String[] args) …

H桥级联型五电平三相逆变器Simulink仿真模型

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

我写过的最蠢的代码

目录 前言正文蠢代码 - 1蠢代码 - 2蠢代码 - 3提醒&#xff01; 蠢代码 - 4 总结 前言 每个人的身上都有毛毛 每个人的代码有些十分蠢&#xff0c;正巧&#xff0c;我也有&#xff01; 一看到CSDN的活动《你写过的最蠢的代码是&#xff1f;》&#xff0c;我立刻想要参加来告诉…