Unity | Shader(着色器)和material(材质)的关系

一、前言

在上一篇文章中

【精选】Unity | Shader基础知识(什么是shader)_unity shader_菌菌巧乐兹的博客-CSDN博客

我们讲了什么是shader,今天我们讲一下shder和material的关系

二、在unity中shader的本质

unity中,shader就是一串代码,如下图shader(就是一个平平无奇的shader)

但是,这个shader可以被打开,点击open

打开后如下,这里不用了解太多,你就知道,这是一篇代码

所以,从最本质上,shader就是一大堆的代码

三、shader代码的作用

这些代码的主要作用,就是从公式的角度上,先写出来,颜色的工作流程,在什么情况下,显示什么,有什么可以调节的方式,有什么可以调节的地方等等。

(咱们不要纠结它是怎么写的,这个可以具体去学shader语法)

但是,这些只是理论

例如:我写“我在一块白布上,先照红色的光,再照绿色的光,你就会看见一个黄色的布”

这只是我写在这的,没有人真的拿光去照,所以你也看不见“黄色的布”

四、material(材质)来了

材质其实就是一个小的调色盘(试验品),它把shader写的这些代码上,按流程一个一个的操作出来,让他显示出来。

这是一个平平无奇的Material

黄色的框里面,是让你选,你打算在这个实验体上,用哪个shader(脚本流程)来实验它的效果。

下面这个绿框,就是,你放上了你的shader,确定好了你的调节比例(就是上面有些可以调节的数据)。之后,这个调色盘(实验体),会变成什么样。

五、material(材质)的使用

我们在unity当中,随便建一个在scene场景中能看见的物体(透明物体也属于能看见的,因为可以调的能看见嘛),只有能看见的物体需要上色,你都看不见,你也没必要上色。

我在这里建了一个Cube。

这些物体都会有能放材质球的地方,换句话说,这些物体,都可以用你想要的样子上色。

例:

六、materials(多材质)的使用

我们看见,有些时候这里可以放好多个材质球

理解了上面的,材质球就像调色盘,后面就好理解了。

有些模型是希望你在不同部位上不同颜色的,所以,有些模型支持你放好多,有些不支持。

如果我们染色的物体,支持你在不同的部位,使用不同的materials(染不同的颜色),那么这里就是有用的。

便于理解的例子(模型支持):

如果你不支持,比如我刚建的cube就只支持一个materials,那么你无论加几个,也就一个颜色。

便于理解的例子(模型不支持):

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

pip无法下载moviepy -无法联网

猜测是无法联网 尝试更新匹配 ——失败 尝试1:从网络下载whl文件——还需要下载相关依赖,过于麻烦 但应该可行 下载地址 https://pypi.tuna.tsinghua.edu.cn/simple/对应的包名/ 可能会出现如下,然后继续挨个找 尝试2:使pip联网…

RabbitMQ的高级特性

目录 数据导入 MQ的常见问题 消息可靠性问题 生产者确认机制 SpringAMQP实现生产者确认 消息持久化 消费者消息确认 失败重试机制 消费者失败消息处理策略 死信交换机 TTL 延时队列 待更 数据导入 资料下载地址:day05MQ高级 MQ的常见问题 消息可靠性…

关于卷积神经网络的池化层(pooling)

了解池化层 池化层又称“下采样层”或“子采样层”,池化层可以大大降低特征的维度,减少计算量,同时可以避免过拟合问题。 顾名思义,最大池化层就是从输入的矩阵中某一范围内,选择最大的元素进行保留;平均池…

ThreadLocal原理以及内存泄露问题

1、ThreadLocal实现原理 1、每个线程中有一个ThreadLocalsMap,这是一个哈希表的结构里面有很多entry(也就是k-v),当我们使用ThreadLocal进行set值的时候,会将这个threadLocal设置为key,然后值设置为value放入ThreadLocalsMap,key为弱引用&am…

Python爬虫实战-批量爬取美女图片网下载图片

大家好,我是python222小锋老师。 近日锋哥又卷了一波Python实战课程-批量爬取美女图片网下载图片,主要是巩固下Python爬虫基础 视频版教程: Python爬虫实战-批量爬取美女图片网下载图片 视频教程_哔哩哔哩_bilibiliPython爬虫实战-批量爬取…

兴达易控232转profinet在搅拌站使用案例配置案例

该搅拌站所采用的是双行星动力搅拌桨混合机,借助兴达易控232转profinet网关(XD-PNR200)与PLC和变频器进行通信,从而实现对变频器的精确控制,大大提升了搅拌过程的稳定性和效率。 这一方案还具备高度的灵活性和可扩展性,使得搅拌站…

HashMap源码分析(一)

