位置: 编程技术 - 正文

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

  • 企业所得税如何规避
  • 利息可以抵税是什么意思
  • 管理费用中的办公费占比是多少
  • 企业收到退回的所得税的账务处理
  • 城市生活垃圾处理收费管理办法
  • 无形资产登记什么明细账
  • 应付职工薪酬为什么不属于金融负债
  • 预付账款长期挂账风险
  • 固定资产原值错误的账务处理
  • 金蝶kis 反结账
  • 土地返还款属于政府补助吗
  • 技术出口税务处理
  • 个体户如何做零申报
  • 车辆抵押贷款怎么做
  • 存货卖出亏损会怎么样
  • 认缴制下实缴资本流程
  • 高新技术产品收入增长率公式
  • 补发以前年度工资如何计税
  • 开外管证再省外预缴税收要怎么报税?
  • 建筑工程公司项目经理职责
  • 农业生产企业是指什么
  • 福利费的发票可以开什么内容
  • 只转让地上的建筑怎么办
  • 租用仓库需要代扣代缴企业所得税吗
  • 三公经费包括哪些支出
  • 公司缴纳社保部分从个人扣除 犯法吗
  • 土地契税及印花税缴纳规定
  • 房产契税什么时候可以退
  • 发票额度1万申请10万的条件
  • 其他综合收益的含义
  • 财务都干些什么
  • 股权转让的会计凭证
  • 企业工商年报填错了怎么办
  • 补提去年所得税分录
  • 在途物资和材料采购属于存货吗
  • 开发商自用房产出售成为二手房土地成本
  • 其他应收款超过一年是12个月吗?
  • 出口退免税备案
  • sysmon安装
  • 营业外收入账务处理方法
  • 业务招待费包括哪些内容和费用
  • 记账凭证银行利息入息
  • 没有发票的费用汇算清缴的时候怎么调出来
  • 供货方代垫运费会计分录
  • 出租人在融资租赁中需要处理的会计问题
  • 使用sql server
  • 公司支付的工伤待遇包括哪些
  • 在软件中的操作有哪些
  • 纳税人发生应税行为
  • 不动产进项税额不再分两年抵扣
  • 投资损失如何入账
  • 集团公司收到的上级工作秘密比照国家
  • 个人独资企业个体工商户的区别
  • 为什么自创商誉不能确认
  • 销项税额和转出未交增值税余额怎么结转
  • 管理费用通俗理解
  • 增值税其他收益包括哪些
  • win10手机预览版
  • centos 安装选择
  • ie10怎么设置ie8兼容模式
  • VirtualBox安装64位系统报错的处理方法
  • linux 文件执行
  • linux添加启动
  • 升级win10免费吗
  • win 7系统无法删除系统文件
  • win7一进电脑是花屏
  • linux系统安装软件教程
  • unity项目中的资源
  • 红宝书csv
  • cmd中文名称
  • pythonista pygame
  • javascript异步编程
  • android4.4iso
  • e87移植
  • javascript要怎么学
  • python压缩文件为gz
  • 佛山顺德怎么坐地铁到广州
  • 广东税务怎么查社保缴费明细
  • 红字专用发票进什么科目
  • 浙江国地税联合申报系统
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设