位置: 编程技术 - 正文

【猫猫的Unity Shader之旅】之高光材质(猫的游戏视频)

编辑:rootadmin

推荐整理分享【猫猫的Unity Shader之旅】之高光材质(猫的游戏视频),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:猫的猫的视频,猫的所有视频,猫的猫的视频,猫的好玩视频,猫猫的游戏,猫的游戏视频,猫的游戏视频,猫的猫的视频,内容如对您有帮助,希望把文章链接给更多的朋友!

  之前我们的Shader用的光照模型都是Lambert,这种光照表示的是一种漫反射的情况。所谓的漫反射,表示的是光线照射在粗糙的表面的情况。由于表面粗糙,根据反射的规律,光线会被反射到各个方向。现实生活中有许多漫反射的情况,木头桌子,岩石,墙面,都是漫反射。

  但是只有漫反射是不够的,现实中还有许多其他的情况。其中一种就是我们今天讨论的高光情况,高光其实表示的是一种接近于镜面反射的效果。对于镜面反射,由于反射的方向比较固定,导致我们可以再某个点看到大部分的反射光,而在其他店看不到或者只能看到很少的光。也就是说,当有反射光线进入眼睛我们会在材质上看到一个很亮的部分,反之则会很暗。常见的高光效果有汽车表面的金属材质,油漆过的家具表面,还有猫猫三天没有洗的头发~~~

高光材质的光照模型分析

  显然,Lambert光照模型并不能实现高光效果,我们需要用到新的光照模型:Phong和BlinnPhong。

  这些光照模型,之前也有说过,其实是一种算法,根据SurfaceOutput中的信息,最终计算出片段颜色。但是要问为什么要这么算,就有点复杂了,因为Shader的算法有很多时候不像平时程序的算法,有个总体的思路。像光照模型之类的算法的产生,基本上有两种:模拟自然界的物理规律,利用复杂的计算产生真实的效果和利用经验调出以假乱真的效果。不论是哪种形式,都不是适合初学者去学习和掌握的,所以猫猫觉得,我们学习某种光照模型,对于它为何要这样计算,现阶段更多的是有个了解,最重要的是,去学习如何使用它以及用到的一些知识和技术。

  对于BlinnPhong光照,Lighting.cginc里面为我们提供了实现,我们可以用#pragma surface surf BlinnPhong来使用它。现在,我们可以先简单的了解下这个模型:

【猫猫的Unity Shader之旅】之高光材质(猫的游戏视频)

  虽然不懂BlinnPhong为何要这么计算,但是我们可以发现它用到了三个变量_SpecColor、s.Specular和s.Gloss。_SpecColor直接参与了最终颜色值得计算,_LightColor0.rgb * _SpecColor.rgb * spec这部分对原有光照的颜色进行了补充,其实就是高光部分的颜色,而s.Specular和s.Gloss参与了spec的计算,控制了高光的范围和强度。

  下面让我们来用一用这个光照模型吧:

  运行效果如图:

  

利用贴图模拟不同部分的高光

  上面的效果符合单一材质的高光效果,比如汽车车身的亮斑,但是如果要表现复杂的情况,比如一些锈迹斑斑的金属,没有生锈的地方我们希望它有强烈的高光,生锈的地方希望没有或者只有少量的高光。这就需要我们对模型不同部位的高光强度区别对待了,而最擅长做这种区别处理的,显然就是贴图了。明白了这个道理,代码其实就很简单了:

结束语

  这段时间工作一直比较忙,更新的比较慢了,这篇文章写得也是比较匆忙。关于高光这部分,主要是学会如何去使用,顺便大概地了解下工作原理。再见~

