位置: 编程技术 - 正文

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%以上”?
  • 企业缴纳印花税会计分录
  • 私人公司老板
  • i912900k用什么主板好
  • 固定资产不入账是谁的责任
  • 投标保证金利息规定
  • 第三方开发是什么意思
  • 债权转增资本的条件
  • 可以税前扣除的支出
  • 付款凭证怎么填写电脑
  • 会计计量属性的是
  • 新税法减免项目
  • express框架使用
  • ros 2
  • 用python处理图像
  • 全网最详细的李白解说来了
  • phpcms建站流程
  • spring5和6差别大吗
  • 未开票金额怎么填写
  • 企业所得税申报更正怎么操作
  • 待报解预算收入扣款是什么意思
  • 外币汇兑损益怎么计算
  • 金税四期对建筑企业的影响
  • 个体工商户要做账报税吗
  • 背书的行为
  • 运输费属于生产成本还是制造费用
  • 退回增值税发票怎么做处理
  • 运输公司自有车辆是什么意思
  • 公司向股东个人借款
  • 二手车融资租赁被骗怎么投诉
  • 医疗器械行业进货未取得发票怎么做会计分录的
  • 营改增后工程项目计价规则也随之发生了改变对错
  • 会计中原始凭证是什么意思
  • mysql 5.7.11 winx64安装配置方法图文教程
  • sql 超时时间
  • mysql绿色版安装配置教程
  • cmd提示符基础知识
  • freebsd 安装
  • 无线网卡搜索不到无线网
  • 如何配置linux
  • win7怎么启用显卡
  • win7系统搜索在哪
  • win8取消开始界面
  • win8的ie浏览器
  • win7无法识别usb设备怎么办 五大方法来解决
  • 如何解决windows激活问题
  • linux中ftp命令的用法
  • es6数组函数
  • jquery animation
  • div style display none
  • Node.js node-schedule定时任务隔多少分钟执行一次的方法
  • 批处理 重命名
  • 安卓刷屏神器
  • 如何查询发票代码和发票号码
  • 专项附加扣除当月填报何时生效
  • 金税盘显示证书口令错误
  • 浙江省医保改革方案2022
  • 北京朝阳区地税局地址电话
  • 税务注销证明样本
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设