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

厦门网站的建设免费咨询专业服务

厦门网站的建设,免费咨询专业服务,网站维护中 html,济南效果图制作公司目录 一、本节介绍 1 上集回顾 2 本节介绍 二、语法结构 1 复习 2 理论知识 3 Shader里声明的写法 4 Properties和SubShader毕竟不是一家人 三、 片元着色器中使用资源 四、代码实现 五、全部代码 六、下集介绍 相关阅读 Unity - Manual: Writing Surface Shaders…

目录

一、本节介绍

1 上集回顾

2 本节介绍

二、语法结构

1 复习

2 理论知识

3 Shader里声明的写法

4 Properties和SubShader毕竟不是一家人

三、 片元着色器中使用资源

四、代码实现

五、全部代码

六、下集介绍


相关阅读

Unity - Manual: Writing Surface Shaders


一、本节介绍

1 上集回顾

上集制作了一个小彩球。

2 本节介绍

如何加入外部颜色资源Color来控制球体颜色,类似代码里public Color可以在外面看见(如图1所示)并改颜色(如图2所示)。

图1 加入Color
图2 外部改变材质颜色

二、语法结构

1 复习

之前学过的语法结构代码如下:

Shader "Custom/001"    //shader地址
{
SubShader    //干预着色器{pass    //通道{CGPROGRAM    //开始CG语言#pragma vertex vert      //引用顶点着色器#pragma fragment frag    //引用片元着色器#include"UnityCG.cginc"    //引用unity写好的一些内容ENDCG    //结束CG语言}}
}

2 理论知识

我们外部的资源一般在干预着色器之前就要放进来,所以位置是在地址内部,SubShader外部。

学习英文:

Property                财产

Properties             财产(复数)------代码里用这个

代码如下:

Shader "Custom/001"
{
//财产
Properties{}
SubShader{pass{CGPROGRAM#pragma vertex vert#pragma fragment frag#include"UnityCG.cginc"ENDCG}}
}

3 Shader里声明的写法

在C#语法中,我们声明的代码如下:

//公开 //类型是Color        //赋值为(1,1,1,1)
public Color color = new Color(1,1,1,1);//起名是color

shder它本身不是平时的脚本,所以它在起名上面需要两个名字

  • 外部显示的名字(如图3所示),例如我起名为Color
图3 外部显示的名字
  • 内部使用时的名字 ,例如我起名为_Color
  • shader里声明名称的代码
Properties{//内部使用的名称  //声明的数据类型_Color("Color",Color)=(1,1,1,1)//外部使用的名称   //赋值(1,1,1,1)}

4 Properties和SubShader毕竟不是一家人

虽然我们在 Properties里面已经声明了Color,但这仅仅只代表,这个shader脚本里存在了这个信息,并不代表我们可以直接用。

  • 我们用的时候在SubShader中还是要重新声明一下(表明你借过来用)
  • 着色器里面可外部资源的数据类型不一样,Color这个类型它就不认识,它认识的常用的有float3,float4等,Color本质就是一个float4。
  • SubShader接过数据代码
SubShader{pass{CGPROGRAM#pragma vertex vert#pragma fragment frag#include"UnityCG.cginc"//重新声明_Colorfloat4 _Color ;ENDCG}}

三、 片元着色器中使用资源

这时我们可以制作一个球,这个球的颜色根据外面改的颜色而显示它的颜色。改变颜色是片元着色器里直接更改的。

四、代码实现

            float4 frag():SV_TARGET{//直接将接到的数据输出return _Color;}

五、全部代码

都是基于之前教程里讲的之后往下增减的代码。

Shader "Custom/001"
{
Properties{//内部使用的名称  //声明的数据类型_Color("Color",Color)=(1,1,1,1)//外部使用的名称   //赋值(1,1,1,1)}
SubShader{pass{CGPROGRAM#pragma vertex vert#pragma fragment frag#include"UnityCG.cginc"float4 _Color ;appdata_base vert(appdata_base v){v.vertex =UnityObjectToClipPos(v.vertex);return v;}float4 frag():SV_TARGET{return _Color;}ENDCG}}
}

六、下集介绍

本集讲了如何添加外部资源,并通过外部资源来更改现在材质。

下集讲案例,如何加入外部图片资源。

http://www.yayakq.cn/news/566878/

相关文章:

  • 自己做的网站算广告吗深圳龙华区教师招聘
  • 站长工具官方网大灰狼网站更新升级通知
  • 兰州做网站的公司有哪些网站综合营销方案
  • 和创客贴类似的网站湖南省住房和城乡建设厅
  • 广州微网站无水印做海报的网站
  • 高中男女做那个视频网站沈阳网站建设-中国互联
  • 竞价单页网站模板长春百度推广排名
  • 制作网站付款方式临沂网站优化
  • 电子商务网站开发的目的是什么长沙好的做网站品牌
  • 网站文章更新频率视频制作专业软件
  • 怎样给公司产品做网站广州石井做网站
  • 长沙零基础学快速建站中国半导体设备
  • 网站建设代码排版出错北海网站优化
  • 建立个人网站主题网站seo去哪个网站找好
  • 高校校园网站建设与运行上海虹口网站建设
  • 设计网站都有什么作用上海网站建设好处
  • 金华外贸网站建设外贸网站建站注意事项
  • 梅州专业网站建设教程定制衣服的app叫什么
  • 商城网站营销系统源码短链接在线生成器
  • 网站手机客户端开发教程农业建设信息网站
  • 安徽网站排名优化公司惠州双语网站建设费用
  • 芮城网站建设网站建设的模板
  • 金融网站设计方向珠海营销型网站建设
  • 长春火车站电话wordpress vantage主题
  • 做网站的数据库dede网站制作教程
  • 在线做网站 自动生成手机版上海网站建设公司推
  • 济南哪家网站技术比较高in什么 wordpress
  • 百家号权重查询站长工具做购物网站有什么要求吗
  • 做DJ网站违法吗WordPress插件做成主题代码
  • 怎么联网访问自己做的网站唐山免费做网站