표현식 기술

3ds Max에서는 수학 표현식(일정한 숫자가 아님)을 사용하여 매개변수 값을 표현할 수 있습니다. 예를 들어 표현식 24*6을 사용하여 숫자 144를 표현할 수 있습니다.

수학 표현식을 사용하여 다음 오브젝트 특성을 제어할 수 있습니다.

매개변수 와이어링, 표현식 제어기숫자 표현식 계산기는 모두 이 항목에서 설명하는 표현식을 사용합니다.

팁: 숫자 표현식 계산기를 사용하려면 표준 숫자 필드(캐디 필드 제외)를 클릭하고 Ctrl+N을 누른 다음 열리는 대화상자에 표현식을 입력합니다.

표현식은 값을 반환하는 수학 함수입니다. 표현식을 사용하여 다음 장면 요소를 제어할 수 있습니다.

장면 요소 계산 특성
생성 매개변수 모든 숫자 생성 매개변수
변형 위치[X, Y, Z]

X 회전

Y 회전

Z 회전

배율 조정[X%, Y%, Z%]

수정자 모든 숫자 수정자 매개변수(만들기 매개변수 포함)
재질 색상[R, G, B]

모든 숫자 재료 매개변수

주: 표현식은 오일러 회전의 개별 XYZ 구성요소에서만 작동합니다. 표현식을 TCB 회전이나 기타 회전 제어기에 할당할 수 없습니다.

다음 링크를 누르면 이 항목의 해당 섹션으로 이동합니다.

표현식 반환 유형

표현식에서 반환하는 값의 유형은 제어기에 따라 다릅니다.

연산자

다음 표에서 p와 q는 스칼라 값 또는 표현식이고 V와 W는 벡터 값이나 표현식입니다. 문자 "x"는 벡터 삼중곱 연산자로 사용합니다.

스칼라 연산자

스칼라 값의 계산 연산자입니다.

연산자 사용 의미
+ p+q 더하기
- p-q 빼기
- -p 덧셈에 관한 역원
* p*q 곱하기
/ p/q 나누기
^ p^q 거듭제곱(q를 p에 거듭제곱함)
** p**q ^과 **는 같은 연산자임

스칼라 값과 함께 논리적(부울) 연산자를 사용할 수 있습니다. 이 연산자는 참이면 모두 1을, 거짓이면 0을 반환합니다.

연산자 사용 의미
= p=q 같다
< p<q 작다
> p>q 크다
<= p<=q 같거나 작다
>= p>=q 같거나 크다
| p|q 논리적 OR은 p 또는 q가 0이 아니면 1을, 그렇지 않으면 0을 반환합니다.
& p&q 논리적 AND는 p와 q가 모두 0이 아니면 1을, 그렇지 않으면 0을 반환합니다.
팁: 논리적 연산자는 "if" 힘수에서 유용합니다.

벡터 연산자

변수 이름이 있는 벡터의 경우 특수 구성요소 연산자(.)를 사용하여 벡터의 세 스칼라 구성요소를 가리킬 수 있습니다.

사용 의미
V.x 첫 번째 구성요소(X)
V.y 두 번째 구성요소(Y)
V.z 세 번째 구성요소(Z)

벡터 계산을 위한 연산자입니다.

연산자 사용 의미
+ V+W 더하기
- V-W 빼기
* p*V 스칼라 승수
* V*p 스칼라 승수
* V*W 점 곱
X VxW 삼중곱
/ V/p 스칼라 나누기

연산자 우선 순위

표현식에는 8개 수준의 우선 순위가 있습니다. 리스트에서 위에 있는 연산자일 수록 먼저 계산됩니다.

연산자 우선 순위 수준
- + 단항 연산자(예: -8, +25)
. 구성요소 연산자(예: V.x)
** ^  
X 삼중곱
* /  
+ -  
= < > <= >=  
| &  

괄호는 특별한 경우입니다. 그룹으로 되어 있거나 부분식 연산자가 있으면 다른 연산자의 우선 순위를 무시할 수 있습니다.

변수

표현식 제어기로 표현식을 작성하는 경우 변수는 기호 이름으로 표시합니다. 표현식에서 상수 또는 변수 값을 갖도록 이를 작성할 수 있습니다. 미리 정의된 여러 가지 변수가 제공됩니다. 일부 변수에는 상수 값이 있기도 하지만 다른 변수는 그렇지 않습니다.

매개변수 와이어링숫자 표현식 계산기로 사용하는 표현식의 경우 상수 값이 있는 미리 정의된 변수를 사용할 수 있습니다.

상수 값이 있는 미리 정의된 변수

상수 값을 갖고 있는 미리 정의된 매개변수(변수 이름은 대소문자를 구분함)입니다.

변수 이름 상수 값 사용
pi 3.14159 지름에 대한 원의 원주 비율입니다.
e 2.71828 자연 로그의 기본입니다.
TPS 4800 초당 Tick입니다. 틱은 3ds Max 애니메이션의 기본 시간 단위입니다.

변수 값이 있는 미리 정의된 변수

변수, 즉 시간 기반 값(변수 이름은 대소문자를 구분함)을 갖는 미리 정의된 변수입니다.

