- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Shaders 着色器
Unity中的所有渲染- 小脚本让您配置图形硬件是如何为渲染设置的。40个内置的着色,但你可以扩展更多的。内置着色器都记录在Built-in Shader Guide指南。
着色器都名为ShaderLab一种语言,它类似于微软的.FX文件或NVIDIA的CgFX。假如你想编写自己的,包括自定义顶点和片段方案,本节和ShaderLab解释。
让你从一些例子开始,我们ShaderLab源代码你可以在Resources section。
阅读关于ShaderLab介绍,并ShaderLab Reference!
Shaders: Getting started 着色器:开始
本教程将教你如何创建自己的着色器,使你的游戏看上去更好!
Unity配备了强大的着色和材料语言叫做ShaderLab。在风格上它类似CgFX和Direct3D语言 - 它描述了显示材料所需的一切,不只是简单的顶点/像素着色器。
针对不同的显卡硬件的能力,着色器描述了Unity中Material Inspector多着色实现(SubShaders)的属性,每个完整描述了显卡硬件的渲染状态,固定功能路径安装,或来使用的顶点/片断程序。顶点和片段程序都写在高级别Cg编程语言或低级别的着色器程序集。
在本教程中我们将描述如何ShaderLab中同时使用固定功能和可编程写着色器。我们假设读者OpenGL或Direct3D渲染状态固定功能和可编程有,CG,HLSL的或GLSL的编程语言具有一定。一些教程和文档可在NVIDIA和AMD开发网站。
Getting started
要创建一个新的着色器,无论是从菜单栏中选择Assets-Create-Shader或复制一个现有的着色器并从中操作。该新着色器可以通过在项目视图中双击编辑。
我们将从一个很基本的着色器开始:
Shader Tutorial/Basic {
Properties {
_Color (Main Color, Color) = (1,0.5,0.5,1)
}
SubShader {
Pass {
Material {
Diffuse [_Color]
}
Lighting On
}
}
}
这个简单的着色器演示了的最基本可能之一。它定义了一个称为 Main Color主色颜色属性分配一个玫瑰色的默认值(红色= 100% 绿色= 50% 蓝色= 50% alpha= 100%)。然后通过调用一个Pass,并在该pass中设置diffuse材料组件到属性_Color并打开顶点灯光。
为了着色器,创建一个新的材料,从下拉菜单(Tutorial-Basic)材料某些。Material Inspector中调整颜色,变化。
Basic Vertex Lighting 基本顶点照明
如果您打开一个现有的复杂着色器,得到很好的概述有点难。为了让你开始,我们将剖析Unity运载的内置VertexLit着色器。该Shader使用固定功能管道来制作标准的每-顶点照明。
Shader VertexLit {
Properties {
_Color (Main Color, Color) = (1,1,1,0.5)
_SpecColor (Spec Color, Color) = (1,1,1,1)
_Emission (Emmisive Color, Color) = (0,0,0,0)
_Shininess (Shininess, Range (0.01, 1)) = 0.7
_MainTex (Base (RGB), 2D) = white { }
}
SubShader {
Pass {
Material {
Diffuse [_Color]
Ambient [_Color]
Shininess [_Shininess]
Specular [_SpecColor]
Emission [_Emission]
}
Lighting On
SeparateSpecular On
SetTexture [_Ma
您可能关注的文档
- UNIT3MyStrokeofLuckKirkDouglas2.doc
- unit3unittest.docx
- unit3_A课文PUBLIC_ATTITUDES_TOWARD_SCIENCE.doc
- Unit4lesplanfor改SS.doc
- unit4Grade7.doc
- Unit4Makingthenews--period1.doc
- unit4texttranslation.doc
- Unit4Thedangerofspacejunk.doc
- Unit4Upinspace.doc
- Unit4WildlifeProtection同步测试.doc
- Unity3D脚本中文参考.doc
- Unity之Prefab和GameObject的正向和逆向查找引用.doc
- Unity_Pro_XL编程指导.doc
- Unity_Pro_XL编程入门指南.docx
- Unity小地图制作插件NJGMiniMap的简单使用.doc
- Unit_10_make_your_choice.doc
- Unity3D游戏引擎实战开发从入门到精通(坦克大战项目实战NGUI开发GameObject).doc
- UnityPro软件介绍1.doc
- Unit_1_Will_people_have_robots_单项选择100题_专练.docx
- Unit_1_Making_a_difference.doc
原创力文档


文档评论(0)