속성 특성 및 메서드

value
반환 유형: 숫자, 배열 또는 문자열

현재 시간의 속성 값을 반환합니다.

valueAtTime(t)
반환 유형: 숫자 또는 배열

인수 유형: t는 숫자입니다.

지정된 시간의 속성 값을 초 단위로 반환합니다.

예를 들어 각 프레임의 특정 속성 값이 네 가지 값 중에서 임의로 선택되도록 하려면 네 가지 값을 0, 1, 2, 및 3초에서 키프레임으로 설정한 후 해당 속성에 다음 표현식을 적용합니다.

  valueAtTime(random(4))

velocity
반환 유형: 숫자 또는 배열

현재 시간의 임시 속도 값을 반환합니다. [위치]와 같은 공간 속성에 대해서는 접선 벡터 값을 반환합니다. 결과는 속성과 같은 차원을 가집니다.

velocityAtTime(t)
반환 유형: 숫자 또는 배열

인수 유형: t는 숫자입니다.

지정된 시간의 임시 속도 값을 반환합니다.

speed
반환 유형: 숫자

기본 시간에 속성이 변경되는 속력과 동일한 1차원의 양수 속력 값을 반환합니다. 이 요소는 공간 속성에만 사용할 수 있습니다.

speedAtTime(t)
반환 유형: 숫자

인수 유형: t는 숫자입니다.

지정된 시간의 공간 속력 값을 반환합니다.

wiggle(freq, amp, octaves=1, amp_mult=.5, t=time)
반환 유형: 숫자 또는 배열

인수 유형: freq, amp, octaves, amp_multt는 숫자입니다.

속성 값을 임의로 흔듭니다.

freq 값은 초당 흔들기 빈도입니다.

amp 값은 진폭이 적용된 속성 단위로 나타낸 진폭입니다.

octaves는 함께 더한 노이즈의 옥타브 수입니다. 이 값으로 흔들기의 세밀한 정도를 제어합니다. 높은 빈도를 포함하려면 이 값을 기본값인 1보다 높게 설정하고 흔들기에 진폭 배음을 포함하려면 이 값을 낮춥니다.

amp_multamp에 각 옥타브를 곱한 양입니다. 이 값으로 배음의 감소 속도를 제어합니다. 기본값은 0.5입니다. 기본 빈도와 같은 진폭으로 배음을 추가하려면 1에 가깝게 지정하고 세밀한 정도를 낮춰서 추가하려면 0에 가깝게 지정합니다.

t는 기본 시작 시간입니다. 기본값은 현재 시간입니다. 서로 다른 시간에 샘플링된 속성 값의 흔들기를 출력하려면 이 매개 변수를 사용합니다.

예를 들어 position.wiggle(5, 20, 3, .5)는 평균 크기가 약 20픽셀인 흔들기를 초당 5번 만듭니다. 기본 흔들기 이외에 두 가지 레벨의 세밀한 흔들기, 즉 초당 빈도 10, 크기 10픽셀의 흔들기와 초당 빈도 20, 크기 5픽셀의 흔들기가 각각 추가로 발생합니다.

다음 예제에서는 [비율]과 같은 2차원 속성에서 각 차원을 같은 정도로 흔듭니다.

  v = wiggle(5, 10); 
  [v[0], v[0]]

다음 예제에서는 2차원 속성에서 y 축만을 따라서 흔듭니다.

  freq = 3; 
  amp = 50; 
  w = wiggle(freq,amp); 
  [value[0],w[1]];

temporalWiggle(freq, amp, octaves=1, amp_mult=.5, t=time)
반환 유형: 숫자 또는 배열

인수 유형: freq, amp, octaves, amp_multt는 숫자입니다.

흔들린 시간에 속성을 샘플링합니다. freq 값은 초당 흔들기 빈도이고 amp는 진폭이 적용된 속성의 단위로 나타낸 진폭입니다. octaves는 함께 더한 노이즈의 옥타브 수이고 amp_multamp에 각 옥타브를 곱한 양이며 t는 기본 시작 시간입니다. 이 함수가 의미를 가지려면 샘플링한 속성에 애니메이션이 적용되어야 합니다. 이 함수에서는 샘플링 값이 아닌 샘플링 시간을 변경하기 때문입니다. 예를 들어 scale.temporalWiggle(5, .2)와 같이 작성할 수 있습니다.

smooth(width=.2, samples=5, t=time)
반환 유형: 숫자 또는 배열

인수 유형: width, samplest는 숫자입니다.