변수 이름 의미
F 프레임 번호입니다. 예를 들어 F는 현재 프레임 번호이며 0에서 부터 시작합니다. 프레임 범위는 활성 시간 세그먼트의 프레임 수에 따라 다릅니다.
NT 정규화된 시간입니다. 활성 시간 세그먼트의 정규화된 시간(NT)의 범위는 세그먼트에 있는 프레임 수에 관계없이 0 - 1입니다. 표현식을 NT를 기준으로 하면 효과는 해당 범위 내에서 정확히 한 번만 발생합니다. 요소로 NT를 곱하면 표현식의 효과가 특정 수 만큼 발생합니다(예를 들어 2*NT는 표현식의 효과가 두 번 발생합니다). NT를 기준으로 한 표현식은 시간 세그먼트의 길이를 변경하면 속도가 빨라지거나 느려집니다.
S 초(초 단위 경과 시간)입니다. 경과 시간은 첫 번째 프레임에서 현재 프레임까지 측정합니다. 초 범위는 활성 시간 세그먼트의 전체 시간에 따라 다릅니다.
T 틱(틱 단위 경과 시간)입니다. 초당 4800tick이 있습니다. 경과 시간은 첫 번째 프레임에서 현재 프레임까지 측정합니다. 틱 범위는 활성 시간 세그먼트의 전체 시간에 따라 다릅니다.

변수 이름 규칙

  • 변수 이름은 원하는 만큼 많은 영숫자 문자를 사용할 수 있습니다. 길이 제한이 없습니다.
  • 변수 이름에 공백을 포함할 수 없습니다.
  • 번수 이름은 문자로 시작해야 합니다. 변수 이름 내에 숫자를 사용할 수 있습니다(예: "Pos1" or "M23").
  • 변수 이름은 대소문자를 구분합니다. 예를 들어 "pos", "Pos" 및 "POS"는 서로 다른 세 변수로 구분됩니다.
  • 미리 정의된 변수 이름을 비롯한 다른 이름과 중복된 이름이 있는 변수를 만들 수 없습니다.

함수

다은은 표현식용으로 제공된 함수 리스트입니다. 이 리스트에서 p, q 및 r은 스칼라 값 또는 스칼라 표현식을 나타냅니다. V와 W는 벡터 값이나 벡터 표현식을 나타냅니다.

표현식에서 함수를 사용하려면 함수 이름과 해당 인수를 입력합니다.

삼각 함수

사인, 코사인 및 탄젠트 함수는 각도를 사용하여 부동 소수점 값을 반환합니다. 아크 함수는 부동 소수점 값을 사용하고 값을 도로 반환합니다.

기능 의미
sin(p) 사인
cos(p) 코사인
tan(p) 탄젠트
asin(p) 아크 사인
acos(p) 아크 코사인
atan(p) 아크 탄젠트

쌍곡 함수

쌍곡 함수는 부동 소수점 값을 가지고 부동 소수점 값을 반환합니다.

기능 의미
sinh(p) 쌍곡 사인
cosh(p) 쌍곡 코사인
tanh(p) 쌍곡 탄젠트

라디안과 도 사이 변환

기능 의미
radToDeg(p) 라디안 단위의 p를 사용하여 같은 각도를 도로 반환
degToRad(p) 도 단위의 p를 사용하여 같은 각도를 라디안으로 반환

반올림 함수

기능 의미
ceil(p) p와 같거나 큰 가장 작은 정수
floor(p) p와 같거나 작은 가장 큰 정수

표준 계산

기능 의미
ln(p) 자연 대수(e 기준)
log(p) 상용 대수(10 기준)
exp(p) 지수 함수 exp(p)=e^p
pow(p,q) q의 제곱 p(p^q)
sqrt(p) 제곱근
abs(p) 절대값
min(p,q) p 또는 q 반환하는 최소수(더 작은 수 반환)
max(p,q) p 또는 q 반환하는 최대수(더 큰 수 반환)
mod(p,q) p를 q로 나눈 나머지

조건 함수

기능 의미
if(p then q else if r then s) 표준 “if/then/else if” 구조를 사용합니다. 예를 들면 다음과 같습니다.

if (X_Position<0) then 0 else if (X_Position>=0 and X_Position<=10) then X_Position*3 else 100

이 값은 X 위치가 0보다 작으면 0을 반환하고 X 위치가 0과 10(포함) 사이이면 X 위치의 3배를 반환하고, X 위치가 10보다 크면 100을 반환합니다.

“else if” 부분은 선택 사항이며 필요한 경우 이 부분을 반복하여 여러 조건을 지정할 수 있습니다.

vif(c,V1,V2) "Vector If" (c가 참이면 값은 V1을, 거짓이면 V2를 반환합니다.)

벡터 처리 함수

기능 의미
length(V) V의 길이
comp(V,i) i번째 구성요소(I=0,1,2): comp([5,6,7],1)=6
unit(V) 같은 방향의 단위 벡터를 V로 반환
주: comp 함수는 V.x, V.y, V.z 기호 표기법의 다른 방법입니다.

특수 애니메이션 함수

기능 의미
noise(p,q,r) 3D 노이즈: 임의로 생성된 위치를 반환

임의의 값 p, q와 r은 임의 생성 시드로 사용합니다. noise()가 같은 값을 반환하도록 이 값을 다시 사용할 수 있습니다.