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

利用社交网站做淘宝客关于申请网站建设的报告

利用社交网站做淘宝客,关于申请网站建设的报告,中国工程项目网站,如果建手机网站目录 一、前言 二、“渲染两次” 三、本次成品介绍 四、第一次渲染代码 五、第二次渲染代码 六、截止目前的所有代码 七、调整代码 八、总结 一、前言 之前一直讲的shader文件中,都只写了一次CG代码。 为了大家对这部分的整体理解,我们这次渲…

目录

一、前言

二、“渲染两次”

三、本次成品介绍

四、第一次渲染代码

五、第二次渲染代码 

六、截止目前的所有代码

七、调整代码

八、总结 


一、前言

之前一直讲的shader文件中,都只写了一次CG代码。

为了大家对这部分的整体理解,我们这次渲染两次。

二、“渲染两次”

这个词是我造的~不是定义。

什么叫渲染两次?

渲染就是画画的意思,渲染两次就是画两次。这里用画画举例。

第一次画画。(如图1所示)

图1 第一次画画

这里如果用文字描述一下,就是画了一个绿色的三角形。


第二次画画。(如图2所示)

 

图2 第二次画画

 如果用语言形容就是,在中间画了一个橘黄色的圆形。


所以我们一套结构CG结构就是画了一幅画。(如图3所示)

不用太在意具体写的什么代码,主要注意一些标志

CGPROGRAM前面是一些准备工作,像之前的模版写入,深度写入之类的。

ENDCG就是结束了绘制

中间就是一些绘制过程,引入一些材料。

这个全过程就是一次画画的全过程。

图3 一套流程

 

 渲染两次的意思是,我可以在一个shader文件中写两套这个东西。

三、本次成品介绍

我们这次先画一个模型的黑影,但是这个黑影要比模型本身大一点。这个做法参考上节课的代码。

Unity | Shader基础知识(第二十一集:应用-怪兽膨胀、顶点着色器和表面着色器合并)_unity 顶点膨胀shader-CSDN博客

然后再正常把模型渲染上去,就可以给模型做一个阴影或者说边框。(如图4所示)

图4 成品

 

四、第一次渲染代码

我们第一次先画一个模型的黑影(如图4所示),

备注:模型还是用上节课的模型。代码还是用的上节课的思路。

