`

unity基础开发--shader基础知识

 
阅读更多

1.Unity中配备了强大的阴影和材料的语言工具称为ShaderLab,以程式语言来看,它类似于CgFX和Direct3D的效果框架语法,它描述了材质所必须要的一切咨询,而不仅仅局限于平面顶点/像素着色。

2.在Unity3D中创建一个Shader:Assets -> Create -> Shader

3.创建了Shader就可以应用到各个材质Material中,创建材质:Assets -> Create -> Material。然后就可以在材质的Inspector面板中,shader下拉框中可以找到新增加的shader

4.Rendering Paths是Unity3D中一个重要的概念,中文翻译就是“渲染通道”。它可以很大程度上影响光线和阴影的渲染效果,但具体要依赖于具体的游戏内容和硬件设备,以及平台。Unity3D中有三种渲染通道类型,从高到低分别为:Deferred Lighting(延迟光照 延迟渲染),Forward Rendering(向前呈现),Vertex Lit(定点光照)。如果平台或设备显卡不能支持高级别的通道类型,Unity3D会自动选择稍微低一些的类型。

三种类型的细节比较,详情看参考手册。

5.如何设置渲染通道:在Edit -> Project Setting -> Player中Inspector面板下面,三种发布类型里都有一个渲染通道的设置。

另外,每个摄像机的Inspector面板中,也都有一个渲染通道Rendering Path的设置。

6.渲染通道与shader的关系。

Deferred Lighting通道类型不关心有多少个光源会影响它,每个物体一般都会绘制两次;类似地,Vertex Lit只绘制一次。所以对于这两种类型来说,shader对表现效果的改变大多在于多重纹理方面。

Forward通道类型的表现效果要取决于shader和场景中的光源。它有两种基本的计算方式Vertex-Lit和Pixel-Lit。可以翻译为逐顶点渲染法和逐像素渲染法吧应该,对应着D3D中的顶点着色和像素着色过程。

Vertex-Lit用于对网格模型表面顶点进行光照计算,一次性将所有光源的影响都计算在内,所以无论场景中有多少个光源,这种方式绘制的物体只绘制一次。

Pixel-Lit 会计算每个像素上面最终的光照,因此一个物体必须先呗绘制一次来获得环境光和主方向光的光照信息,再绘制一次来获得其他每个额外的光源信息。应用Pixel-Lit的物体的大小也会影响绘制的效率,越大的物体,绘制越慢。

Vertex-Lit的开销大于Pixel-Lit,但是Pixel-Lit可以提供很多非常好的效果。

7.Unity3D中的shader是通过改变那些直接影响游戏对象的材质来使用的。

8.一个shader可以被应用于多个材质中,但一个材质只能应用一个shader。

9.一些shader被写入了Unity3D底层里,一部分作为内建shader被放置于standard assets里,可供用户使用

分享到:
评论

相关推荐

    Unity5.x....

    第 18 章3D数学基础知识 457 第 19 章Unity脚本开发基础 475 第 20 章输入与控制 507 第 21 章GUI开发 523 第 22 章Shader开发 547 第 23 章AssetBundle工作流程 591 第 24 章开发进阶 609 第 25 章脚本调试与优化 ...

    unity4x官方教材从入门到精通PDF+光盘

    而开发篇则为想深入了解Unity引擎开发知识以及真正从事商业游戏开发的人员提供了宝贵的技术资料,其中包括了Unity脚本开发基础、输入与控制、GUI开发、Shader开发、网络开发、编辑器扩展等诸多内容,同时提供了Asset...

    unity4.x从入门到精通全彩.pdf

    其中包括了Unity脚本开发基础、输入与控制、GUI开发、Shader开发、网络开发、编辑器扩展等诸多内容,同时提供了Asset B undle工作流程、脚本调试与优化、跨平台发布等多项高级内容,最后以一个第三人称射击游戏为...

    unity4.x从入门到精通,完整扫描版,全彩.part1

    其中包括了Unity脚本开发基础、输入与控制、GUI开发、Shader开发、网络开发、编辑器扩展等诸多内容,同时提供了Asset Bundle工作流程、脚本调试与优化、跨平台发布等多项高级内容,最后以一个第三人称射击游戏为例,...

    Unity4.x 入门到精通

    开发篇为想深入了解UniW引擎开发知识及真正从事商业游戏开发的人员提供了宝贵的技术资料,其中包括了Unity脚本开发基础、输入与控制、GUI开发、Shader开发、网络开发、编辑器扩展等诸多内容,同时提供了Asset Bundle...

    unity 4.X从入门到精通(上中下) pdf 高清 下载链接

    其中包括了Unity脚本开发基础、输入与控制、GUI开发、Shader开发、网络开发、编辑器扩展等诸多内容,同时提供了Asset Bundle工作流程、脚本调试与优化、跨平台发布等多项高级内容,最后以一个第三人称射击游戏为例,...

    Unity着色器和屏幕特效开发秘笈 (游戏开发与设计技术丛书)

    本书将指引你逐步熟悉如何在Unity3D中...通过循序渐进地学习每一章的基础知识,将使你们逐渐地掌握着色器语言,而且还会学到模拟人体皮肤的着色器,处理动态反射的着色器,以及如何开发后期特效(如,夜视)等知识。

    unity4.x从入门到精通

    而开发篇则为想深入了解Unity引擎开发知识以及真正从事商业游戏开发的人员提供了宝贵的技术资料,其中包括了Unity脚本开发基础、输入与控制、GUI开发、Shader开发、网络开发、编辑器扩展等诸多内容,同时提供了Asset...

    Unity Shader编程和编辑脚本大师班

    我们将从如何将菜单插入Unity菜单界面的基础知识开始。然后我们将继续学习如何编写自己的向导,让我们自动完成任务。 您将学习Unity的图形用户界面。所有这些培训都将从头开始。本教程将通过创建一个简单的项目来...

    Unity着色器和屏幕特效开发秘笈PDF完整版(附带源码)

    作者莱莫尔斯从最基础的着色器结构到着色器的创建,循序渐进地讲解着色器的各种知识,不仅会讲解皮肤着色器、布料着色器、车漆着色器、透明裁剪着色器、处理动态反射的着色器等常用着色器的创建,而且也会详细介绍...

    VR/AR&游戏设计与开发从基础到慢慢深入,涵盖游戏开发所需的各个方面的基础知识

    共8个小作业,从基础到慢慢深入,涵盖游戏开发所需的各个方面的基础知识。 hw1:Unity引擎入门实践 hw2:一个2d小游戏 hw3:一个完善的2d游戏,Python小游戏,并根据作业要求增加了一些新特性;在玩法上,...

    unity4.x从入门到精通,完整扫描版,全彩.part2

    其中包括了Unity脚本开发基础、输入与控制、GUI开发、Shader开发、网络开发、编辑器扩展等诸多内容,同时提供了Asset Bundle工作流程、脚本调试与优化、跨平台发布等多项高级内容,最后以一个第三人称射击游戏为例,...

    Unity着色器和屏幕特效开发秘笈

    作者莱莫尔斯从最基础的着色器结构到着色器的创建,循序渐进地讲解着色器的各种知识,不仅会讲解皮肤着色器、布料着色器、车漆着色器、透明裁剪着色器、处理动态反射的着色器等常用着色器的创建,而且也会详细介绍...

    VRAR开发入门教程知识点总结以及必备知识总结.docx

    VR(Virtual Reality,虚拟现实)与AR(Augmented Reality,增强现实)开发涉及多领域的技术和知识,下面我将根据相关资料,为你整理出一份VR/AR开发必备知识的综合清单,并尽可能详细地解析前50条关键点: ...

    VRAR&游戏设计与开发平时作业笔记

    共8个小作业,从基础到慢慢深入,涵盖游戏开发所需的各个方面的基础知识。 1:Unity引擎入门实践 2:一个2d小游戏 3:一个完善的2d游戏,设计思路和资产来自GitHub - tcy2002/Bridge: Python小游戏,并根据作业要求...

    游戏开发入门教程知识点总结以及技巧点总结.docx

    编程基础 2. 1.熟练掌握至少一种面向对象编程语言,如C++、C#、Java或JavaScript。 2.理解数据结构与算法,如数组、链表、栈、队列、哈希表、排序和查找算法等。 3. 游戏引擎 4. 1.学习Unity、Unreal Engine等流行...

Global site tag (gtag.js) - Google Analytics