티스토리 뷰

2014.05.19 19:06

에 질문한 내용입니다.


질문의 핵심내용은

레이어 네임이 숫자로 되어있는데 이 레이어 네임을 "익스프레션에서 인식되는 숫자"처럼 활용할수 있는가? 입니다.

eval(문자열) 과 toString() 을 어떻게 활용하는지 잘 봅시다:D



-------------------------------------------------------------------------


안녕하세요:D 작업하다가 질문이 있어서 이렇게 여쭙니다.


레이어를 3개 만들었는데요.

레이어 이름은 아래에서부터 1 , 2 , 3 순으로 3 레이어가 제일 상단에 있습니다. 

제가 1번의 로테이션값을 2번의 로테이션값에 valueAtTime 을 이용하여 적용하려고합니다.

근데 레이어 이름이 번호로 되어있어서

2번 레이어의 로테이션값에
AA = thisLayer.name-1;
thisComp.layer(AA).transform.rotation.valueAtTime(time-.05)

이렇게 해서 3번 레이어 또는 4,5,6,7...n 등등에 붙여넣기 하려고 했거든요
그런데 에러 창은 뜨지 않았는데 값을 불러오지 않더라구요..

thisComp.layer("1").transform.rotation.valueAtTime(time-.05)

꼭 큰따옴표를 붙여서 실제 레이어 이름을 넣어주어면 불러와지구요

큰 따옴표가 없어서 그런거 같은데 인덱스를 사용하는 방법 말고 큰따옴표 없이 레이어 이름을 인식할 수 있게 할수 있을까요?
인덱스는 레이어가 수정(추가되거나하게)되면 인덱스 넘버도 같이 바뀌어서 ㅠ
영향을 안받게 하려고 일부러 이름에 숫자로 넘버링을 해 본거거든요;;

방법이 있을까요?


******************  답변  *********************



아래와 같이 하시면 됩니다.

a = eval(thisLayer.name) - 1;
b = a.toString();
thisComp.layer(b).transform.rotation.valueAtTime(time-.05)



-----------------------------------



답변 정말 감사드립니다. ㅠㅠ. 퍼펫으로 물고기를 만드는데 많은 도움이 되었습니다 :D


이번엔 어제와 좀 질문이 비슷하면서 다른데요..

어제 답변해주신 걸 보니 숫자를 문자로 만들어주는? 그런거같았는데

Source Text 에 제가 랜덤이나 위글 혹은 다른 숫자 넘버링을 익스프레션으로 입력을 해두었을때

같은 Source Text 끼리는 Pick wipe 으로 땡기면 같은 값이 잘 들어오는데 

그 값을 다른 슬라이더나 익스프레션으로 가져오려고하면 에러가 나고 안되더라구요;;

thisComp.layer("AA").text.sourceText

소스텍스트에 입력된 값을 슬라이더와 같은곳으로 불러올때 위와같이 불러오면 안되는건가요?

방법이 있나 여쭈어 봅니다 :D


+++++++++++++++++++++++++++++++++++++++++++++++++++++++


아래와 같이 하시면 됩니다.

thisComp.layer("AA").text.sourceText.toString()


'Tutorial' 카테고리의 다른 글

Turbulence FD 관련 이그니션 정리  (0) 2014.07.04
smooth 익스프레션  (0) 2014.07.04
한글타이핑 효과 Expression  (0) 2014.04.04
Expression_ Math 관련 정리표  (0) 2014.04.04
After Effect Expression 공부 노트  (0) 2014.01.15