这个高光这个以前从来没有仔细研究过,感觉云里雾里,现在突然觉得这个参数简直是模型救星!

首先解释一下这个冯氏高光是个啥:

冯氏光照模型是由三部分组成,一个是环境光,一个是漫射光,还有一个就是镜面光。冯氏光照模型的提出主要就是为了去做出光照效果来影响物体的表面的颜色的。冯氏模型阐述了镜面光的计算依赖于观察者的观察方向和反射光向量之间的夹角,所以下面就会去去简单的介绍下镜面光的概念。高强度的镜面光趋向于它所照射的表面上形成一个亮点,也就是镜面亮点。这个镜面两点的应用的话,其实就好比现实世界中总是存在金属的,金属看上去具有金属光泽,会有一个亮点,其实我们的镜面光就是去模拟这个效果的。镜面反射可以使反射光线沿指定路径反射,常常用于聚光、增强亮度。
冯氏光照模型-作者rv0p111

没看懂吧,下面上个图就懂了


看到中间那个光晕了没,那个就是高光,这是blend中的冯氏高光效果
高光的参数有三个:1、颜色-贴图。2、硬度。3、强度。

为了方便看,我用了279的blend引擎,可以明显看到上面的白色,中间的强度,下面的硬度。

分别说一下:

1、贴图-颜色

这个影响的是高光的颜色

若我改了颜色则效果就是


有点那味了是吧,我再上个贴图

那么投射出来的高光就是贴图了,跟那种防盗水印似的。

随你的视角变化

2、强度

这是1.0

0.5

0.1
强度变小,越来越淡

3、硬度

硬度一般默认为50 (此时强度1.0)

硬度20

可以看到硬度变小,就是材料变软了光晕明显变大了
如果调到3 (1是最小值)

光晕就会变得巨大,如果此时在加上较弱的强度,那么质感就有了

白光不明显,加上贴图

啊,跑题了
这里只是简单介绍一下关于冯氏高光的知识点,下面进入正题!!!

SFM中的冯氏高光

先上vmt:有用的参数

 //冯氏高光$phong 1$basemapalphaphongmask//使用$ basetexture的Alpha通道,可以同步透明部分?$phongexponent "50"//硬度-int$phongboost "1.0"//亮度-float-0-1$phongalbedotint "1"//允许高光贴图有颜色属性附到反照率$phongexponenttexture "cold\mm"//高光贴图(硬度贴图)$phongfresnelranges "[0.05 0.5 1]"//菲涅尔//"$phongwarptexture"  "cold\mm3"//翘曲

上个对比图

硬度:

说明

这里要说明一点,虽然$ phongboost 亮度是取值0-1.0但是仍然可以取值超过1.0甚至取到10.0都是可以的,着色器仍然正常工作!亮度越大,你就越感觉那个光发油!油腻腻的感觉!
然后就是$ phongexponent 硬度只要是大于等于1的整数都可以,硬度越小,高光的光晕约大,硬度越大,高光的光晕越小。小硬度模拟磨砂、布料,大硬度模拟金属、玻璃。

如果你搞一个1.5硬度加50亮度的模型,那么效果就很有意思了

效果图暂时找不到了,本来想上传一个吃鸡男性角色那个
那个就是油腻腻的皮肤,其实是个反例嗷

二、高光贴图

来说一说

  $ phongalbedotint "1"
//允许高光贴图有颜色属性附到反照率

这个如果不开的话,高光贴图的颜色根本不会应用到模型上,相当于

 $phongexponenttexture "cold\mm"//高光贴图(硬度贴图)

这个参数的开关了
那么高光贴图又是干啥用的?
还是上图:

看见丝袜上的小纹路了没,那个就是高光贴图的效果,这个高光贴图只会用于高光反射光。如果不打光的话,那这些根本看不到的。

高光贴图相当于一个高光下的细节纹理了。

