AEJoy——实现层空间变换(toComp)的表达式实例(一)

举报
ShaderJoy 发表于 2021/11/19 00:37:51 2021/11/19
【摘要】 3D 镜头光晕 效果图 下面是一个图层空间变换的实际应用。设置是这样的: 你已经构建了一个复杂的 3D 合成,接着通过移动一个光源来实现动画效果。你可能会想用某种方式使光本身可见。有一个绝妙的主意...

3D 镜头光晕

效果图

在这里插入图片描述

下面是一个图层空间变换的实际应用。设置是这样的: 你已经构建了一个复杂的 3D 合成,接着通过移动一个光源来实现动画效果。你可能会想用某种方式使光本身可见。有一个绝妙的主意,即如果你能在光的顶部放置一个镜头光晕,你就可以达到这种效果。当然,问题是,镜头光晕效果是一个应用到一个 2D 层 的 2D 效果。所以我们需要的是一种将光在 3D 空间中的位置映射到(代表摄像机视图的) 2D 平面的方法。

此时 “toComp” 函数就可以完美胜任图层空间变换的工作。在这种情况下,我们使用 “toComp” 而不是 “toWorld” ,因为我们想让镜头光晕跟随光线在相机视图中的位置(这是 “toComp” 所做的),而不是在世界空间中的位置。

记住,当你使用 “toComp” 时,你希望从层的空间坐标(即相对于层的左上角)中的一个点开始。对于大多数层来说,锚点是符合逻辑的选择,因为锚点总是在层的坐标系统中表示的。为了验证这一点,只要创建一个任意大小的图层,你会注意到锚点的 x 坐标总是图层宽度的一半,而 y 坐标是图层高度的一半。

不幸的是,灯光和摄像机没有定位点。这没关系,因为我们真正需要的是知道,在光的坐标系中,光在位置就是 [0,0,0] 。因此,我们需要做的就是为 “Flare Center” 参数写一个表达式,将其映射到光源位置

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

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

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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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