程序控制 - 大量元素

时间:2016-10-04 04:06:21

标签: svg after-effects

我对AE很新。我知道JS表达式。我有编程背景。

我想要显示以下类型的数据.....

我有大约10,000个不同的元素(城市中的位置)。这些元素中的每一个都出现在过去10年中(我将其压缩为60秒)。

当每个元素出现时......我想要一个小球体出现。这个球体将出现在X,Y空间的某个地方(取决于它的纬度和经度)。

提供一些背景信息......数据是一系列的房屋销售。销售价格越大......球体越大......

因为有大量的元素。在AE中手动执行此操作是不可能的(也不可取的)。

所以...我的问题是......我怎么能以编程方式在AE中做到这一点??

有可能......?

或许我应该编写一个程序来自动创建某种类型的SVG,然后我可以将其导入AE ......?

完全是另一种方法......?

任何关于基本方法的想法都会受到欢迎。

谢谢,

标记

1 个答案:

答案 0 :(得分:0)

Q1:所以...我的问题是......我怎样才能在AE中以编程方式执行此操作??

A1:您可以使用ExtendScript API运行创建元素的Javascript。

Q2:有可能......? A2:是的。

问题3:或者我应该编写一个程序来自动创建某种类型的SVG,然后我可以将其导入AE ...?
A3:你不能将SVG导入AE(据我所知)。

第四季:完全是另一种方法......? A4:不。你在正确的位置(恕我直言)。

您可以使用我的两个脚本(警告:无耻的自我推销)在AE comp中创建地图和位置标记。

要为您的球体添加价格/尺寸,您需要执行一些额外的脚本编写。我建议那些黑客攻击地点。

第1814行中的函数add_projected_marker应该是一个很好的入口点,可以为新创建的图层添加其他表达式。
你可以在scale属性中添加这样的表达式(其中v是你从csv中读取的值):

layer.transform.scale.expression = "var v = 50;\n[v,v];"

要将数据导入locdata对象,您需要在第1181行中攻击函数win.read_button.onClick