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의 역행렬을 리턴하는 함수