Unity | Shader基础知识(什么是shader)

这篇具有很好参考价值的文章主要介绍了Unity | Shader基础知识(什么是shader)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 一、什么是Shader?

Shader的中文名叫着色器。

二、什么是着色器?

着色器的作用:这个世界是3D的,包括在Unity的场景中,我们建的球球,方块块之类的,都是3D的,但是,屏幕是2D的,把3D的东西,通过颜色的汇总,显示在2D的屏幕上。

三、颜色是怎么汇总的?

想知道颜色是怎么合到一起的,我们就找个图片,把它拆开看。

因为世界上所有的颜色,都可以通过三种颜色(红绿蓝)组合出来。

所以我们也把图片拆成这三种颜色。

1.拆图片

所有图片都是由四部分组成

R 红色、G 绿色、B 蓝色、A 透明

比如下面这个图:

 shader,unity,游戏引擎

R(红色)的部分:

shader,unity,游戏引擎

G(绿色)的部分:

shader,unity,游戏引擎

B(蓝色)的部分:

shader,unity,游戏引擎

A(透明)的部分:

shader,unity,游戏引擎

这里解释一下A:

A的意思是黑色的部分就没有图片,是透明的,就是图中的

shader,unity,游戏引擎

白色的部分就是图片可以显示,有什么图片就显示什么图片

总结一下就出现了经典的话:黑透白不透

2.颜色组合 

我们每个位置,把这四种组合起来,就能出现不同的颜色(如下)

shader,unity,游戏引擎

然后,把想要的颜色,上到屏幕上指定的位置,就变成了我们想要的图案。

 四、图片是怎么动起来的?

1.举个例子

shader,unity,游戏引擎

 上面的圆形,就是不停的换显示的图片。

这里还不理解,可以看下面的链接

【手翻书】悲伤的小人_哔哩哔哩_bilibili

2.对于着色器来说

每张图片,对着色器来说,就是把颜色显示在不同的地方。

所以,对着色器来说,让图片动起来,就是改变颜色原本的位置。

所以,如果我们希望火焰上下动起来,我们只需要改其中一个颜色的位置。

因为火焰是红色为主的,所以改红色效果会最明显。

那么我们让火焰R图(如下图)的透明框一会变大一会变小,那显示的火焰就会一会大一会小。

shader,unity,游戏引擎

还可以左右改变位置:比如我们让其他图继续严丝合缝的拼,但是把上图循环的从居中位置,往左偏一点,那火焰的颜色就会改变,右边被移开的一小部分就没有红色了,左边因为红色位置改变了,和之前的颜色颜色就会有改变,就会出现一些动态的效果。

真正的火焰燃烧时,每个位置的颜色不可能都一直保持一致,一会黄一会红,才有烧的感觉,这种情况就让红色错位就能做到了

五、着色的分类

1.顶点着色器

下图是一个颜色渐变的线,在画这个线的时候,我们一般只管点(箭头指的)的颜色,中间的颜色就是根据情况过度过去的。

shader,unity,游戏引擎

结论:知道两个点的颜色,可以填出一个线的颜色。

2.几何着色器

下图是一个渐变的面,当我们用顶点画出了渐变的线,渐变的线和线之间,就可以填出渐变的面。

shader,unity,游戏引擎shader,unity,游戏引擎

结论:得到渐变的线,就可以填出渐变的面。

3.细分着色器

我们往往不是做特别简单的一个面,我们可能做圆的,弧面,歪七扭八的,这时候,我们需要进一步让这个面更像我们希望的样子,就用这个着色器。

 4.像素着色器

 到了上一步,物体基础的颜色,已经出现了,但是,物体会在不同的环境下,收到反光,太阳,等其他颜色的影响,可以理解为几个颜色融合到一起,这时候就用到了像素着色器。

5.上色步骤汇总

shader,unity,游戏引擎

这些个步骤放一起,也叫shader,毕竟他们只是为了一种东西染色。

 六、Unity当中我们使用的着色器

1.多个一套着色器

首先,不同的物体会用不同的着色器。

比如,石头用石头的着色器,水面有水面的着色器,可以想象,一个场景里会有很多个着色器(shader),那么,unity不可能把所有shader都收录进来,那软件得多大,所以,unity就给他收集了一部分帮助大家日常使用。

那么这些好多个shader在一起,起了个名字叫做渲染管线。

举个例子:一个美女叫美女,好多个美女在一起,有可能叫女团。

 2.unity当中的渲染管线

unity的考虑:

a.我们既然放了一些shader,所以你们可以考虑只用我们的shader。

b.如果你对我们的shader不满意,那么你可以自己建立shader。

c.如果你不光不满意我们的shader,你还觉得清晰度不够,那么我们不光让你自己建,我还能让你超高清。

备注:为啥不直接用c呢,看着就知道c好,啥都有。但是c大呀,就为啥有大小不一样的杯子,你不能办公室喝水,抱个水桶干吧。

