Programming/MaxScript
좌표계(Axis)
ParkJinseok
2021. 4. 11. 12:48
MaxScript Axis
Script |
Axis |
Biped 적용 |
읽기 |
쓰기 |
기타 |
$.position |
World |
X |
O |
O |
$.pos로 생략 가능 |
$.transform.position |
World |
O |
O |
X |
|
$.trasform.controller.Position |
Local |
X |
O |
O |
사용 권장 |
$.rotation |
World |
X |
O |
O |
값이 뒤집힘 |
$.transform.rotation |
World |
O |
O |
X |
|
$.transform.controller.rotation |
Local |
X |
O |
O |
사용 권장 |
계층 구조에 속해있는 Object에 World Axis로 회전 시키는 함수
function setWorldEuler obj euler =
(
var = obj.transform
obj.transform = euler as matrix3
obj.pos = var.pos
)
사용 예)
setWorldEuler $B (eulerAngles 90 0 0)
# in coordsys world, in coordsys parent와 같이 사용하면 특정 좌표계를 사용 할 수 있지만, 버그가 발생하는 경우가 있음.
Local Axis
부모 역할을 하는 P Object가 있고, 자식 역할을 하는 C Object가 있을 때, C의 Local Axis를 구하는 공식
C의 Local Axis = $C.Transform * (inverse $P.transform)
# inverse 함수는 Matrix3의 역행렬을 리턴하는 함수