Unity3D】【Unity基础】unity着色器是什么,有什么作用?

2020-11-04 20:08发布

13条回答
天天
2楼 · 2020-11-05 09:18

着色器就是把贴图加工成材质的工具。首先,我们知道任何一个物体如果要有一些特殊的视觉效果,需要为其赋予材质(Material),而材质很多情况下是要有贴图(Texture)的,我们所讲的着色器(Shader)可以对Texture进行处理,使其被加工为最终符合要求的Material。


Ross
3楼 · 2020-11-06 14:13

着色器(Shader)是用来实现图像渲染的,用来替代固定渲染管线的可编辑程序。其中Vertex Shader主要负责顶点的几何关系等的运算,Pixel Shader主要负责片源颜色等的计算。

着色器替代了传统的固定渲染管线,可以实现3D图形学计算中的相关计算,由于其可编辑性,可以实现各种各样的图像效果而不用受显卡的固定渲染管线限制。


水默
4楼 · 2020-11-04 20:23

着色器本质上是一种运行在显卡 CPU 上的程序,用于控制显卡的图形渲染过程。CPU 运行的程序通常用汇编语言,或者 C++、Java 等高级语言编写。GPU 采用的是不同于 CPU 的并行计算结构,需要一种适用于 GPU 的编程语言,于是就有了着色器语言。


小猪仔
5楼 · 2020-11-05 10:12

着色器基础知识

着色器通过代码模拟物体表面发生的事情,其实就是GPU中运行的一段代码。

着色器的类型:

顶点着色器、片元着色器、无光照着色器、表面着色器、图像特效着色器、计算着色器。

坐标空间:

本地空间、世界空间、视图空间、裁剪空间、屏幕空间、正切空间。

光源类型:

点光源、线光源、区域光。

光线影响因素:

光线入射角、物体表面颜色、物体表面光滑度、半透明层。

渲染器类型:

前向渲染器、延迟渲染器。


浅浅77
6楼 · 2020-11-05 10:15

这个就涉及到图形渲染管线了,管线就像是一个流水线,从框架上是固定的,但是到了某个阶段怎么操作处理数据是可以编程的,片段着色器就是可编程的一个阶段。

在渲染一个物体时,模型的顶点信息被送给gpu,然后vertex顶点着色器负责将模型顶点从模型空间转换到屏幕空间,之后再将处理过的数据发给fragment片段着色器,它负责计算每个像素的颜色信息。

以上讲的非常简略,也可能不完全准确,仅供大概的理解。建议你去看下unity的官方文档中关于shader的描述。

vertex 顶点

fragment 片段,表示的是可能出现在屏幕上的像素点,也可能由于深度测试等原因没有显示


草莓juzizhi
7楼 · 2020-11-05 11:26


想考计算机相关证书或者想学技术的同学可以抓紧时间啦!

双11更多优惠活动详情咨询18597153017(微信同号)11封面.png

梅向南
8楼 · 2020-11-05 18:58

简单来讲就是控制物体各种现实效果的和GPU的渲染有关,学习起来还是有一定难度的。

HARPPRTのIT
9楼 · 2020-11-09 09:48

着色器本质上是一种运行在显卡 CPU 上的程序,用于控制显卡的图形渲染过程。CPU 运行的程序通常用汇编语言,或者 C++、Java 等高级语言编写。GPU 采用的是不同于 CPU 的并行计算结构,需要一种适用于 GPU 的编程语言,于是就有了着色器语言。

相关问题推荐

  • 回答 17

    还是要学好编程基础呀如果你觉得编程很苦难 不一定要从c#开始学  学学js flash as等等  有个梯度就好多了如果要用好unity  不会编程那是不行的  学习的过程中都有个头疼的过程  记住  头越痛  代表你要接受的东西越多  坚持 你的大脑在和知识兼容中:D...

  • unity如何自学Unity3D 2022-01-06 15:24
    回答 18

    可以先思考学习的目的,是什么因素在驱动你。是完成一款作品?进入某个行业?还是探究某类问题?否则和技术相关的知识浩如烟海,很容易迷失在细枝末节上。而要找到动力源头。个人的经验,就是关注一些和自己同方向,同类型的创作者。他们输出的作品会激励你,...

  • 回答 23

    可以让模型师直接作出这样的形状,如果用纯Unity制作,就要用基本游戏对象拼接了,包括楼梯,城堡,都可以拼接出来。正常情况不会这样做,因为不够精美,都是建模师来实现,毕竟Unity不属于专业的建模软件,侧重于实现功能。...

  • 回答 2

    Shader Unlit/Test{Properties{_MainTex(MainTex,2D)=white{}_MainColor(MainColor,COLOR)=(1,1,1,1)_AddTex(AddTex,2D)=white{}_Maxset(Max,Range(0.1,1.0))=0.1}SubShader{Tags{RenderType=Transparent Queue=Tran...

  • 回答 4

    文章主要为大家详细介绍了Unity Shader实现水波纹效果,文中示例代码介绍的非常详细具体代码实现如下:Shader Custom/shuibowen{ Properties{ _MainTex(Base (RGB),2D)=white{} _distanceFactor(Distancefactor,float)=1 _timeFactor(time factor,float)=...

  • 回答 7

    策划的最基本的原则就是:改进缺点,做别人没有做到的。无论游戏策划还是其它策划都是一样!    游戏策划的第二个原则:放飞思想。也许你认为我是说策划们应该充满想象力,能想一些匪夷所思的东西!对不起。不是这意思!一个合格的策划不是为了发泄自己的...

  • 回答 7
    已采纳

    可以多玩一些其它的游戏,看一些科幻电影等,寻找灵感。

  • 回答 3
    已采纳

    游戏架构与设计不纯粹是一门科学,它不需要提出假设或探究真理,也不被逻辑或正规方法的严格标准所束缚。游戏的目的就是通过玩来获得娱乐,因此游戏设计即需要艺术家一样的创造力,也需要工程师一样的精心规划。游戏设计是一门手艺,就像好莱坞的电影摄像或服...

  • 回答 6

    选择模型上的材质球,在检视面板的最下面可以给材质球选择不同的着色器.

没有解决我的问题,去提问