当前位置: 首页 > news >正文

汇邦团建网站谁做的网络培训中心

汇邦团建网站谁做的,网络培训中心,网站权重批量查询,可以做海报的网站UnityShader介绍 UnityShader的基础ShaderLab UnityShader属性块介绍 Properties {//和public变量一样会显示在Unity的inspector面板上//_MainTex为变量名,在属性里的变量一般会加下划线,来区分参数变量和临时变量//Texture为变量命名//2D为类型&…

UnityShader介绍

UnityShader的基础ShaderLab
在这里插入图片描述

UnityShader属性块介绍

Properties
{//和public变量一样会显示在Unity的inspector面板上//_MainTex为变量名,在属性里的变量一般会加下划线,来区分参数变量和临时变量//Texture为变量命名//2D为类型,为2D图片//"white"为默认值,默认为白色_MainTex ("Texture", 2D) = "white" {}//除了_MainTex以外,还有一些基本类型,比如:_Int("Int",int) = 2_Float("Float",float) = 1.5_Range("Range",range(0.0,2.0) = 1.0_Color("Color",Color) = (0,0,0,0)_Vector("Vector",Vector) = (0,0,0,0)_Cube("Cube",Cube) = "white"{}_3D("3D",3D) = "black"{}
}

UnityShader SubShader块介绍

一个Unity Shader文件可以包含很多个SubShader块,当Unity加载Shader的时候,它会扫描所有的SubShader块,选择第一个能在目标平台运行的SubShader

SubShader
{//标签可选写或不写 key = valueTags { //渲染顺序"Queue" = "Transparent"//渲染类型 着色器替换功能"RenderType"="Opaque"//是否进行合批"DisableBatching" = "True"//是否投射阴影"forceNoShadowCasting" = "True"//是否收Projector的影响,通常用于透明物体"IgnoreProjector" = "True"//是否用于图片的Shader,通常用于UI"CanUseSpriteAltas" = "False"//用作Shader面板预览的类型"PreviewType" = "Plane"}//Render渲染设置 可选写或不写//Cull 裁剪,选择渲染哪个面,默认值为只渲染正面//Cull off的话就是正反两面都进行渲染//Cull back的话就是只渲染正面//Cull front的话就是只渲染背面Cull off//back/front//ZTest 深度测试, 默认小于等于ZTest Always//Less Greater/Lequal/GEqual/Equal/NotEqual//Zwrite 深度写入,默认为打开Zwrite off//on//Blend 混合 格式如下//Blend SrcFactor DstFactor//不同情况下使用不同的LOD达到性能提升LOD 100//必须要写//SubShader里面可以有多个Pass通道,多个Pass通道是按顺序进行渲染的//不建议写多个通道,每多一个Pass通道,渲染的DrawCall就多一个,会降低性能Pass{//Pass通道名称,在外部可以直接Use这个通道,相当于函数,但是Use的时候Name必须全部大写Name "Default"//可以在通道里面书写标签,当通道内外都存在标签,执行的是外面的标签Tags{//定义该Pass通道在Unity渲染流水中的角色"LightMode" = "ForwardBase"//满足某些条件时才渲染该Pass通道"RequireOptions" = "SoftVegetation"} //Render渲染设置 可以在通道里面书写渲染设置,当通道内外都存在渲染设置,执行的是外面的渲染设置//CG语言所写的代码,主要是顶点,片源,着色器CGPROGRAM#pragma vertex vert#pragma fragment frag// make fog work#pragma multi_compile_fog#include "UnityCG.cginc"struct appdata{float4 vertex : POSITION;float2 uv : TEXCOORD0;};struct v2f{float2 uv : TEXCOORD0;UNITY_FOG_COORDS(1)float4 vertex : SV_POSITION;};sampler2D _MainTex;float4 _MainTex_ST;v2f vert (appdata v){v2f o;o.vertex = UnityObjectToClipPos(v.vertex);o.uv = TRANSFORM_TEX(v.uv, _MainTex);UNITY_TRANSFER_FOG(o,o.vertex);return o;}fixed4 frag (v2f i) : SV_Target{// sample the texturefixed4 col = tex2D(_MainTex, i.uv);// apply fogUNITY_APPLY_FOG(i.fogCoord, col);return col;}ENDCG}
}

注意

Unity Shader ≠ \neq = 真正的Shader

  • Unity Shader实际上指的就是一个ShaderLab文件。以.shader作为后缀的一种文件。在Unity shader里面,我们可以做的事情远多于一个传统意义上的Shader。
  • 在传统的shader中,我们仅可以编写特定类型的Shader,例如顶点着色器,片元着色器等。在Unity Shader中,我们可以在同一个文件里面同时包含需要的顶点着色器和片元着色器代码。
  • 在传统shader中,我们无法设置一些渲染设置,例如是否开启混合,深度测试等,这些是开发者在另外的代码中自行设置的。而Unity shader中,我们通过一行特定的指令就可以完成这些设置。
  • 在传统shader中,我们需要编写冗长的代码设置着色器的输入和输出,要小心的处理这些输入输出的位置对应关系等。而在Unity shader中,我们只需要在特定语句块中声明一些属性,就可以依靠材质来方便的改变这些属性。而对于模型自带的数据(如顶点,纹理坐标,法线等),Unity Shader也提供了直接访问的方法,不需要开发者自行编码来传给着色器。
http://www.dinnco.com/news/21406.html

相关文章:

  • 视频网站怎么做排名广州今日头条新闻
  • wordpress百度云链接seo百度快照优化公司
  • 深圳网络做网站app关键词推广
  • 云南做公司网站多少钱北京百度竞价托管
  • 河北网站建设市面价免费域名解析平台
  • 网站建设与推广方案网站制作大概多少钱
  • 网站公安备案电话推广文案范例
  • 网站建设需谈谈你对网络营销的看法
  • wordpress子目录建站怎么选择主题拼多多代运营收费标准
  • 浙江室内设计公司排名上海比较大的优化公司
  • 网站信息备案变更 哪里做给公司做网站的公司
  • 德州疫情最新情况最新消息八上数学优化设计答案
  • 公司网站建设怎么做网站seo优化多少钱
  • 品牌logo设计说明优化软件刷排名seo
  • 公司的网站费怎样做会计分录什么是seo是什么意思
  • 专业邯郸做网站企业seo顾问服务
  • 能打开所有网站的浏览器百度seo怎么查排名
  • 企业网站源码打包后台完整无限制google关键词
  • 沈阳微网站制作现在疫情怎么样了最新消息
  • 网页设计咨询学seo网络推广
  • 做mro的b2b网站新乡seo顾问
  • 鄂城网站建设识图
  • 个人建站网站深圳做推广哪家比较好
  • 做rom网站公司网络推广方法
  • 日照市网站建设seo入门培训教程
  • 女孩说做网站测试推广互联网推广
  • 深圳有做网站公司百度相册登录入口
  • 网站内容优化方法有哪些做好的网站怎么优化
  • 高明专业网站建设报价国内能用的搜索引擎
  • 能不能把wordpress程序转到帝国整站seo教程