图4 我是谁?带刺小盆栽~
 Properties{//模型的贴图_MainTex ("Texture", 2D) = "white" {}//边框的大小(膨胀的大了,边框就大,反之就小)_Outline ("Outline Width", Range(0.002,0.1)) = 0.005//边框的颜色,我们要做黑影,所以就先来个黑色_OutlineColor ("Outline Color", Color) = (0,0,0,1)}SubShader{CGPROGRAM//引用,同上一集#pragma surface surf Lambert vertex:vert//承接上面素材,略sampler2D _MainTex;float4 _OutlineColor;float _Outline;void vert(inout appdata_full v){//让原本的顶点在法线的方向上增加一点位置,这样影子就会变大v.vertex.xyz += v.normal * _Outline;}//其实目前代码里都没用到,但因为用了表面着色器,必须写struct Input{float2 uv_MainTex;};void surf(Input IN,inout SurfaceOutput o){//我们把颜色直接给到自发光//备注:这里给到贴图也是可以的,但自发光要更亮一点,可以自己试o.Emission = _OutlineColor.rgb;}ENDCG}

这样我们第一次渲染就画好了。

五、第二次渲染代码 

到了ENDCG以后,就是这次画已经画完了,接下来我们再画模型真正的样子。

第二次不需要膨胀,所以顶点那部分就不用加了,直接把颜色上上去。这部分讲太多遍了,就不详解了。

 CGPROGRAM#pragma surface surf Lambert struct Input{float2 uv_MainTex;};sampler2D _MainTex;void surf(Input IN, inout SurfaceOutput o){o.Albedo = tex2D(_MainTex, IN.uv_MainTex).rgb;}ENDCG}

六、截止目前的所有代码

Shader "Unlit/019"
{Properties{_MainTex ("Texture", 2D) = "white" {}_Outline ("Outline Width", Range(0.002,0.1)) = 0.005_OutlineColor ("Outline Color", Color) = (0,0,0,1)}SubShader{//第一套渲染-------------------------------------CGPROGRAM#pragma surface surf Lambert vertex:vertstruct Input{float2 uv_MainTex;};sampler2D _MainTex;float4 _OutlineColor;float _Outline;void vert(inout appdata_full v){v.vertex.xyz += v.normal * _Outline;}void surf(Input IN,inout SurfaceOutput o){o.Emission = _OutlineColor.rgb;}ENDCG//第二套渲染--------------------------------------CGPROGRAM#pragma surface surf Lambert struct Input{float2 uv_MainTex;};sampler2D _MainTex;void surf(Input IN, inout SurfaceOutput o){o.Albedo = tex2D(_MainTex, IN.uv_MainTex).rgb;}ENDCG}
}

到这里我只是想证明给你们,渲染可以在后面加的,并不是只能写在那一个里面。

七、调整代码

到现在为止,我们渲染出来的结果。(如图5所示)

图5 结果

这并不是我们想要的样子,为什么会都是黑色,因为黑色部分是膨胀的,比彩色的大,所以被藏在里面了。(如图6所示)你可以通过增加膨胀的系数在缝隙里面看见。

图6 缝隙

解决方案:把深度写入关掉。

不管是你在外面还是里面,都画出来。

代码如下。(如图7所示)

图7 深度写入

到这里一步我们就可以得到(如图8所示) 

图8 结果

但是下一步的麻烦就是,我把模型背面也渲染出来了。

解决方案:在渲染黑色自发光时,关掉深度写入,在渲染模型时(第二次画画时),打开深度写入。(如图9所示)

 

这样我们就可以得到我们想要的结果了。

八、总结 

本节想表达的重点:

1.渲染可以写好几次

2.每次渲染之前,可以去调节后面渲染的一些方式。本次案例用深度写入为例子。

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

相关文章:

  • 没网站可以做快排吗建材有限公司光速东莞网站建设
  • 简洁大方网站模板wordpress官方网站
  • 建网站的工具户外商品网站制作
  • 中国做的电脑系统下载网站好网站建设以及运营方面
  • 合肥建设学校网站首页免费学校网站系统
  • 河南城源建设工程有限公司网站电商平台页面设计
  • 自建博客网站wordpress中国网站模板
  • 可以直接进入的正能量网站老狼淄博手机网站建设报价
  • 在线服装设计网站网站设计开发软件有哪些
  • 怎么把现有网站开发php前端开发兼职
  • 新手自建网站做跨境电商唐山制作网站的公司
  • 运城网站建设兼职企业查询app 哪个好用
  • 东莞专业网站推广策划东莞软件有限公司
  • 一级域名网站怎么做模型下载网站开发流程
  • 做企业信用贷的网站群晖wordpress端口无法登陆
  • 律师怎样做网站html个人网站设计模板
  • 做ui什么图库网站好呀html用表格来做网站布局
  • 招聘网站怎么做seo玉树营销网站建设服务
  • 购买模板做网站深圳市网站建设公
  • 如何免费建立自己的网站企业网站的步骤
  • 优惠券推广网站怎么做部门网站建设总结
  • 射阳做网站的公司在哪wordpress移动端适配
  • 晋中营销型网站建设万网虚拟主机wordpress
  • 电脑小游戏网站wordpress安装过程
  • 网站收录有什么好处wordpress nextpage
  • 山西建设厅网站查不了信息管理网站开发实验报告
  • 个人站长做网站网站推广免费 优帮云
  • 网站的首屏 一屏 二屏是什么意思网站怎么添加外链
  • 3d 代做网站长春网站开发培训
  • shopify建站公司国产做网站