所以unity就开了不同种的渲染管线,让你自己选择。

分别叫做:

shader,unity,游戏引擎

七、其他相关知识 

着色器和材质的关系:

Unity | Shader(着色器)和material(材质)的关系-CSDN博客 文章来源地址https://www.toymoban.com/news/detail-554912.html

到了这里,关于Unity | Shader基础知识(什么是shader)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Unity中Shader的PBR的基础知识与理论

    Unity中Shader的PBR的基础知识与理论 PBR(Physically Based Rendering),中文译为基于物理的渲染 PBR是一种渲染方式 ,是使用基于物理原理和微微、平面理论的光照模型,以及使用从现实中测量的表面参数来准确表示真实世界材质的渲染理念 PBR是一系列技术的集合 ,包含GI、PBS等。 P

    2024年04月26日
    浏览(28)
  • Unity编写Shader基本知识

    返回目录 大家好,我是阿赵。 这里通过手写一个最简单的shader,来介绍一下在Unity里面编写Shader的一些基础知识。 新建一个shader,把里面的内容都删掉,然后输入下面这些内容 可以发现,现在这个Shader就已经能运作了,新建一个材质球,使用刚才写的shader,然后赋给一个

    2024年02月07日
    浏览(30)
  • 【Unity Shader】从入门到感慨(1)基本概念:什么是网格?什么是材质和Shader?

    如上图,模型的三角形面就叫做网格(Mesh),网格的本质是一堆顶点数据的规则排序,在Unity和UE中由三角形表示,Maya等DCC软件(Digital Content Creation)中则通常由四边形表示(俩个三角形刚好组成一个四边形)。 在Unity中我们新建一个Cube,

    2024年02月11日
    浏览(27)
  • 【Unity Shader】从入门到领悟(1)基本概念:什么是网格?什么是材质和Shader?

    如上图,模型的三角形面就叫做网格(Mesh),网格的本质是一堆顶点数据的规则排序,在Unity和UE中由三角形表示,Maya等DCC软件(Digital Content Creation)中则通常由四边形表示(俩个三角形刚好组成一个四边形)。 在Unity中我们新建一个Cube,

    2024年02月06日
    浏览(34)
  • 【Unity Shader】从入门到着魔(1)基本概念:什么是网格?材质?Shader?

    如上图,模型的三角形面就叫做网格(Mesh),网格的本质是一堆顶点数据的规则排序,在Unity和UE中由三角形表示,Maya等DCC软件(Digital Content Creation)中则通常由四边形表示(俩个三角形刚好组成一个四边形)。 在Unity中我们新建一个Cube,

    2024年02月09日
    浏览(30)
  • Unity Shader 入门(零基础到敢上手敲Shader)

    目录  创建Shader 一.Standard Surface Shader 二.Unlit Shader 三.Image Effect Shader 四.Compute Shader 五.Ray Tracing Shader 着色器语言 Shader默认代码格式和一些常用API讲解 标准表面着色器,它是一种基于物理的着色系统,可以理解为 它是通过对物理现象的简单模拟,可以实现生活中各种物品的效

    2024年02月04日
    浏览(31)
  • Unity ShaderGraph教程——基础shader

     1.基本贴图shader:   基础贴图实现:主贴图、自发光贴图、光滑度贴图、自发光贴图(自发光还加入了颜色影响和按                              钮开关). 步骤:最左侧操作组——新建texture2D——新建sample texture 2D承接图片,转接到fragment片元着色器 颜色的rgb的每个值

    2024年02月10日
    浏览(29)
  • Unity Shader学习1:基础光照模型

    Phong光照模型 是描述物体的直接光照的简易模型,它认为从物体出发进入摄像机的光由四部分组成: 自发光(emissive),环境光(ambient),漫反射(diffuse),高光(specular)。 c = c e m i s s i v e + c a m b i e n t + c d i f f u s e + c s p e c u l a r c = c_{emissive} + c_{ambient} + c_{diffuse} + c_

    2024年02月03日
    浏览(36)
  • Unity Shader入门精要 第六章——Unity中的基础光照

    目录 一、标准光照模型(Phong光照模型) 1、环境光  2、自发光 3、漫反射 4、高光反射 (1)Phong模型 (2)Blinn模型 5、光照模型实现方法——逐顶点和逐像素 二、Unity Shader 漫反射光照模型的实现 1、实践:逐顶点 2、实践:逐像素 3、半兰伯特模型 4、漫反射光照模型效果展

    2024年02月04日
    浏览(40)
  • 【unity shader】水体渲染基础-水下透视效果

    接下来是水体渲染基础的最后一篇,通过水面看到水下的物体,并呈现深度效果。 我们直接搭一个小场景。 增加水面,赋予uv变形的水面材质,并增加透明度的设置。 水体会吸收光线,所以真实的水体并不是完全透明的。此外,水体对不同频率的光吸收率不同,蓝光被吸收

    2024年03月14日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包