Technical/Riging
[MAX] Expression Controller - 함수
ParkJinseok
2021. 4. 10. 01:10
삼각 함수
- 삼각함수는 주로 원운동을 하는 경우에 주로 사용
Ex) 피스톤의 왕복운동을 할 때, 크랭크축의 각도 또는 거리 계산 - 기본적인 sin, cos, tan 함수는 라디안이 아닌 각도 단위의 값을 입력 받음.
Ex) sin(90) = 1
역삼각함수
- Arc가 붙으면 역삼각함수가 됨. (arcsin, arccos, arctan)
- 즉, 삼각함수의 역함수가 됨. 역함수의 대표적 예는 제곱근
- Sin(90) = 1 이고 arcsin(90) = 1임. 즉, sin함수의 결과 값이 -1~1이기때문에 arcsin함수의 입력 값도 항상 -1~1 사이가 됨.
쌍곡선함수
- sinh(x), cosh(x), tanh(x)
지수 함수, 로그, 자연로그
- 지수함수 exp(x)
- 로그함수 log(x)
- 자연로그 함수 ln(x)
라디안과 각도 변환 함수
- 180도 = Pi = 3.1415
즉, 360도 = 2*pi = 6.2831
- 라디안 -> 각도 함수
- radToDeg()
Ex) radToDeg(pi) = 180도
- 각도 -> 라디안 함수
- degToRad()
Ex) degToRad(180) = pi
소수점 올림과 버림 함수
- Floor
- 버림함수, 바닥이라는 뜻.
Ex) floor(1.9) = 1 - 소수점 둘째 자리 이하 버림을 하는 방법
Ex) floor(1.2345 * 100) / 100
- 버림함수, 바닥이라는 뜻.
- Ceil
- 올림함수, 천장이라는 뜻.
Ex) ceil(1.2) = 2
일반적인 함수
- Pow(p,q)
- 제곱함수.
- Pow(p,q)와 p^q는 같은 의미
- '^'연산자는 Expression에서는 부동소수점(float) 연산을 하지만, MaxScript에서는 정수(Integer) 연산을 할 수 있다.
- Sqrt(p)
- 제곱근 함수 (Square Root)
- Abs(p)
- 절대 값 함수.
- Min(p,q), Max(p,q)
- Min (최소값을 Return)
- Max(최대값을 Return)
- MaxScript의 amin, amax라는 함수는 여러 값 중 가장 큰 값 또는 가장 작은 값을 리턴함.
조건 함수
관계 연산자
- If(p,q,r)
- If 함수
- P가 0이 아니면 q를 리턴하고 0이면 r을 리턴함.
논리 연산자
- 논리 합 (OR) |
- 논리 곱 (AND) &
vif 함수
- vif(c, v1, v2)
c가 참이면 v1이 결정되고 거짓이면 v2로 결정 된다. - If와 매우 유사한 함수이며 벡터를 사용한다는 점이 다르다.
- 조건을 검사하는 부분만 숫자이고 나머지 v1,v2에는 벡터를 입력해야 함.
- 리턴 되는 값은 벡터
벡터 함수
- Length(v)
- 벡터의 길이를 리턴하는 함수
- 원점 (0,0,0)으로부터 해당 오브젝트까지의 길이(Length)를 리턴함.
- 리턴되는 값은 스칼라
- Comp(V,i)
- 벡터의 i번째 컴포넌트를 리턴함.
- i는 0,1,2의 값을 입력 받는다. (3 이상 입력해도 되긴함. 3은 0, 4는 1, 5는 2 식으로 반복 됨)
- Unit(V)
- 방향을 유지한채 V의 단위 벡터(길이가 1인 벡터)를 리턴함.
- MaxScript에서는 Normalize V
변수의 좌표계
일반적인 Object
- World Transform 접근 방법
- Track에서 Object의 이름을 선택한다.
- Local Transform 접근 방법
- Track에서 Object의 Position Controller를 선택한다.
Biped Object
- World Transform 접근 방법
- 일반적인 Object와 동일하게 Object의 이름을 선택한다.
- Local Transform 접근 방법
- ExposeTransform Helper
- 일반적인 Object
- Biped Object