unity 实例化命令:检测开火键,给物体加力、 销毁物体脚本 if(Input.GetButtonDown(Fire1)){//检测开火键;//n是Transform类型;varn:Transform=Instantiate(newobject,transform.position,transform.rotation);//开火键按下后生成物体;varfwd:Vector3

【Unity】NGUI插件核心脚本类的继承关系 虽说目前(年3月日)Unity4.6版本之后推出的UGUI系统替代NGUI已是大势所趋,但作为被长久且广泛使用的优秀插件之一,NGUI的代码和架构依然有很多

将世界坐标转成NGUI坐标

标签: 猫的游戏视频

本文链接地址:https://www.jiuchutong.com/biancheng/380142.html 转载请保留说明!

上一篇:NGUI之UICamera

下一篇:【Unity】NGUI插件核心脚本类的继承关系(unity官方插件)

  • 支付城镇土地使用税会计科目
  • 厂房自用和出租税收区别
  • 小规模纳税人怎么变成一般纳税人
  • 股票交易费用计入
  • 净现值为零时的收益率
  • 怎么处理善意取得的大头小尾发票?
  • 善意取得增值税专用发票如何处理
  • 车辆挂靠收取管理费怎么做账
  • 因增资扩股导致股价下跌
  • 印花税申报表如何填写
  • 退免税指的是增值税还是消费税?
  • 2021年沙子水泥税率是多少
  • 哪些情况下,企业需要进行分销渠道设计决策
  • 扩大税收来源什么意思
  • 长期股权投资撤股怎么处理
  • 超过认证期限的发票还能认证吗
  • 工程施工合同暂估价格入账会计分录
  • 装修费可以作为开办费吗
  • 库存商品在贷方怎么调回借方
  • 无形资产的相关税费包括增值税吗
  • mac安装windows不能用键盘
  • linux 如何查看网卡信息
  • linux中的util值很高
  • Win10 Build 21354 太阳谷ISO镜像版体验报告 含下载地址
  • fdisk分区工具怎么用
  • 生产物料报废
  • 产生转让损失
  • PHP:mdecrypt_generic()的用法_Mcrypt函数
  • 预付工程施工款会计分录
  • 工程物资已到发票怎么开
  • YOLOv8(n/s/m/l/x)&YOLOv7(yolov7-tiny/yolov7/yolov7x)&YOLOv5(n/s/m/l/x)不同模型参数/性能对比(含训练及推理速度)
  • 进口设备退增值税
  • 新建厂房的费用由谁承担
  • java泛型简单例子
  • 帝国cms手机模板是什么
  • 刚开始考会计证有用吗
  • python合并集合
  • 织梦官方网站
  • 织梦网站怎么改logo
  • 详解MySQL中EXPLAIN解释命令及用法讲解
  • mongodb怎么复制粘贴
  • 不开增值税发票的销售收入报税的操作流程是?
  • 一步一步的简单
  • 无票收入不走对公账户
  • 收到采购发票如何录入系统
  • 应付职工薪酬科目余额表怎么看
  • 销售货物收入指企业销售什么取得的收入
  • 七天年化收益率2%
  • 暂估入库的库存商品转成本吗
  • 物业公司支出费用
  • 期末贷方余额什么意思
  • 水电费进项税额转出20%
  • 无发票的费用怎么算
  • 公司账户美金入账后怎么做分录
  • 变更经营范围需要股东会决议吗
  • 游戏里区和服的区分
  • win8专业版系统更改电脑设置没反应
  • ubuntu系统怎么用
  • mac开机后蓝屏没反应
  • mac双系统怎么删除win系统
  • U盘写保护怎么处理
  • movie是什么文件
  • win7如何设置语言输入
  • perl语言
  • Vuforia ImageTarget Native版本编译
  • 安卓里面怎么调用方法
  • shell编程简单实例
  • 常用服务器配置
  • js 根据时间排序
  • 用javascript
  • python 正则 \s
  • 安卓自定义动态壁纸
  • javascript编程技术
  • jquery中的attr方法
  • 两个fragment之间传值
  • 河北地税代收工作怎么样
  • 出口退税是否缴纳所得税
  • 沈阳新公司办理社保流程
  • 长期挂账的其他应付款的规定
  • 新开公司交印花税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设