位置: 编程技术 - 正文

Unity3d shader之次表面散射(Subsurface Scattering)(unity的shader用法)

编辑:rootadmin
次表面散射是一种非常常用的效果,可以用在很多材质上如皮肤,牛奶,奶油奶酪,番茄酱,土豆等等 初衷是想做一个牛奶shader的,但后来就干脆研究了sss这是在vray上的次表面散射效果

推荐整理分享Unity3d shader之次表面散射(Subsurface Scattering)(unity的shader用法),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:unity shader lod,unity的shader用法,unity shader discard,unity shader discard,unity的shader用法,unity shader mul,unity shader discard,unity shader discard,内容如对您有帮助,希望把文章链接给更多的朋友!

这是本文在unity中实现了的次表面散射效果:

左侧为BRDF(双向反射分布),右侧为BSSRDF(双向次表面散射反射分布) 各参数如上为:S:BSSRDF结果Rd: BSSRDF的漫反射Fr:: 菲涅尔反射Ft: 菲涅尔透明度,透射比Fdr: 菲涅尔漫反射的反射率E:辐照方向Wiki中给出:radiant fluence is the radiant energy received by a surface per unit area, or equivalently the irradiance of a surface integrated over time of irradiationPhi:每单位表面受到的辐照能Sigma A: 吸收率Sigma S: 散射率Sigma T: 消散率Sigma T’ : 减少消散率Sigma TR : 有效消散率D:漫反射常量Alpha: 反射率P:相函数Eta:反射的相关指数g:散射角的平均cos&#;Q:源分布&#;Q0:第0个源分布Q1:第1个源分布漫反射近&#;漫反射近&#;是基于光线高分散媒介倾向于各向异性的观察,光源的分布与相函数是各向异性的。每次散射都模糊了光线的分布,随着散射的次数增多导致光线的分布更加均匀。这种辐照类&#;于一个二项式涉及单位表面受到的辐照能和辐照方向

使用了Henyey-Greenstein的相函数: 常量决定于单位表面受到的辐照能和辐照方向。对于一个无穷小的光线进入了一个媒介,入射能量将随着进入深度s呈指数性减小减小强度:

第一次散射减小强度,被作为体积来源处理

次随机光线散射方向

观察光在体积内部传播行为,这个方程式很有用 这个方程式与辐照度标量或通量相关 第0个与第一个源分布公式 Sigma参数之间的互相推倒,光线变成各向异性的,后向散射关系改变了净通量,前向散射与无散射是没有区别的。此处D = 1/(3* sigma_T’);是漫反射常量最终我们得到了漫反射公式 漫反射部分的推导公式,得到如下结果 在做定积分时进行叠加了次随机光线散射方向,效果还算不错。漫反射的反射部分然后就是求漫反射的反射部分菲涅尔反射公式,在可传导介质的菲涅耳漫反射的反射: 媒介本身的性质不同反射器情况也不同,Eta为这种性质的相关指数 这是经过精确测量的反射率,我们可以用这个公式来免去计算消耗通量公式: Dr = ||x - xr||为当前点与光源的距离Dv = ||x-xv||为当前点与&#;睛(相机)的距离Φ为光源强度最终,我们的反射公式为

在最后加入Physically-Based Rendering的specular,大功告成参数调节关于参数调节,参数非常不好调,pdf上和自己弄得参数不搭,只能自己调了 Unity3d shader之次表面散射(Subsurface Scattering)(unity的shader用法)

最终效果:

参考:

1. A Practical Model for Subsurface Light Transport

2. A Measurement-Based Skin Reflectance Model for Face Rendering and Editing

----- by wolf

UV动画/纹理融合/法线贴图/过程纹理 让VS支持Shaderlab语法VS中并没有Shaderlab的语法高亮,好在网上已经有个插件来支持语法的高亮和拼写提示,从这里下载插件,双击安装就好了。Shaderlab

