| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 游戏开发 -> 引擎十一:体积感SSSSSR -> 正文阅读 |
|
[游戏开发]引擎十一:体积感SSSSSR |
(嗯,上面提出了5种sss,这个文章只是其中一种) 个人引擎还是停摆中,正参考一个不错的开源引擎:overload,采集灵感,也因为上一节的反射探针该引擎没有(个人引擎更是没有),所以还是继续用Unity做以下演示 次表面散射入门次表面散射 - 以下简称SSS。。。。。。。。。。。。 上一节完成了PBR渲染,实现反射(基于Cubemap), 本来觉得像素风手和武器发光的部分就酱 <主要是想偷懒,lut不想研究,关键字,米哈游,原神,渲染分享> 结果这个亚索皮肤,绿色手发光的部分,看上去用SSS实现也不错 <做了一个开关,可以选择0.关闭,1.全身,3.detailsMap只映射手的部分> 一般的SSS可以用在玉石等半透明渲染 这个文章说到皮肤的 lut 实现: 但我不确定是不是同一样的东西,某大神提出的反面再创造一个光,正反两面打光就可以做到”简单“的Mobile版本的次表面散射: 关键的关键还是在于这是打光,也就还是一个光照模型 原理公式就不在这里推了,不画图了,无非就是一个平面,一个光线反射+折射,网上很多 <当然各种 N L V H 的定义必须掌握,个人水平不到,说不清楚,如从0开始学,还请自行百度> 掌握渲染的方法有4个 看书 日常观察 看视频 看博客 光照模型公式快速略过(待补充) 关键代码:
后记:这个实现有bug的,某些角度会有强白光,转动远镜头时看上去”一闪一闪的“代码和大神一模一样的,大神还用了4盏点光源,所以避免了单一平行光的这个强白光bug,这个之后再看怎么修复吧; 虽然说用了Fake的SSS方法(不完善,新方法,必然引入了bug),减少了性能消耗,但没有真机测过,要是上测试,还会有更多各种BUG; 只是符合个人状态的实现,主要想讲一些SSS理论,因为实现真的可以多种多样,各个团队需求也不一样; 有空还是要把真的SSS实现一遍,并掌握; 因为是Fake的方法,两面打光这个”设计“很厉害(大神的思路),但确实不是理工科的设计,整个渲染肯定不会很”物理化“,肯定不是纯粹的PBR; 参考:Simple Subsurface Scatterting for Mobile – (一)通透材质的次表面散射 – WalkingFat https://www.youtube.com/watch?v=RPkhbjmmvS0 ??????Translucent Shader for Unity3D | James O'Hare, Game Character Artist: Blog 后记之后记真的不记得当年写过上面这样的文档,现在再也写不出来了(公式推导,过两天11月前应该会补一下吧) 参考x2 有2个开源项目,不容易了,感觉现在或者一直以来TA都没点分享精神,这个有分享算不错的了。。。。。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 | -2025/1/17 6:10:01- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |