【AE教程】propertyGroup()快速上手!形状层编组不再报错!

优设6年行业口碑保障!专业培养高薪设计人才,你想要的课程这里都有 前往咨询
  • 水平 : 进阶
  • 观众 : 4111
  • 时间 : 2018-02-09

教程

教程作者:@leizingyiu

yiu_propPath下载:链接:https://pan.baidu.com/s/1kVVLrvT 密码:5hi9

rd_GimmePropPath下载:http://redefinery.com/ae/view.php?item=rd_GimmePropPath

hello大家好,这次给大家分享的是propertyGroup()的快速上手方法。

很多小伙伴在使用表达式的时候,总是因为在形状层里面进行编组,而出现报错,譬如这样

 

我们可以发现报错的原因很简单,就是层级增加了(绿色框框),但是表达式里面的层级并不能自动增加;而表达式会自行省略thisLayer,所以不能在本图层下找到对应的内容。

 

这时候我们可以通过thisProperty.propertyGroup()找到两者共同的父级(下图白色框框),通过相对的共同父级来获取需要的属性

 

但是 propertyGroup() 数的父级并不是我们在面板上看到这样:我们能看到【多边星形1】在【点】的上两级,而 propertyGroup() 却需要 3 ;

 

但是【锚点】的 propertyGroup(2) 却又能找到【多边星形1】。

 

这时候可以使用下面这段表达式,或者直接使用预设yiu_propPath,循环的获取从1到报错的父级名称(带注释的在最后面):

var obj = thisProperty;
posterizeTime(1);
var i = 1,j = 0,objN = "";
do {
	try {
		objN = '("' + obj.propertyGroup(i).name + '")' + objN;
		i = i + 1
	} catch (err) {
		objN = 'layer' + objN + '("' + obj.name + '")';
		j = 1
	}
} while (j == 0)
objN;

 

用这个方法数属性父级,出不了错,能准确获取到需要的属性:
把相同的父级,替换成thisProperty.property(n),n用下图方法来数就可以哟~

 

当然,也可以用rd_GimmePropPath,但是直接用插件就看不到循环获取propertyGroup()的过程了😄。这个插件在文章的开头有链接,感兴趣可以下载来玩玩。

以上就是使用propertyGroup()的一些小技巧,在使用的过程中遇到疑问,可以到微博 @leizinyiu 给我私信,或者留言😉

————带注释表达式的分割线————

var obj=thisProperty;
/*设定需要获取的属性,默认是文本层的源文本自身*/

posterizeTime(1);
/*此表达式帧速率为1*/

var i=1,j=0,objN="";
/*设定初始条件,譬如每循环一次就增加1的i,要是j不等于0就不继续运行的j,还有最后要输出的字符串objN*/

do {
/*不管while里面成不成立,先动手再说*/

	try {
	/*先尝试运行try里面的*/

		objN = '("' + obj.propertyGroup(i).name + '")' + objN;
		/*获取obj的上i级的名称*/

		i = i + 1;
		/*每进来运行一次,i 就等于自己增加 1 */

	} catch (err) {
	/*假如try里面的东西出现错误,就运行下面的内容*/

		objN = 'layer' + objN + '("' + obj.name + '")';
		/*把前面获取到的一堆东西,拼上图层和obj自己本身的名字。*/

		j = 1;
		/*把while成立的条件推翻,并且去微博关注 @leizingyiu 😮*/

	}

} while (j == 0)
/*当j等于0的时候,继续循环运行;否则不再循环*/

objN;
/*把循环里面计算的一大串上级名称和自身名称之类的,返回给AE,完成表达式的计算*/

整个表达式的原理是:
先获取以及初始化一些需要的值;
然后开始尝试找属性obj的上一级,如果没报错,那就找再上一级,一直循环try里面的代码;
一直找找找,找到报错了,上一级图层之后,再向上不能用propertyGroup()了,就进去catch后面的代码;
完成catch的代码之后,把j设置成不等于0,那循环就不能继续;
然后就告诉AE,最后得到的结论就是objN。

结语

本期教程到这里就结束了,希望大家在练习过程中多思考、理解制作思路和操作方法,活学活用。


一个人做练习的时候,做得好没人发现,做得差没人点评,总感觉很难坚持下去呢···

从今天开始参与「优优教程网 365 天打卡计划」,每天一个小练习, 4 位U站管理员与大家一起打卡练习,点赞点评,互帮互助。优秀练习还有机会被优优转发

【参与方式】每天在 #优设每日作业# 内,上传打卡练习,话题微博格式【 DAY 01~365 】转发视为参加。(动图为打卡演示)

【收获】更好的自己

非特殊说明,本站 UiiiUiii.com 上的教程均由本站作者及学员原创或翻译,转载请联系 @优设基础训练营 授权。原作品版权归属原作者。

转载时请在文首注明,来源 UiiiUiii.com 及教程作者,并附本文链接。谢谢各位编辑同仁配合。UiiiUiii 保留追究相应责任的权利。

本文链接: https://uiiiuiii.com/aftereffects/121245045.html

欢迎关注 @优秀网页设计 @优设基础训练营 @优设大课堂 @你丫才美工 @优设微电台 @移动端设计 @招聘设计师

继续阅读与本文标签相同的文章

AEaeScriptAE表达式javascriptpropertyGroupscript报错
img

相关文章

发表评论

评论加载中....

把好文章收藏到微信

打开微信,扫码分享
优质教程 UiiiUiii 每日更新