位置: 编程技术 - 正文

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游戏开发书籍)

  • 私车公用的税务风险
  • 支付宝如何缴纳车辆购置税
  • 多扣的增值税怎么做账务处理
  • 现代服务是可以做什么的
  • 期末有留底税额可需要进行账务处理
  • 借款利息如何计算政策依据
  • 注会其他专业可以考吗
  • 小规模纳税人月超10万季度不超30万
  • 公司哪些支出不影响报表净利润总额
  • 什么情况下增值税进项税额要转出
  • 金蝶怎么填写凭证
  • 哪些合同不需要缴纳印花税的通知
  • 留抵税额抵减欠税文件
  • 非公益捐赠如何调整应纳税所得额?
  • 母子公司有什么关系
  • 私人企业的资金来源
  • 全年一次性奖金个税计算
  • 用友u8计提企业所得税
  • 漏记的账务怎么处理
  • 固定资产的确认条件有哪些
  • 飞机票的保险费可以退吗
  • 全免增值税企业有哪些
  • 中专学历可以报成人本科吗
  • 购物卡销售的重点工作是什么
  • 2021激活windows10
  • PHP:oci_new_connect()的用法_Oracle函数
  • 支付费用没有发票怎么做账务处理
  • window10没有激活码
  • 上月未开发票的销项税,已经申报缴税,在本月开了票,应该如何填报?
  • 计提折旧事考虑了残值净值怎么算
  • 基建账并账规定
  • 嵌入html
  • node-js
  • sensor tester
  • iscan扫描仪使用方法
  • 国家对建筑垃圾处理企业有补助吗
  • 发票打印错误如何修改
  • 餐厅场租费可以开发票吗
  • 2020年维修基金怎么交
  • 哪些收据可入账科目
  • sql server 2016使用
  • sql server干嘛的
  • sqlServer查询当前ip地址
  • 一般纳税人商品暂估按销售的数量可以暂估成本吗
  • 小规模纳税人购买税控设备
  • 长期待摊费用待抵扣税金
  • 口罩属于哪个科目 会计
  • 扣缴个人所得税怎么计算
  • 企业设备可以贷款吗?
  • 处置全资子公司合并报表
  • 存放在仓库中的原材料
  • 机票行程单上没有金额怎么报销
  • 百望开发票
  • 员工的车是否可以抵税
  • 实际利率 会计
  • 企业包装物核算范围
  • mysql索引方式有哪些
  • sqlserver 实现分组合并
  • winxp密码忘了
  • ubuntu包管理命令
  • ms office是
  • win10系统关机后又自动启动怎么办
  • win10怎么关闭讲述人模式
  • win7系统宽带连接651
  • win10 ug
  • Linux操作系统支持虚拟内存吗
  • unity3d界面布局
  • shell备份文件脚本
  • cocos2dx创建项目
  • opengl glu
  • android_zh
  • 设计shell程序
  • ugui scrollview
  • python网页验证码
  • unity游戏加密
  • javascript学习指南
  • 登陆界面android
  • 企业环境信用等级在哪里查询
  • 网上如何申领电瓶车牌照
  • 税控盘开票资料怎么导出几年前的开票信息
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设