关于ae的wiggle的表达式问题

x=wiggle(1,50);y=wiggle(1,40);value+(x,y)和x=wiggle(1,50);y=wiggle(1,40);value+[x[0],y... x=wiggle(1,50); y=wiggle(1,40); value+(x,y)和x=wiggle(1,50);y=wiggle(1,40);value+[x[0],y[1]]有什么区别 展开
 我来答
帐号已注销
2021-07-10 · TA获得超过77万个赞
知道小有建树答主
回答量:4168
采纳率:93%
帮助的人:165万
展开全部

区别:表达不同,含义不同。

一、表达不同:

第一个表达式:

y=wiggle(1,40);

value+[y[0],y[1]]

value+[x[0],y[1]]

第二个表达式:

x=wiggle(1,50);

y=wiggle(1,40);

二、含义不同:

在原来的数值上+x(这里的x不是赋值的变量x)轴取wiggle(1,50),在y(这里的y不是赋值的变量y)轴上取wiggle(1,40);最后的结果应该是x,y轴上分别抖动,x轴抖动的是(1,50)y轴抖动的是(1,40)。

对于time的表达式来说,在做一些动画的过程中式经常用到的,基本形式是time*n(n可以是常量,也可以是变量),意思就是每隔多少帧对你添加的关键帧做出抽帧的动作。下面我是以fractal noise(分形噪波)的演变动画来说明的。

举例来说

表达式x/y,分别使自由变量x和y定值为10和5,其输出为数字2;但在y值为0时则没有定义。

一个表达式的赋值和算符的定义以及数值的定义域是有关联的。两个表达式若被说是等值的,表示对于自由变量任意的定值,两个表达式都会有相同的输出,即它们代表同一个函数。

一个表达式必须是合式的。亦即,其每个算符都必须有正确的输入数量,在正确的地方。如表达式2+3便是合式的;而表达式*2+则不是合式的,至少不是算术的一般标记方式。

以上内容参考:百度百科-表达式

jiduhaor
推荐于2017-11-27 · TA获得超过1.1万个赞
知道大有可为答主
回答量:1932
采纳率:66%
帮助的人:671万
展开全部
第一个表达式:
x=wiggle(1,50);
y=wiggle(1,40);
value+(x,y)

1:这句表达式对于变量x的赋值(wiggle(1,50))无意义!
2:虽然给变量x赋值了,但是你最后的value+(x,y) 其实只执行了 value+y!如果把x与y的位置相互调换一下它会执行value+x,为什么?因为你最后一句返回数据的时候value+(x,y),value就不说了,关键问题出在了(x,y)这个小句子上面,首先(value1,value2)你把它们括起来想做什么???比如sub(value1,value2)这个我想让两个数据相减!比如add,或者mul.....都可以,所以软件不知道你干什么所以他们就从上往下计算,(x的值作废,被第二行的y值代替)然后就只执行了value+y。(虽然软件没报错!!),写这个表达式的人估计没仔细看,从第二个表达式来看不难发现x,y 是一个阵列!也就是"[value1,value2,value3,...]"这个形式。如果你把他写成
x=wiggle(1,50);
y=wiggle(1,40);
value+[x,y]
这时AE会报错,因为你写的这个表达式的最后返回的数据多于了你的阵列,这个问题留着往下看↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓(第一个表达式出现了问题,所以我没办法对比了!如何改?我会改成
wig=wiggle(1,50);
value+[wig[0],wig[1]]
或者是
wig=wiggle(1,40);
value+[wig[0],wig[1]]


再或者是(以下列出的是第二个表达式的内容了)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
wig1=wiggle(1,50);
wig2=wiggle(1,40);
value+[wig1[0],wig2[1]]

wig1=wiggle(1,50);
wig2=wiggle(1,40);
value+[wig2[0],wig1[1]]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~为什么这么改咱们看完第二个表达式就行了

第二个表达式:
x=wiggle(1,50);
y=wiggle(1,40);
value+[x[0],y[1]]

我直接说他的意思了:在原来的数值上+x(这里的x不是你赋值的变量x)轴取wiggle(1,50),在y(这里的y不是你赋值的变量y)轴上取wiggle(1,40);不知道你能不能看懂,他们最后的结果应该是x,y轴上分别抖动,x轴抖动的是(1,50) y轴抖动的是(1,40)。也就是不等比抖动!从第一个表达式纠正改过以后的:
y=wiggle(1,40);
value+[y[0],y[1]]
这个表达式是x,y轴等比抖动的!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
纯人工,望采纳!!!!
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式