位置: 编程技术 - 正文

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

  • 查付款记录需要什么?
  • 非营利组织企业所得税
  • 一般纳税人增值税可以抵扣吗
  • 银行存款日记账最后一行怎么填
  • 月初领票后还能作废申报吗
  • 财务单子包括哪些
  • 房地产开发商转型
  • 固定资产账面价值公式
  • 研究开发费用加计扣除多少
  • 暂估含税还是不含税
  • 超过认证期限的发票怎么处理
  • 坏账准备一般余额在哪方
  • 从境外取得的佣金
  • 企业如何处理劳方与资方的关系
  • 风险纳税人不处理行吗
  • 补充养老保险税收规定扣除率
  • 园林绿化公司购入剪刀怎么做会计分录
  • 生产企业出口发票数量开错有什么影响
  • 季度利润太高怎么计算
  • 商品流通企业采购商品的进货费用金额较小的
  • 租房修缮费扣除
  • 研发支出期末列报
  • 走pos对公账户扣多少手续费
  • 工会账户销户
  • 苹果电脑如何提高网速
  • 营运资金管理策略有哪些
  • 库存现金的主要内容有哪些
  • 上市公司发行债券股价会涨吗
  • 利空啥意思
  • linux系统怎么访问共享文件夹
  • 纳税调整需要调年度报表嘛
  • 行政单位如何将资产年报导入财报里
  • php常用的开发工具
  • windows7旗舰版最新版本
  • bill是什么软件
  • 对公帐户定期存款利率
  • 移动有聊天室平台吗
  • PHP:GregorianToJD()的用法_日历函数
  • 各级税务机关应当遵循依法
  • 关于存货跌价准备
  • 小规模纳税人增值税超过30万怎么纳税
  • FPGA实现64点IFFT(VHDL)
  • 留言板系统php
  • mysql显示数据库语句
  • dedecms下载
  • 销售费用和管理费用占比多少合理
  • 非营利组织缴纳增值税账务处理
  • 如何算基数
  • 不单独计价的包装物是什么意思
  • 应交税金及附加怎么计算
  • 高新企业如何做账
  • 自来水公司代收污水处理费
  • 营业税费是借还是贷
  • 收不回来的账怎么处理
  • 行政事业单位计提工资怎么做账
  • 一般纳税人月底进项税销项税怎么做分录
  • 工程公司本月没发工资
  • 无生产经营收入可以评为a吗
  • mysql启动错误1067 进程意外终止
  • linux.iso在哪里
  • 怎么u盘装系统win10
  • 电脑蓝屏bios设置教程
  • ubuntu文本编辑器命令
  • linux远程登录命令ssh
  • win10收不到20h2更新
  • linux cvf
  • jquery 插件编写
  • bat脚本自动点击按钮
  • unity资源包怎么用
  • 在vue中添加按钮使内容消失
  • nodejs实例教程
  • Unity3D游戏开发标准教程
  • 登录电子税务局显示时间错误如果解决
  • 地税电子税务局漏报要去大厅吗
  • 河南农村社保查询个人账户查询系统
  • 车船税属于地方固定收入吗
  • 申报期包括不包括最后一天
  • 外地户口在绍兴读小学
  • 一般纳税人做账收费标准
  • 长治一诺代理记账公司
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设