位置: 编程技术 - 正文

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

  • 预缴所得税退回
  • 营改增后为什么利息要提供发票吗
  • 银行本票与银行本票存款的区别
  • 小规模企业每月能开多少专票
  • 城建税计提与缴纳分录
  • 劳务成本算营业成本吗
  • 技术入股亏损如何清算
  • 技术服务公司可以卖材料吗
  • 期间费用年末有余额吗
  • 其他贷款服务的内容包括
  • 汇算清缴前未取得发票账务处理
  • 坏账准备一般余额在哪方
  • 固定资产原值增加后如何计提折旧
  • 公司利润不分配可以怎么处理
  • 研发支出费用化支出每个月都要结转吗
  • 增值税普通发票有什么用
  • 存款利息收入是免税还是不征税
  • 个人所得税app入职时间不对
  • 计提坏账准备需要纳税调增吗
  • 固定资产可以一次计入费用吗
  • 个人转让无形资产增值税税率
  • 货物销售价比采购价高
  • 职工教育扣除标准是什么
  • 外贸公司有出口退税吗
  • 工资做账表格怎么做
  • php数组函数实现机选双色球
  • php的使用
  • PHP:pg_set_error_verbosity()的用法_PostgreSQL函数
  • 视同销售计税价格如何确定
  • 草丛里的野花像
  • vue项目难点及解决方法
  • phpstudy配置https
  • 固定资产清理税务处理
  • javaweb项目开发的原理
  • 媒体查询是什么
  • 命名空间 php
  • 永久性差异会计不确认收入
  • 即征即退进项税怎么划分合算
  • c语音中static
  • python项目开发案例集锦pdf百度网盘
  • mongodb怎么用
  • sqlserver sid
  • phpcms采集教程
  • 自有资金等于货币资金吗
  • 企业怎么开启承兑业务
  • 个税申报赡养老人可以填公婆吗
  • mysql 网页用户界面
  • Table ‘xxx’ is marked as crashed and should be repaired 错误解决方法参考
  • 年终奖可以不计入社保基数吗
  • 无形资产多摊销怎么处理
  • 其他权益工具投资是什么意思
  • 装修费摊销年限规定会计分录
  • 加油的增值税发票几个点
  • 结算本月职工工资,其中生产甲产品
  • 购入房屋建筑物进项税额抵扣
  • 税控盘服务费什么样的发票可以抵扣
  • 减免所得税优惠政策
  • 怎样计算加班工资?
  • win8.1使用技巧
  • windows7 ie
  • w10 office激活
  • 退休后归什么部门管
  • win7家庭版开启administrator
  • macbook桌面2
  • linux内核驱动开发书籍
  • centos无法挂载位置
  • 项目部不足和改进
  • jquery从入门到精通
  • shell 解析yml
  • web前端网页设计师
  • 云南增值税普通发票怎么开
  • 贵州新农合可以打电话停保吗
  • 税控盘的服务费如何申报抵扣
  • 3000劳务报酬如何缴税
  • 武汉电子税务局申领发票以后如何自取
  • 遵从和尊重
  • 杭州市电子税务局官网登录
  • 金融机构不包括
  • 增值税税控开票软件怎么下载
  • 地税局的全称是什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设