속성 값의 단기적인 큰 편차를 작고 고르게 분포된 편차로 점차 매끄럽게 만듭니다. 이와 같은 매끄럽게 하기는 지정된 시간에 상자 필터를 속성 값에 적용하여 수행됩니다. width 값은 필터를 평균화하는 시간 범위(초 단위)입니다. samples 값은 일정 시간에 걸쳐 고르게 배치된 이산 샘플의 수입니다. 큰 값을 사용하면 샘플이 더 매끄럽게 되지만 성능은 떨어집니다. 일반적으로 samples에는 홀수를 사용하여 현재 시간의 값이 평균에 포함되도록 할 수 있습니다. 예를 들어 position.smooth(.1, 5)와 같이 작성합니다.

loopIn(type="cycle", numKeyframes=0)
반환 유형: 숫자 또는 배열

레이어의 첫 번째 키프레임에서 레이어의 종료 지점까지 앞으로 측정된 시간 세그먼트를 반복합니다. 이 반복은 레이어의 시작 지점부터 재생됩니다. numKeyframes 값은 반복할 세그먼트를 결정합니다. 반복되는 세그먼트는 첫 번째 키프레임에서 numKeyframes+1 키프레임까지의 레이어 부분입니다. 예를 들어 loopIn("cycle", 3)은 첫 번째와 네 번째 키프레임 구간의 세그먼트를 반복합니다. 기본값 0은 모든 키프레임이 반복됨을 의미합니다.

키프레임 루핑 메서드를 사용하여 일련의 키프레임을 반복할 수 있습니다. 이러한 메서드는 대부분의 속성에 사용할 수 있습니다. [레벨] 효과의 [소스 텍스트] 속성, 패스 모양 속성 및 [막대 그래프] 속성처럼 [타임라인] 패널에서 간단한 숫자 값으로 표현할 수 없는 속성은 예외입니다. 너무 큰 키프레임 또는 지속 시간 값은 허용된 최대 값으로 잘립니다. 값이 너무 작으면 루프가 계속됩니다.

루프 유형

결과

cycle

지정된 세그먼트를 반복합니다(기본값).

pingpong

앞뒤로 방향을 바꾸며 지정된 세그먼트를 반복합니다.

offset

지정된 세그먼트를 반복하지만 세그먼트 시작 및 끝에 있는 속성 값의 차이에 세그먼트가 반복된 횟수를 곱하여 각 순환에 오프셋을 지정합니다.

continue

지정된 세그먼트를 반복하지 않고 첫 번째 또는 마지막 키프레임의 속도에 따라 속성에 애니메이션을 계속 적용합니다. 예를 들어 레이어에 있는 [비율] 속성의 마지막 키프레임이 100%인 경우 레이어는 종료 지점으로 바로 돌아가 반복되지 않으며, 해당 비율이 100%에서 종료 지점까지 계속 조정됩니다. 이 유형에는 keyframes 또는 duration 인수를 사용할 수 없습니다.

loopOut(type="cycle", numKeyframes=0)
반환 유형: 숫자 또는 배열

레이어의 마지막 키프레임에서 레이어의 시작 지점까지 뒤로 측정된 시간 세그먼트를 반복합니다. 이 반복은 레이어의 종료 지점까지 재생됩니다. 반복할 세그먼트는 지정된 키프레임 숫자로 결정됩니다. numKeyframes 값으로 반복할 키프레임 세그먼트 수를 설정합니다. 지정된 범위는 마지막 키프레임에서 뒤로 측정됩니다. 예를 들어 loopOut("cycle", 1)은 마지막 키프레임에서 바로 앞 키프레임 구간의 세그먼트를 반복합니다. 기본값 0은 모든 키프레임이 반복됨을 의미합니다. 자세한 내용은 loopIn 항목을 참조하십시오.

David Van Brink는 omino pixel blog에서 [에코] 효과, [입자 필드] 효과 및 loopOut 메서드를 사용하여 스타일화된 헤엄치는 박테리아 무리에 애니메이션을 적용하는 방법을 보여 주는 문서와 샘플 프로젝트를 제공합니다.

loopInDuration(type="cycle", duration=0)
반환 유형: 숫자 또는 배열

레이어의 첫 번째 키프레임에서 레이어의 종료 지점까지 앞으로 측정된 시간 세그먼트를 반복합니다. 이 반복은 레이어의 시작 지점부터 재생됩니다. 반복할 세그먼트는 지정된 지속 시간으로 결정됩니다. duration 값은 세그먼트에서 반복할 컴포지션 수에 해당하는 시간을 초 단위로 설정합니다. 지정된 범위는 첫 번째 키프레임에서부터 측정합니다. 예를 들어 loopInDuration("cycle",1)은 전체 애니메이션에서 처음 1초를 반복합니다. 기본값인 0으로 설정하면 반복할 세그먼트가 레이어의 종료 지점에서 시작됩니다. 자세한 내용은 loopIn 항목을 참조하십시오.

