AE插件Saber

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AE插件Saber相关的知识,希望对你有一定的参考价值。

参考技术A 当我们希望saber特效作用于指定路径时,可以选择该属性下图层蒙版项(Layer Masks)。

扩展:如何在AE中精确创建特定尺寸及位置的蒙版?(如在800x600的固态层的中心位置创建尺寸为200X200的方形蒙版)

第一步:选中该固态层,双击工具栏中的矩形工具,为该固态层创建一个画布尺寸大小的矩形蒙版;

第二步:展开该固态层的蒙版属性面板,点击蒙版路径"项右侧的“形状...”,在弹窗中设置蒙版的位置及大小

为了比较准确的了解这几个属性,我们来做几个小测试:

新建一个固态层,用钢笔工具作出路径蒙版(路径起点记为A,路径中点记为B,路径终点记为C),为固态层添加效果>saber,将 “Core Type”设为“Layer Masks”。

首先,将“Start Size”设为200%,"End Size"设为0,结合默认参数(Start Offset:0%、End Offset:100%),可以得到下面效果

接着滑动 “Start Offset” 的滚动条,可以看到随着该值的增大,光效的头部(粗端,特效近路径起始点一端)距离路径起点A越来越远,当偏移值为50%时,光效头部偏移至路径中心点B处,当偏移值为100%时,光效头部和光效尾部(细端,光效近路径终点一端)重合(光效完全消失了)

要注意的是,在实际的操作中,我们发现“Start Size”和“End Size”具有“强限制性”,即因调整“Start Offset”和“End Offset”的值导致特效头尾交换相对位置时,特效两端的相对粗细依然会保持最初的状态(初始时特效为上大下小,特效头尾交换位置后,特效外观仍为上大下小),具体如图所示:

根据这一特性,我们容易理解,若要在下图所示的完整的路径AC上得到BC段特效的形态,我们会有两种方法

1)Start Size:0,End Size:200%,Start Offset:50%,End Offset:100%(常规的偏移方式)

2)Start Size:0,End Size:200%,Start Offset:100%,End Offset:50%(特效初始头尾交换相对位置的方式)

Mask Evolution:蒙版(路径)演化,通过该属性可以控制路径的偏移,从而使依附在路径上面的光效产生位移动画。虽然光效的偏移动画我们也可以通过改变 “Start Offset”和 “End Offset” 的值来实现,但在某些情况下,使用 “Mask Evolution”要更为简单优雅一些。例如下面的头像框扫光效果运用该属性来制作就很方便:

具体的实现方法:

1)在面板中调整参数:Start Size:0,End Size:200%,Start Offset:50%,End Offset:0%(Start Offset:0%,End Offset:50%亦可),得到光效的静态效果,如下图所示:

2)在时间轴首尾两端对Mask Evolution打关键帧(首帧:0x+0°;尾帧:1x+0°),即可达到逆时针的沿路径循环扫光效果。如果想要顺时针的扫光效果,我们把尾帧的值改为:-1x+0° 即可。

AC Saber离散化

目录

离散化

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<map>
#include<vector>
using namespace std;
typedef pair<int,int> PII;
vector<int>sum,all;
vector<PII>ve;
map<int,int>mp,vis;
int n,m;
int find(int x)
{
    int l=0,r=all.size()-1;
    while(l<r)
    {
        int mid=l+r>>1;
        if(all[mid]>=x) r=mid;
        else l=mid+1;
    }
    return r+1;
}
int main(void)
{
    cin>>n>>m;
    while(n--)
    {
        int x,c; cin>>x>>c;
        mp[x]+=c;
        if(!vis[x]) all.push_back(x),vis[x]++;
    }
    while(m--)
    {
        int l,r; cin>>l>>r;
        ve.push_back({l,r});
        if(!vis[l]) all.push_back(l),vis[l]++;
        if(!vis[r]) all.push_back(r),vis[r]++;
    }
    sort(all.begin(),all.end());
    sum.push_back(0);
    for(int i=0;i<all.size();i++) sum.push_back(mp[all[i]]),sum[i+1]+=sum[i];
    for(int i=0;i<ve.size();i++)
    {
        int l=find(ve[i].first);
        int r=find(ve[i].second);
        cout<<sum[r]-sum[l-1]<<endl;
    }
    return 0;
}

以上是关于AE插件Saber的主要内容,如果未能解决你的问题,请参考以下文章

MAC版AE插件怎么安装到扩展里

Video Copilot Saber 插件视频教程https://www.cgaee.com

Video Copilot Saber 插件视频教程https://www.cgaee.com

AE插件有哪些?怎么安装?AE插件大全 史上最全AE插件

AE插件element怎么做3D文字

AE插件element怎么做3D文字