这里提一嘴:高光贴图与法线贴图同时使用的话更配哦(提一嘴:$ ssbump参数可以自动通过高光图生成法线图)。可以加深效果。
如果此时环境中有很多光,那么效果爆炸!

哦对了,顺便提一嘴:各位看到这个丝袜的高光特别细没,一般高光就是一个点亮,这个是一长条都亮,明显是用了菲涅尔效果,关于更多菲涅尔效果的说明也会在以后讲!

关于做高光贴图我会单开一个文章讲,先欣赏一下高质量模型~

优秀案例:


三、翘曲参数

这个就很有意思了,这个参数官方都没怎讲!

就这么一嘴,我就自己搞了一会,给整明白了
我在昨天更新了vmt科普的帖子,里面新加了个lightwarptexture参数,那个参数的效果是基础的反照率的效果,可以是基础贴图的光发生改变,贴图是个一维色带,可是$ phongwarptexture参数用的是二维色带!而且效果用于高光反射!
我自己搞出的效果如下:

左边是我用的贴图,右边是效果!你会发现本来应该照在模型上均匀衰减的光强变成了一道道的同心圆
原因就在于,默认的翘曲贴图应该是从左到右,从黑到白渐变,可是我加上的贴图发生了变化,
从左到右依次是黑白黑白来回变化,所以光照也发生了变化,可以理解成从左到右是一系列坐标,坐标对应的是光照强度对应的效果!

所以,我又尝试了彩色贴图:

于是我发现了新大陆。

但实际上这个效果并不是这么用的,请看工坊大佬做的猫女皮衣效果:

发现没有?先不说由法线贴图+高光带来的效果,看它的反光!

这不就是我一直苦苦在寻找的–模拟环境光反射吗?之前有个苦恼,只要一使用envmap,那么phong高光直接跟你说再见,二者不兼容啊,那我想给高光加上环境信息那还有可能吗?
答案当然是,响屁吃!吃响屁!sfm还反射环境,还光追,追你妹。
所以这个作者很机智的使用了一个翘曲参数模拟环境光!

看到名字没,softcube
soft是柔软变化,cube即为envmap的cube_map的cube,意思是立方体,也就是环境盒,
作者明显是想用这个蓝黄色调的图片模拟环境光!效果也很明显!

(ps:其实我这里说错了,其实作者用的应该是lightwarp,但是这两个warp实现的效果类似,差不多的,你也可以吧warp贴图放在phong上,但是很可能会出现小小的问题啦,就比如白光照射只反射蓝光什么的,所以建议两个warp参数同时使用啊!)

参考文献:valve开发者论坛

