位置: 编程技术 - 正文

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

  • 缴纳代扣个人所得税分录
  • 劳务费用 税率
  • 一般纳税人简易征收的适用范围
  • 土增清算问题
  • 厂部固定资产折旧属于什么费用
  • 建筑企业预交的附加税怎么办
  • 已收货款没发货怎么退款
  • 社保计入主营业务成本
  • 销售收入的暂估入账是否结转利润
  • 小规模纳税人未开票收入如何填申报表
  • 房产税从价计征扣除比例
  • 外币借款汇兑差额计入什么科目
  • 收到捐赠物资会计处理
  • 长期待摊费用进项税可以一次性抵扣吗?
  • 增值税应交税费科目
  • 生产用水的会计分录
  • 哪些费用可以税后扣除
  • 进项税额转出后企业所得税怎么处理?
  • 开餐饮发票的经营范围是怎样的?
  • 公司员工体检计入什么科目
  • 未来公司销售一批产品给东方公司
  • 跨年补交企业所得税
  • 土地使用权与房屋所有权不一致
  • 为什么负债不等于亏损
  • 凭证上附单据多少张怎么看
  • 利得入什么科目
  • 费用已付款未收到发票需要暂估入账吗
  • 现金流量表的编制依据
  • 资产负债表流动性从强到弱
  • 关闭同步中心 win10
  • 个人所得税的征收标准及税率
  • 无形资产的摊销应计入什么科目
  • win10专业版问题
  • 公司账户上的钱怎么转到老板账户上
  • 企业办理银行结汇流程
  • 新店开业费用预算表格
  • wordpress开发app
  • vue3.0用法
  • linuxulator
  • vue关闭路由
  • 万能的python
  • php socket_write
  • php image
  • 支付版权费用账号是什么
  • 发票 技术服务
  • 固定资产盘盈为什么计入以前年度损益调整
  • mysql分库分表实践
  • javagui框架
  • 生产企业免抵退税实例
  • 购买电梯会计账务处理
  • 资产负债表季报是累计三个月数据吗
  • 京东开专用发票需要用公户付款吗?
  • 无形资产摊销会计凭证
  • 其它收益和递延收益的区别
  • 6月工资7月发8月申报
  • 门市装修费用会计处理
  • 代理记账服务业务内容
  • 个体工商户可以变更法人吗
  • 会计记账基础有哪两种
  • 无票收入怎么报增值税
  • 新增注册资金
  • 苹果macbook怎么切换系统
  • SUSE Linux Enterprise Server 11 SP3安装教程详解
  • dll进程
  • linux那些事儿
  • win7系统如何修改默认浏览器
  • sql2000停止拒绝访问
  • linux免安装软件
  • python socket操作
  • css 之 background-position-x
  • javascript的描述
  • 关于android工程中的assets目录的正确说法
  • android全局异常捕获并弹框提示
  • android实现底部菜单
  • python方法有哪些
  • 国税电子税务局官网
  • 如何理解改革创新是时代要求
  • 2021年河南省企业退休职工丧葬抚恤金标准
  • 九江税务总局
  • 平板电脑购物
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设