loopOutDuration(type="cycle", duration=0)
반환 유형: 숫자 또는 배열

레이어의 마지막 키프레임에서 레이어의 시작 지점까지 뒤로 측정된 시간 세그먼트를 반복합니다. 이 반복은 레이어의 종료 지점까지 재생됩니다. 반복할 세그먼트는 지정된 지속 시간으로 결정됩니다. duration 값은 세그먼트에서 반복할 컴포지션 수에 해당하는 시간을 초 단위로 설정합니다. 지정된 범위는 마지막 키프레임에서 뒤로 측정됩니다. 예를 들어 loopOutDuration("cycle", 1)은 전체 애니메이션의 마지막 1초를 반복합니다. 기본값인 0으로 설정하면 반복할 세그먼트가 레이어의 시작 지점에서 시작됩니다. 자세한 내용은 loopIn 항목을 참조하십시오.

key(index)
반환 유형: 키 또는 MarkerKey

인수 유형: index는 숫자입니다.

키 또는 MarkerKey 개체를 번호별로 반환합니다. 예를 들어 key(1)은 첫 번째 키프레임을 반환합니다.

key(markerName)
반환 유형: MarkerKey

인수 유형: markerName은 문자열입니다.

이 이름을 가진 MarkerKey 개체를 반환합니다. 마커 속성에만 사용됩니다.

nearestKey(t)
반환 유형: 키 또는 MarkerKey

지정된 시간에 가장 가까운 키 또는 MarkerKey 개체를 반환합니다.

numKeys
반환 유형: 숫자

속성의 키프레임 숫자를 반환합니다. 마커 속성의 마커 숫자를 반환합니다.

참고: [차원 분리] 명령을 사용하여 [위치] 속성의 차원을 개별 구성 요소로 분리하는 경우 키프레임 수가 변경되어 이 메서드가 반환하는 값이 달라집니다.

propertyGroup(countUp = 1)
반환 유형: 그룹

표현식이 작성된 속성에 관련된 속성 그룹을 반환합니다. 예를 들어 propertyGroup(1) 표현식을 브러쉬 선의 [회전] 속성에 추가하는 경우 이 표현식에서는 [회전] 속성이 포함된 [변형] 속성 그룹을 대상으로 합니다. propertyGroup(2)를 대신 추가하면 이 표현식에서는 [브러쉬] 속성 그룹을 대상으로 합니다. 이렇게 하면 속성 계층 구조에서 이름 독립적인 관계를 만들 수 있습니다. 이 메서드는 표현식을 포함하는 속성을 복제할 때 특히 유용합니다.

propertyGroup에 대한 numProperties 메서드는 속성 그룹의 속성 수를 반환합니다.

이 예제에서는 표현식이 작성된 속성을 포함하는 그룹의 속성 수를 반환합니다.

  thisProperty.propertyGroup(1).numProperties

propertyIndex
반환 유형: 숫자

마스크, 효과, 텍스트 애니메이터, 선택기, 모양, 추적기 및 추적 점 내의 속성 그룹을 비롯한 속성 그룹에서 다른 속성에 상대적인 특정 속성의 인덱스를 반환합니다.

name
반환 유형: 문자열

속성 또는 속성 그룹의 이름을 반환합니다.

예제: propertyGroup 메서드 및 propertyIndex 특성으로 애니메이션 적용

브러쉬 선의 [위치] 속성을 기준으로 하는 propertyGroup 값

A.
propertyGroup(4)

B.
propertyGroup(3)

C.
propertyGroup(2)

D.
propertyGroup(1)

E.
위치의 propertyIndex 값은 2이고 회전의 propertyIndex 값은 4입니다.

이 예제에서 각 브러쉬 선에 대한 propertyGroup 메서드는 [브러쉬] 속성 그룹을 대상으로 합니다. 해당 그룹이 [회전] 속성으로부터 두 단계 위 속성 그룹이기 때문입니다. 각 브러쉬 선의 propertyIndex 특성은 각 브러쉬 선의 고유 값을 반환합니다. 그런 다음 결과 값에 시간 및 200을 곱하여 각 회전 값에 적용합니다. 이에 따라 각 브러쉬 선이 각각 다르게 회전하여 소용돌이치는 페인트 선이 만들어집니다.
  propertyGroup(2).propertyIndex * time * 200
표현식으로 브러쉬 선에 애니메이션 적용