位置: 编程技术 - 正文

Unity3D游戏开发从零单排(十) - 进击的Shader续(Unity3D游戏开发毕业论文)

编辑:rootadmin
自定义光照模型

推荐整理分享Unity3D游戏开发从零单排(十) - 进击的Shader续(Unity3D游戏开发毕业论文),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:Unity3D游戏开发培训课程大纲,Unity3D游戏开发(第2版),Unity3D游戏开发毕业论文,Unity3D游戏开发(第2版),Unity3D游戏开发(第2版)pdf,Unity3D游戏开发标准教程,Unity3D游戏开发标准教程,unity3D游戏开发,内容如对您有帮助,希望把文章链接给更多的朋友!

在这之前首先来了解一下SurfaceOutput这个结构体,它是一个包含大多数描述一个物体表面渲染特征的结构,具体结构如下:

基本上所有的Shader函数要处理的就是这个结构体。

Unity自带的光照实现都定义在一些*.cginc文件中,要自定义光照模型,只要不用Unity自带的光照模型就可以了。

将下面这一行的语句的最后替换成对应的光照计算函数。

#pragma surface surf NoLight

无光照的材质Shader

自己实现一个diffuse

上图中左边是NoLight,右边是SimpleDiffuse。

同理可以自定义实现各种光照模型了,Lambert,Blinning,,,,,

补充一下光照函数的几种写法

half4 LightingName (SurfaceOutput s, half3 lightDir,half atten){}

这个函数用于不需要视角方向的情况下的Forward rendering。

half4 LightingName (SurfaceOutput s, half3 lightDir, half3 viewDir, half atten){}

这个函数用于需要视角方向的情况下的Forward rendering。

half4 LightingName_PrePass (SurfaceOutput s, half4 light){}

这个函数用于Deferred rendering。

Unity3D游戏开发从零单排(十) - 进击的Shader续(Unity3D游戏开发毕业论文)

用代码控制shader动态修改材质

对SimpleDiffuse稍微做一下修改,添加一个叠加的颜色。

在模型(有MeshRenderer的)上面挂一个脚本,实现如下

MeshChanger

根据时间动态修改0号材质的_Color选项,结果就像这样

自行脑补中间过程。

使用渐变纹理来处理光照

首先要准备一张渐变纹理,原理就是通过计算当前位置的光照与法线的点积,索引到渐变图片上的像素值,最后将其和diffuse叠加。

渲染结果

没有纹理的情况(是大象不是小猪)

换一下索引贴图

得到结果如下(Toon Shading)

参考

Unity Shaders and Effects CookBook

Unity3D海量新书资源 书籍比较杂,有些不一定写的很好,全部是英文的(中文书一般是不会有清晰电子版,你肯定知道的),所以大家酌情下载喜欢的那几本看完就好了。

Unity3d UGUI 滚动视图ScrollView的使用教程之简易背包 Unity3d中,UGUI提供了ScrollRect、GridLayoutGroup、Mask这三个组件,我们用来实现滚动视图,这里用一个简易的背包作为示例。文章转自

Forward Render VS Deferred Rendering ForwardRender传统的渲染方式,你提供给显卡形状Mesh,它将其打散成一堆节点,接着经过一系列的变换和分割成为Fregment或者像素,在呈现在屏幕之前已经

标签: Unity3D游戏开发毕业论文

本文链接地址:https://www.jiuchutong.com/biancheng/383500.html 转载请保留说明!

上一篇:Unity3D之Camera设置(unity3d相机设置视角)

下一篇:Unity3D海量新书资源(unity3d游戏开发书籍)

  • 住宿发票规格型号一栏写什么
  • 增值税附加计入什么科目
  • 小规模税控设备维护费怎么填申报表格
  • 成本费用利润率反映什么
  • 收到投资款需要缴纳什么税
  • 股权转让1元转让
  • 员工报销款可以公转私吗
  • 企业注销未抵扣完的进项税
  • 提供劳务企业所得税纳税义务发生时间
  • 吸收合并的税务处理增值税风险
  • 递延收益涉税
  • 个人应纳税所得额怎么算
  • 职工在异地住院怎么报销
  • 出差住宿普通发票进项税可以抵扣吗
  • 借款合同法律规定的表述
  • 逐步测试法计算内含报酬率
  • 单位买另一单位银行承兑汇怎样入账?
  • 计提的利息汇算清缴前没发放,需要交企业所得税吗
  • 个人保证金业务
  • 正在注销的公司微信收的款怎么追回
  • 个人所得税怎么查
  • 增值税滞留票产生的原因及处理办法
  • 二季度支出小于一季度什么意思
  • 统借统贷合同需要交印花税吗
  • 个人公寓出租给公司要交税吗?
  • 手工发票有效期多久
  • 企业代扣代缴个人所得税系统
  • 房地产企业扣除项目
  • 备查账簿根据企业的实际需要设置没有固定的格式要求
  • 帐外资产 如何记账
  • 抵扣发票勾选到哪个科目
  • 返修产品如何账务处理
  • 收到专票有误,已跨月未认证,销售方不红冲咋办
  • 附加税是销项税减去进项税
  • 计提代扣代缴个税
  • win7系统无法启用网络发现
  • 关闭同步中心 win10
  • 合并报表同一控制下和非同一控制下区别
  • 房产契税征收率
  • 年薪制职工薪酬计算方法
  • 购买预付卡如何记账
  • yolov3与yolov2
  • 存货跌价准备减少
  • 申报补缴是什么意思
  • 红字发票负数要怎么抵掉
  • php的session
  • 库存股属于什么会计科目
  • 高新技术企业补助需要交所得税吗
  • 脱不下孔乙己的长衫对应下一句
  • php引用传值
  • 计提医疗保险费的会计分录
  • 金融商品转让的销售额
  • 共同开发产品
  • 临过期产品
  • 法院对行政机关罚款
  • 小微企业增值税起征点是多少
  • 发票已经做账但要退款账不平咋办
  • 预算收入分为哪几种方式
  • mysql 指定my.cnf
  • 费用多报销了,但已经给了,怎么办
  • 文化事业建设税是含税还是不含税
  • 公司借个人款利息产生个人所得税公司可以承担吗
  • 一般纳税人注销公司麻烦吗
  • 除了住房公积金还有什么基金
  • 公司账户资金转个人账户
  • 库存商品盘盈怎么做账
  • 公交充值卡发票能报销吗
  • 大白菜u盘启动按f几
  • linux常用命令 删除
  • centos7(core)
  • winxp远程桌面
  • unity绘制曲线
  • 搭建android开发环境实验原理
  • css checked
  • angular的ngif
  • jquery动态添加和删除div
  • 下午税务局几点上班
  • 国家税务局大数据局
  • ca证书免费申请
  • 医保未参保怎么参保 支付宝
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设