存储结构 说明:本次讲解的HashMap是jdk1.8中的实现,其他版本可能有差异 内部是由Node节点数组组成,Node节点之间又由链表或红黑树组成。 图是网上找的,实在不想画 属性介绍 //存储数据的数组,初次使用时初始化&…

CocosCreator让一个物体跟随鼠标移动(两种方式 本地坐标系和世界坐标系)

在 Cocos Creator 3.x 游戏运行时显示的画布大小就是屏幕区域,屏幕坐标是从画布的左下角为原点开始计算 在 Creator 3.x 里,屏幕和 UI 是完全区分开的,用户可以在没有 UI 的情况下点击屏幕获取触点信息。因此,获取屏幕触点&#…

mac M2 anaconda 解决装不了python3.7

今天发现一个很奇怪的问题 但是我一换成 conda create -n DCA python3.8.12就是成功的 这个就很奇怪, 解决如下 https://towardsdatascience.com/how-to-manage-conda-environments-on-an-apple-silicon-m1-mac-1e29cb3bad12 998 conda search pythonconda search python …

半导体(芯片)制造工艺流程简单说

半导体行业是国民经济支柱性行业之一,是信息技术产业的重要组成部分,是支撑经济社会发展和保障国家安全的战略性、基础性和先导性产业,其发展程度是衡量一个国家科技发展水平的核心指标之一,属于国家高度重视和鼓励发展的行业。 …

ant design pro of vue怎么使用阿里iconfont

一 使用离线iconfont 首先需要生成图所有图标对应的js文件。如下图所示,将生成的js代码复制,在项目中创建一个js文件,将代码粘贴进去。这里我将js文件放在了src/assets/iconfont下面 然后,在main.js中引入文件,并进…

Java代码是怎么运行的?

Java代码是怎么运行的? 运行流程 将Java程序转换成Java虚拟机所能识别的指令序列,也称Java字节码。之所以这么取名,是因为Java字节码指令的操作码(opcode)被固定为一个字节。 Java虚拟机可以由硬件实现,…

IP协议相关技术

文章目录 IP协议相关技术仅凭IP无法完成通信DNSARP IP协议相关技术 仅凭IP无法完成通信 人们在上网的时候其实很少直接输入某个具体的IP地址。 在访问Web站点和发送、接收电子邮件时,我们通常会直接输入Web网站的地址或电子邮件地址等那些由应用层提供的地址&…

麒麟v10 安装jenkins

1.想安装哪个版本? https://pkg.jenkins.io/redhat-stable/ 我们查看我们想要哪个版本: 4年前安装的是 Jenkins2.279 版本 现在在docker 上安装的是Version 2.425 版本 2.碰到到的问题 1.安装老版本的Jenkins,会出现安装的插件不兼容&…

viple入门(四)

(1)行打印 主要用于在运行窗口中显示数据,打印完成后,自动换行。 注意事项:不可同时打印两个数据,例如 解决方案1:使用或并,使得每次进入行打印的数据只有一个,缺点&am…

文件管理技巧:如何利用文件名关键字进行整理

在日常生活和工作中,我们经常需要处理大量的文件,这些文件可能包含各种类型的信息,如文本、图像、视频、音频等。如何有效地管理和整理这些文件,以便我们能够快速找到所需的文件,是一个非常重要的问题。本文将介绍一种…

Linux shell编程学习笔记22: () $() (()) 的用法小结

最近学习Linux Shell编程,对 () (()) [] [[]]等符号的用法还是有点分不太清楚,于是决定再梳理一下。今天先整理 () $() (()) 的用法。 1 单小括号() 1.1 子shell(命令组) 括号中的命令将会新开一个子shell顺序执行,所…

用vite搭建一个vue3 + ts项目

搭建项目 参考连接https://www.jianshu.com/p/1ce93c7e15a0 练手项目参考 https://www.xuexiluxian.cn/ 1.安装pina vue3 pinia的安装和使用 2.安装router npm install vue-router -S Vue3: Vue-router路由的使用

什么是跨境电商独立站?有什么优势和劣势?

你是否有过这样的经历:当你在网上浏览一些商品时,发现有些网站的域名很奇怪,比如.com、.net、.co等,而且网站的界面和设计也和国内的电商平台不太一样。 你可能会好奇,这些网站是什么?它们是怎么做的&…

学习笔记|Pearson皮尔逊相关系数|Spearman斯皮尔曼相关系数|和Kendall肯德尔tau-b相关系数|分析流程|-SPSS中双变量相关性分析系数

目录 学习目的软件版本原始文档基础概念皮尔逊相关系数基本假设(适用条件):系数的范围及意义实例1. 读数据:2.正态性检验:3.异常值检验(体重):4.分析: 斯皮尔曼相关系数基…