AEJoy —— 表达式之模拟光照衰减【JS】

举报
ShaderJoy 发表于 2021/11/19 01:16:06 2021/11/19
【摘要】 效果图 一个带单点光的合成且没有衰减的模拟 同样的合成且光衰减表达式应用到高光和漫反射属性 注意,当图层远离光线时,它们会变得更暗 想法 在 After Effects 中使用...

效果图

一个带单点光的合成且没有衰减的模拟

099.gif

同样的合成且光衰减表达式应用到高光和漫反射属性

199.gif

注意,当图层远离光线时,它们会变得更暗

想法

在 After Effects 中使用 3D 照明的一个挑战是 —— 光的强度不会随着距离的增加而减少。在现实世界中,光的强度随到光的距离的平方而衰减。我们想要做的是为这个自然现象想出一个令人信服的模拟。应该有变量,一来能允许我们指定光随距离衰减的快慢,二来层必须离光有多近,才没有衰减。

设计

当你将一个图层转换为 3D 时,它会拾取一些新的属性(这些属性与该图层对场景中的灯光的响应有关)。我们将使用其中的两个属性,“Diffuse”(漫反射) 和 “Specular”(高光),来创建我们的模拟。我们将把表达式应用到这两个性质上。为了简单起见,我们假设场景中只有一个光。我们将首先计算我们的图层离光线有多远。如果在 “无衰减” 阈值范围内,我们就什么都不做。如果超出了阈值,我们将随着距离的增加以指数形式减少参数值,使用 Math.e

文章来源: panda1234lee.blog.csdn.net,作者:panda1234lee,版权归原作者所有,如需转载,请联系作者。

原文链接:panda1234lee.blog.csdn.net/article/details/121299581

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。