VMT进阶2-冯氏高光相关推荐

  1. VMT进阶1-自发光

    首先骂一句起源引擎哈: 真垃圾!就算要我努努饿死,从这跳下去!我也不会用你起源引擎做自发光! 诶,真香嘿!兄弟你也来做吧! 澄清一点,之前那片vmt科普里面有很多错误,多到数不清了,所以建议看一下说明 ...

  2. Opengl-光照-基本光照-冯氏(千万好好理解后面所有的延伸基本都是基于这个的)

    前言 前面我们基本理解了怎么模拟光,怎么设置光的颜色以及物体的颜色来非常不生动形象的模拟光在计算机中.肯定在想,怎么能真的像生活中那样物体可以反光,然后有凉的地方也有不凉的地方,光也有强弱这种?其实前 ...

  3. 请简述gouraud光照模型_OpenGL ES for Android(冯氏光照)

    冯氏光照模型 想要模拟真实世界的光照效果是比较困难的,我们使用一种叫做冯氏光照模型(Phong Lighting Model)的模型来实现近似的效果.冯氏光照模型的主要结构由3个分量组成:环境(Amb ...

  4. 南邮——计算机图像学——光照、冯氏光照模型

    颜色可以数字化的由红色(Red).绿色(Green)和蓝色(Blue)三个分量组成,它们通常被缩写为RGB.这三个不同的分量组合在一起几乎可以表示存在的任何一种颜色. (一)观察物体 (1)物体的片段 ...

  5. 【OpenGL学习笔记⑧】——键盘控制正方体+光源【冯氏光照模型 光照原理 环境光照+漫反射光照+镜面光照】

    ✅ 重点参考了 LearnOpenGL CN 的内容,但大部分知识内容,小编已作改写,以方便读者理解. 文章目录 零. 成果预览图 一. 光照原理与投光物的配置 1.1 光照原理 1.2 投光物 二. ...

  6. OpenGL phong lighting冯氏光照的实例

    OpenGL phong lighting冯氏光照 先上图,再解答. 完整主要的源代码 源代码剖析 先上图,再解答. 完整主要的源代码 #include <shader.h> #

  7. 冯氏结构、哈佛结构、超级哈佛结构之间的异同

    冯.诺伊曼结构     1945年,冯.诺伊曼首先提出了"存储程序"的概念和二进制原理,后来,人们把利用这种概念和原理设计的电子计算机系统统称为"冯.诺伊曼型结构&quo ...

  8. 直击进博会 | 丹佛斯、法孚、诺华、诺和诺德、波士顿科学、欧加隆、冯氏集团、阿迪达斯等在华签约合作...

    美通社消息:第五届进博会开幕以来,各展馆陆续迎来集中签约,达成数百项合作意向.通过进博会的"黄金窗口",各大跨国企业携手合作伙伴,加速将更多创新产品引入中国,更多服务落地中国,扩大 ...

  9. 冯氏竟是司马迁的后裔!冯氏历史上还出过哪些战功赫赫的大将军?

    冯氏竟是司马迁的后裔!冯氏历史上还出过哪些战功赫赫的大将军? 如果说正史是如鲁迅先生所说的"帝王的家谱",那么民间的宗谱就是"山寨版"的正史.一个家族的宗谱能够 ...

最新文章

  1. FPGA加载bit文件可以工作,加载mcs不能工作的原因
  2. 网络安全比赛理论答题(五)
  3. 解决spring boot项目启动后访问接口出现日志乱码
  4. 搜索引擎新架构:与SQL不得不说的故事
  5. python中的类装饰器应用场景_这是我见过最全面的Python装饰器教程了!
  6. java计数器策略模式_java设计模式(二十一)--策略模式
  7. Problem B: 求各位数字之和
  8. python3主函数返回值_Python3
  9. DenseNet简单总结
  10. Java接口自动化之TestNG单元测试框架(一)
  11. php 不同数据类型比较
  12. SQL server连接数据库
  13. 修改网页标题前面的logo
  14. Windows 7和Windows10 修改文件、文本文档后缀时不显示后缀名真么办?
  15. 苹果手机升级后开不了机怎么办_iPhone8突然黑屏开不了机怎么办?西安苹果售后维修点教你这样解决...
  16. matlab显示大图像
  17. 读书笔记 --- 组织结构设计
  18. ZZNU 2125:A + B 普拉斯(傻逼题+大数加法)
  19. 【没用的小知识又增加了--CCS】
  20. 少儿学python真的有用吗_如何看待海淀妈妈们认为Python是儿童才学的低端编程?...

热门文章

  1. csdn头像怎么改不了解决方法
  2. 国产开源基于 Java 的轻量级 CMS 解决方案 天梯
  3. mysql order by = 用法说明(order by id=1 desc/asc)
  4. 《C语言程序设计》江宝钏主编-习题3-7-交换变量
  5. 【C++实战 】标准库
  6. 20考研数一137分考研数学经验分享
  7. 三极管驱动和MOS管驱动的区别
  8. 达人评测 酷睿i7 1195g7和i7 1260p对比选哪个
  9. Android 闹钟详解
  10. sendgrid html text,用sendgrid发邮件