位置: 编程技术 - 正文

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

  • 进项税额怎么抵税
  • 票据承兑和贴现市场上最主要的交易对象是( )
  • 支付广告roi
  • 实收资本实缴需要什么手续
  • 个体工商户装修经营范围
  • 专票红冲账务处理
  • 个人所得税如何申报
  • 建设期利息对当年的借款如何计息?
  • 银行理财产品赎回
  • 其他应付款重分类到哪个科目
  • 防洪费计税基础
  • 印花税的基数及标准是多少?
  • 资本溢价公积金计算公式
  • 内账和外账会计哪个简单
  • 亏损企业所得税汇算清缴怎么做
  • 医疗保险费扣除比例
  • 企业开具咨询费的发票
  • 商铺买过来需要交税吗
  • 个体工商户核定征收怎么报税
  • 国税地税纳税申报
  • 企业对外捐赠现金的会计处理
  • 支付拆迁补偿款做账
  • 电脑搜狗输入法不见了怎么调出来
  • PHP:pg_select()的用法_PostgreSQL函数
  • 应收账款挂账多年
  • 私营独资企业交个税怎么交
  • sass转化为css
  • 林木业折旧年限
  • php 面向对象
  • php使用函数限制字符串长度和格式
  • 企业利润总额为负
  • 计提的增值税可以扣除吗
  • laravel orm使用
  • php常用字符串函数讲解
  • 待抵扣进项税在贷方什么意思
  • mysqljoin查询
  • vue数据表
  • vue有哪些方法
  • 网上学电脑
  • 计提票面利息
  • 企业投资入股要交多少税
  • 金融资产减值的三个阶段
  • 研发费用计入营业利润吗
  • 运输发票税金如何入账
  • MySQL中UPDATE与DELETE语句的使用教程
  • 增值税扣税凭证进项税额转出情况核实函
  • 个体工商户增值税申报操作流程
  • mac下安装mysql
  • 金税三期税收管理系统打印控件
  • 出口货物做免税处理
  • 固定资产后续计量包括哪些内容
  • 生物资产包括哪两类
  • 个人所得税汇算年收入不超过12万
  • 以长期股权投资换入存货
  • 购买的电子承兑公司怎么平账做收据
  • 清算中的企业能恢复吗
  • 支付快递费怎么做账
  • 购买天然气进项税额
  • 物流行业货币资金占比
  • 账簿的保管年限有哪些规定
  • win7怎么看
  • ubuntu for windows
  • linux系统怎么安装
  • Linux系统网络配置
  • cocos2d-js-min.js
  • jquery虚拟dom
  • cocos2dx游戏开发
  • js是函数式编程语言吗
  • hadoop有几个版本
  • 理解和运用的重要性要站在哪个的视觉去判断
  • 安卓键盘软件
  • android设计模式书籍
  • acrag
  • jquery中有几种方法可以来设置和获取样式
  • 北京亦庄开发区属于哪个区
  • 出租车发票真伪怎么查询
  • 供暖配套费
  • 税务局风险评估是什么意思
  • 工商登记是实质性的吗
  • 山东发票认证勾选平台网址
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设