AE中如何用摄像机来控制CCSphere的旋转

3年前发布

原创文章 / 三维 影视
崔小骏,禁止转载-禁止商业用途-禁止个人用途

这是无意间看到的一个黑科技,其实时间比较久了,10年就出来了,觉得很有趣分享一下

CC Sphere是AE中非常常用的一个特效,常用它来做一些地球之类的效果。但我们知道它是一个假的三维,如果打开三维图层,摄像机从侧面去看,会发现它只是一个薄片,而它的旋转需要靠CC Sphere参数里的Rotation属性来做。


而这一组表达式非常有趣,可以直接利用摄像机来观察你的CC Sphere制作的球体,让它变得像一个真正的三维球体了,并且还可以链接一个灯光层,用灯光层的位置来影响CC Sphere的照明


放动图来看一波操作:


以下是CC Sphere的X、Y旋转的表达式:

CC Sphere Rotation X:

    // change camera & effect names as needed...(根据需要更改相机和效果名称…)

    campos=thisComp.activeCamera.toWorld([0,0,0]);

    planetpos=thisLayer.toWorld(effect("CC Sphere")("Offset"));

    x=length([planetpos[0],planetpos[1]], [campos[0],campos[2]]);

    y=campos[1]-planetpos[1];

    alpha=Math.atan2(y,x)

    value+radiansToDegrees(alpha) ;

CC Sphere Rotation Y:

    // change camera & effect names as needed...(根据需要更改相机和效果名称…)

    campos=thisComp.activeCamera.toWorld([0,0,0]);

    planetpos=thisLayer.toWorld(effect("CC Sphere")("Offset"));

    x=campos[0]-planetpos[0];

    y=planetpos[1]-campos[2];

    beta=Math.atan2(y,x)

    value+radiansToDegrees(beta) - 90;

这是光照的表达式。

CC Sphere Light Height

    // change camera & light names as needed...(根据需要更换相机和灯光名称)

    campos=thisComp.activeCamera.toWorld([0,0,0]);

    planetpos=thisLayer.toWorld(effect("CC Sphere")("Offset"));

    sunpos=thisComp.layer("Light 1").toWorld([0,0,0]);

    camvector=normalize(campos-planetpos);

    sunvector=normalize(sunpos-planetpos);

    angle=Math.acos(dot(camvector, sunvector));

    100 - (angle/Math.PI)*200

CC Sphere Light Direction

    // change light name as needed...(根据需要更换灯光名称)

    thesun=thisComp.layer("Light 1");

    xy=thisLayer.fromWorld(thesun.position) - effect("CC Sphere")("Offset");

    angle=Math.atan2(xy[1],xy[0]);

    radiansToDegrees(angle) + 90;



在此基础上还可以再做一些改进,比如目前摄像机还无法影响CC Sphere的位移、远近,这时候可以打开CC Sphere图层的三维开关,并执行Auto-Orientation(Ctrl+Alt+O)命令,勾选orient towards camera,作用是让三维图层始终面朝摄像机,这时候就会发现摄像机能进一步影响球体的平移和远近了,更像一个三维的真实球体了

最后,要敲这么多表达式可能会比较麻烦,所以我把这个效果存成了一个预设,直接双击预设就能使用,需要的童鞋可自取:



35
- 位站酷推荐设计师推荐 -
一下给作者疯狂打call吧!
(推荐 + 收藏 + 关注作者)
+1 +1 +1

声明:站酷(ZCOOL)内网友所发表的所有内容及言论仅代表其本人,并不反映任何站酷(ZCOOL)之意见及观点。

    喜欢TA的作品吗?喜欢就快来夸夸TA吧!
    夸夸

    夸夸

    文章信息

    • 文章标签

    收录收藏夹
    资料 0
    添加表情
    没有新消息
    已收藏到: