位置: 编程技术 - 正文

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

  • 支付工资代扣个税会计科目
  • 金税四期不会对个人产生影响
  • 实收款比应收账款少3万怎么处理
  • 生产经营所得税怎么申报
  • 职工取暖费可以一次性发放吗
  • 怎么登记明细账
  • 开具的红字发票金税三期怎么报税?
  • 验资报告费用计入什么科目
  • 房屋建筑物评估技术鉴定表
  • 职工的保险费在哪里查
  • 上月未申报纳税补申报怎么做不会有罚款吗?
  • 商业企业取得农产品税收
  • 已认证未抵扣的发票,又做了红字,如何处理
  • 房产税计税依据房产原值怎么算
  • 一般纳税人能开3个点的专票吗
  • 适用简易计税方法的企业提供适用零税率的应税服务
  • 预提怎么写会计分录
  • 防伪税控服务费减免文件
  • 发票不验旧可以领取新的吗
  • 外汇收入会计分录
  • 企业购买可转债会计分录
  • 1697510768
  • 发票备注栏的填写规定
  • 施工图审查费入哪个科目
  • 新手应该怎么样
  • wordpress文章缩略图
  • 多付货款退回的法律依据
  • bug is
  • 怎么修改?
  • 收取跨年租金会计处理
  • 经营租入的固定资产是什么意思
  • 欧罗巴山国家公园旅游攻略
  • php linux 环境搭建
  • 房产税土地税用不用计提
  • 销售多余材料的收入属于收入吗
  • vue set up
  • vue2和vue3面试题
  • 微信小程序完整授权
  • Android ImageView使用详解(系列教程三)
  • php常用的打印函数
  • PHP编写简易计算器
  • 付临时工工资需要什么材料
  • 上市公司发行股票会计分录
  • 新购买的发票如何读取
  • 融资租赁业务的程序主要有
  • 企业转让无形资产取得的收益应计入营业外收入
  • mysql binlog详解
  • mysql数据库常用sql语句
  • 增加固定资产原值50%以上
  • 可以现金结算的业务
  • sql server 内存管理
  • 购买方收到红字发票怎么做凭证
  • 电子税务局是指什么意思
  • 银行承兑汇票包括支票吗
  • 银行存款日记账填写样本图
  • 以前年度未处理往来账怎么叫
  • 企业贷款业务
  • 来料加工和进料加工的相同之处
  • 固定资产原值会减少吗
  • 小规模纳税人销售使用过的固定资产
  • 会计科目的设置原则包括( )
  • sql只能查询数据,不能修改数据
  • SQL 导入导出Excel数据的语句
  • 苹果手机价格
  • samba开启
  • mac如何恢复到出厂系统版本
  • eac.exe是什么
  • ubuntu切换登录用户
  • centos7.7安装
  • 铁嘴啥意思
  • cocos2d安装
  • javascript的三种主要数据类型
  • nodejs怎么安装npm
  • js异步编程的四种方法
  • zigzag源码
  • 浅析Python中MySQLdb的事务处理功能
  • javascript面向对象 第三方类库
  • python爬取前程无忧
  • 税务总局电子申报软件39
  • 土地增值税计税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设