unity笔记 1.如果遇到一运行unity就暂停的情况,只要把Console面板的ErrorPause关闭就可以了2.如果我们想在场景中沿着世界坐标移动物体,可以点击如下按钮把本地坐

【猫猫的Unity Shader之旅】之UV动画 UV动画是一种常用的渲染技巧,经常用来描述水的流动、霓虹灯的闪烁等。实现的原理就是动态修改贴图的UV坐标,使物体表面产生变化。贴图坐标说到U

标签: unity的shader用法

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

上一篇:WinForm中UnityWebPlayer屏蔽右键菜单

下一篇:UV动画/纹理融合/法线贴图/过程纹理(uv纹理编辑器贴图移动)

  • 建筑业一般纳税人可以开3%的发票吗
  • 外资企业内资企业
  • 个人所得税中社保填写在哪昆山
  • 专项资金支出流程
  • 退货开具红字发票销项税为负数税务局会查吗
  • 固定资产不提折旧怎么算
  • 收入转本年利润的会计分录
  • 印花税,车船税通过应交税金科目吗
  • 机械租赁公司拿什么发票做成本账
  • 固定资产转售
  • 汇算清缴前未取得发票账务处理
  • 银行结算账户的规定
  • 暂估费用时可以抵扣吗
  • 开具增值税专用发票承诺函
  • 污水处理费怎么收取的
  • 公司做账挂名字
  • windows10如何开热点
  • 税后利润是股东权益吗
  • 中秋购物
  • 不征税收入如何记账
  • PHP:Memcached::prepend()的用法_Memcached类
  • 小规模纳税人的企业所得税税率
  • 公司备用金申请单
  • PHP:pg_connection_status()的用法_PostgreSQL函数
  • 企业自产自用产品要交增值税吗?
  • 建筑业异地施工可以先开发票么
  • 电影剧本如何代替
  • 初雪与最后的秋天的区别
  • 浅析人物形象的论文开题报告
  • 定额发票丢失了怎么补办
  • 会计分录怎么分借方和贷方
  • 购买增值税税控系统如何抵扣增值税
  • gawk命令 模式扫描与处理语言
  • git 查看所有commit
  • 固定资产账面净值和账面价值的区别
  • 财务核算科目核算流程图
  • 累计折旧是当月提还是下月提
  • 用vue-cli搭建项目
  • 小规模季度免税政策
  • 加油卡充值如何退款
  • 售后领料怎么做会计分录
  • mysql 优化口诀
  • 淘宝电子发票怎么申请
  • 收到厂家返利如何计算成本
  • 小规模纳税人减按1%如何填报申报表
  • 研发支出是什么性质的科目
  • 费用少计提了怎么办
  • 建筑企业增值税怎么算
  • 承租方承担的税费有哪些
  • 工会经费怎么计提及使用
  • 工资和社保基数的关系
  • 一次性伤残就业补助金怎么领取
  • 本年负数去年正数如何算同比
  • 支付中标服务费借款情况说明怎么写
  • 净现值率和现值指数与净现值什么时候它们评价结果一致
  • 发票开票服务名称
  • 期末留抵税额可以冲减欠税吗
  • mysql数据库数据备份
  • win7系统设备管理器其他设备有个未知设备叹号
  • window10 左下角
  • xp系统蓝屏解决
  • linux系统中对新磁盘分区的命令
  • hda linux
  • windows7不显示移动硬盘
  • cocos2dx4.0教程
  • opengl怎么学
  • 安卓域名重定向
  • 编写批处理
  • unity ui碰撞
  • Node.js+Express+MySql实现用户登录注册功能
  • js判断路径下图片是否存在
  • python如何获取
  • android 基类
  • 深圳12366怎么转人工
  • 挂车买保险是怎么买的
  • 深圳少儿电子医保卡怎么用
  • 浙江税务局12366
  • 深圳国税网上申报流程图
  • 税务部门政务公开
  • 北京车船税新标准
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设