Max 바이패드 스케일 줄이는 방법

멀티미디어 저작 도구

1. Character Studio의 전반적 소개

   (1) Biped 구조

      

Max 바이패드 스케일 줄이는 방법

   (2) Physique 세팅

         1) 피직입힐 모델링 데이타를 두팔을 수평으로, 두다리를 어깨넓이로 벌려 놓는다.

             손가락도 피직을 입힐려면 가능한한 벌려 놓는다.

             참고로 모델링 데이타 이름은 가능한 "B"로 시작 되는 것을 다른 이름으로 바꿔주는 것이 좋다.

             바이페드를 이름으로 선택시 편리하기 때문이다.

        2) 바이페드를 생성하기 전에 모델링 데이타를 모두 선택하여

           (디스플레이>실랙트 프리즈)를 클릭, 모두 프리즈 시킨다.

        3) (크리에이트>시스템>바이페드)를 클릭 후 프런트 뷰 포트에서 발에서 머리로 드래그하여

            바이페드를 생성시킨다.

        4) (모션>피켜모드)를 클릭 후 바이페드를 모델링 데이타에 맞게 조정한다.

            특히 손가락, 발가락, 머리는 모델링 데이타 보다 좀 더 크게 맞추는게 좋다.

            왼쪽 팔을 맞춘 후에는 오른쪽 팔을 다시 맞추지 말고 키프래이밍에 있는 카피 포스쳐를 클릭하여 그 자세를 복사한 후

            오른쪽 팔을 선택후 패이스트 포스쳐 어퍼지트를 실행시켜 주면 시간을 단축시킬 수 있다.

            물론 다리도 이 툴을 사용하면 편리하다.

            참고적으로 바이패드 전체를 움직이고자 한다면 단축키 "H"를 눌러 "Bip01"을 선택하여 움직여야 한다.

        5) 피겨 모드에서 바이패드를 모델링 데이타와 비슷하게 조정하였다면

            다시 디스플래이 메뉴로 가서 언프리즈 올하여 모델링 데이타의 프리즈를 해제시켜 준다.

        6) 이제는 피직을 실행시켜야 하는데 그러려면 바이페드를 제외한 모델링 데이타를 모두 선택해야 한다.

            참고적으로 안경이나 시계는 제외 시켜야 한다.

            이런 장신구들은 피직을 입힌 후 링크를 시키면 된다. 물론 옷이나 모자는 같이 선택하여 피직을 입혀야 한다.

            단축키 "H"를 눌러 창이 뜨면 영문자 "B"를 타이핑하여 바이패드가 모두 선택되는데

            이때 인버트를 누르면 바이패드를 제외한 모델링 데이타만 선택하게 된다.

       7) 모디파이 메뉴의 피직을 실행시킨다.

       8) 피직 실행 후 어태치 투 노드(사람모양)를 클릭,

           단축키 "H"를 눌러 실렉트 창에서 디스플래이 서브트리 옵션을 체크해 준 후 Bip01 밑에 있는 Pelvis(골반)를 Pick한다.

       9) 피직 이니셜리제이션 창에서 블랜딩이 "N Links"인지 확인 후 이니셜라이즈 버튼을 클릭한다.


     10) 김이 무럭 무럭 나는 커피타임 후에는 피직이 입혀진 모델링 데이타를 접하게 될 것이다.

          참고로 좀 더 정밀하게 피직을 입히고자 한다면 서브 오브젝트에 있는 인벨로프나 벌지, 버텍스 등을 선택하여 수정해 주면 된다.

   (3) FootStep Animation

       1) FootStep Motion 생성 순서

           ① General > FootStep Mode 클릭

          ② FootStep Creation > Walk, Run, Jump 중 하나를 선택

          ③         “         > Creat Multiple FootSteps 클릭

          ④ FootStep Operations > Creat Keys for Inactive Footsteps 클릭

      2) Create Mutiple Footsteps

          ① General

                 - Start Left(Right) : 왼발(오른발)부터 풋스텝 생성

                 - Alternate : Run이나 Jump 시에만 Active. (선택해제하면 한발로 뛰거나 점프한다)

                 - Number of Footsteps : 만들어질 풋스텝의 수 결정

                 - Parametric Stride Width : 보폭의 너비를 퍼센티지로 정함.

                                                           값 1은 Pelvis 너비와 동일. 

                                                           1보다 큰 값은 어기적거리는 걸음걸이,

                                                           1보다 작은 값은 조심스레 다리를 모으고 걷는듯한 걸음걸이.

                 - Actual Stride Width : MAX 단위로 보폭의 너비를 정함.

                                                    디폴트 값은 Parametric Stride Width에 의해 결정된다.

                 - Total Distance : 풋스텝 전체 거리

          ② Timing

                 - Auto Timing : Gate 파라미터를 자동적으로 설정한다. 

                                         체크를 끄면 Time to Next Footstep이 비활성화되고

                                         Gait 파라미터가 활성화되어 Gait 파라미터를 수동으로 설정할 수 있게된다.

                 - Interpolate : 바이페드이 걷는 속도를 늘이거나 줄일 때 또는 보폭의 길이와 너비를 점차적으로 넓히거나 좁힐 때 사용. 

                                       체크를 하면 바이페드는 First Step에 있는 파라미터의 값과 Last Step에 있는 파 라미터의 값 사이에서 중간값을 취한다.

                 - Start After Last FootStep : 새롭게 만들어진 풋스텝이 기존에 있던 풋스텝 배열의 마지막에 덧붙여진다.  만들어진 풋스텝이 없으면 사용불가.

                 - Start at Current Frame : 새롭게 만들어진 풋스텝을 현재의 프레임에 삽입한다.   

                                                         현존하는 풋스텝과 겹치지 않아야하며 Start at Current Frame이 디폴트값이다.


③ First Step & Last Step(※ Interpolate가 체크되야 Last Step 설정가능)

                 - Parametric Stride Length : 바이페드 다리길이의 퍼센티지로 풋스텝의 보폭 길이를 설정한다. 

                                                              일반적으로 사람은 보폭의 길이를 다리 길이의 75%로 설정한다.

                   디폴트값은 Walk : 0.75, Run : 1.5, Jump : 2.4, 제자리걷기 : 0, 뒤로걷기 : 음수

                 - Actual Stride Length : MAX 단위로 풋스텝의 보폭의 길이를 설정.

                 - Actual Stride Height : 풋스텝 사이의 높낮이 설정.  양수는 올라가고 음수는 내려간다.  디폴트는 0이다.     

                 - Time to Next Footstep : 발이 바닥을 터치하는 프레임부터 다음 발이 터치하는 프레임 사이의 수를 결정. 

                                                        디폴트값은  Walk : 15, Run : 15, Jump :20

                예 1) 계단 올라가기와 내려가기

                        First Step의 Actual Stride Height 의 값이 양수면 올라가고 음수면 내려간다.

                예 2) 제자리 걷기와 뒤로 걷기

                         First Step 영역에서 Parametric Stride Length 값을 0으로 설정하면 제자리 음수면뒤로 걷는다. 일반적인 보폭은 0.75

                예 3) 점점 빨리 걷게 하거나 반대로 느리게 걷게 하기

                        먼저 Timing의 Interpolate를 체크 후 First Step의 Time to Next Footstep 값과

                        Last Step의 Time to Next Footstep 값에 차이를 둔다.  First Step 영역 값이 크면 속도가 증가하고 반대로 작으면 속도가 감소한다.

   (4) Motions Flow의 일반적인 사용법

        1) Motion Flow를 클릭하여 모션 플로우 조절 모드로 들어간다.

        2) 사용될 모션의 순서와 이름 등을 정의하기 위해 Show Graph를 클릭한다.

        3) Creat Clip을 클릭하면 커서가 화살표 모양으로 바뀌는데, 윈도의 빈 공백을 여러번 클릭하여 빈 클립을 여러 개 만든다.

            모든 모션은 클립이라 부르고, 여기서는 그런 모션을 불러오기 위한 준비작업을 하는 것이다.

        4) Select Clip을 클릭한 다음 방금 만들어준 클립을 오른쪽 버튼 클릭한다. 불러올 모션을 선택하는 부분이다.

        5) Browse를 클릭하여 원하는 바이팻 파일들을 클립에 불러온다.

        6) Move Clip을 이용해 클립들이 어떤 식으로 연결될지 순서대로 클립들을 나열한다.

            여기서는 단순히 눈으로 구별하기 쉽게 나열하는 것이지 실제로 순서가 정해지는 것은 아니다.

        7) 콘트롤 패널의 Motion Flow

            Script 롤아웃에서  Define Script을 클릭한 후, 좀 전에 만들어 준 클립들을 순서대로 클릭하면 화살표로 클립들이 연결되고,

            뷰포트에서는 동작들이 부드럽게 연결된다.

        8) 연결동작을 보다 부드럽게 만들기 위해 Motion Flow Script 롤아웃의 리스트에서 클립이름을 클릭한다.

        9) Edit Transition 버튼을 클릭하면 창이 열린다.

           Length는 연결된 두 클립이 섞이는 프레임으로 A 동작에서 B 동작으로 자연스럽게 혼합되는 프레임이 몇 프레임이 될지를 정의하는 부분이다.

           초기값은 25프레임인데 이것이 일반적으로 여러 동작에 적당한 프레임이다. 

           이때 뷰포트에서는 Ghost(잔상)가 나타나는데 노란색은 현재를 중심으로 이전 동작(모션)의 잔상이고, 빨간색은 이후 동작(Motion)의 잔상이다.

           ←→ : 이전이나 이후 동작의 연결부위로 이동한다.

          Optimize Transition : 두 개의 모션이 섞일 때 어떤 식으로 섞일지 정해주는 부분이다.

           Go To Start Frame 현재 조절중인 모션의 시작 프레임으로 간다.

        10) 작업한 모션 플로우 편집 상태를 저장한다.

              여기서는 단지 Transition과 Script를 저장하는 것이기 때문에 바이팻은 따로 저장해야 한다.

        11) Save Segment를 클릭하여 현재까지 만든 애니메이션을 Bip 파일로 저장한다.

이제 모션 플로우 모드를 빠져나가 그 Bip 파일을 불러들이면 된다.

 (5) Motions Mixer

      1) Biped Apps의 Mixer 버튼을 클릭하여 Mixer Mode로 들어간다.

      2) 실행된 Motion Mixer 창에서 여러 모션을 합성(MIx)하기 위해서 합성할 모션만큼 트랙의 수를 늘려야하는데

          All 글자 위에 마우스 오른버튼을 클릭하여 Add Trackgroup Below메뉴를 실행시켜 트랙의 수를 늘린다.

      3) 모션이 적용될 신체 부위를 선택해주기 위해서

          All 글자 위에 마우스 오른버튼을 클릭하여 Filter메뉴를 실행시켜 Trackgroup Filter창이 뜨면 Center, Arms, Legs, All, None, Invert 등의

          버튼을 활용하여 적용될 모션의 신체 부위를 선택해준다. (선택은 노란색, 비선택은 회색으로 구별)

          선택이 끝났으면 All 글자 영역에 선택을 표현하는 이름을 적은 후 OK버튼을 누른다.

      4) 트랙에 모션을 적용하기 위해서

          트랙 위에서 마우스 오른버튼을 클릭하여 New Clips>From Files를 실행시켜 열기 창이 뜨면 모션을 선택해준다.

          위와 같은 방식으로 모든 트랙에 모션을 적용한다.

      5) Motion Mixer 창의 툴바에서 Zoom Extents를 눌러 모션을 확대시킨 후 맥스의 Navigation Control의 Time Configuration을 눌러

          애니메이션 편집 시간을 적절히 늘려준다.  

      6) Track에서 서로 다른 2개의 모션을 자연스럽게 연결하기 위해서는 Convert to Transition Track으로 바꿔준 후에

          두 모션에 적절한 트랜지션을 주면서 연속된 동작의 자연스러운 합성을 유도할 수 있다.

2. Premiere의 소개

    (1) 초기세팅(General Setting)

    (2) 화면구성(프로젝트,타임라인,모니터,기타)

    (3) Import, Export(랜더링)

    (4) 기초 편집(타임라인/트랜지션)

    (5) 중급 편집(트랜스페이런시/모션)

3. Premiere의 활용

   (1) 트랜스페어런시

   (2) C.G 합성

4. Physique Setting

    a. 피직 세팅의 개론적인 설명으로 캐릭터의 피직 세팅시 순서는 몸=>얼굴=>손이다. 

        그 이유는 몸 애니메이션과 얼굴 애니메이션과 손 애니메이션을 별도로 제작해서 나중에 피직을 새로 세팅해야 하기 때문이다.

     b. 몸에 피직 세팅

         1) (Motion>Structure)안에 Triangle 체크옵션은 사람 피직 세팅시엔  체크(힙 부분 표현), 공룡이나 거북이 등은 체크를 꺼준다.

         2) (Modify>Physique>Envelope)

          (1) 목 밑부분의 ∨ 모양과 사타구니 위부분의 ∧ 모양의 링크를 선택하여 Active Blending의 Deformable 체크를 꺼준다.

          (2) 손에서 엄지와 중지를 제외한 링크 또한 Deformable 체크를 꺼준다.

          (3) 머리 링크는 Deformable을 Rigid로 체크 옵션을 바꿔준다.

          (4) Envelope의 파라미터에서 Radial 스케일은 상하를 Parent와 Child는 좌우로 크기를 조절시켜 주는데

               Parent와 Child는 COM을 중심으로 가까우면 Parent고 그 상대편이 Child가 된다.

          (5) Envelope에서 Inner와 Outer를 조정시 Selection Level에 있는 Link와 Cross Section, Control Point를 적절히 사용한다. 

               단 Cross Section과 Control Point를 이용시 반드시 스케일 툴로만 조정해야 한다.

          (6) Inner는 실제 캐릭터의 몸을 통제하는 부분이기 때문에 캐릭터의 몸을 벗어나면 안되고

               Outer는 힘의 영향력이기 때문에 약간 벗어나야 된다.

          (7) 피직 세팅에서 엔벨롭 순서

              ① 어께 : Both가 목 밑부터 Upper Arm의 1/3 정도, Outer가 등 뒤로 나오게.

              ② 가슴 : Outer가 목과 Upper Arm의 1/5 정도, Inner는 작게.

              ③ Upper Arm : Outer가 목옆선에서 Fore Arm의 1/5 정도, Inner는 작게.

              ④ 허리 : Outer가 위아래로 약간 나오게, Inner는 작게.

              ⑤ 골반 : Inner가 허리부터 치골까지, Outer는 엉덩이 부분을 크게 나오게.

              ⑥ Thigh : Inner가 Triangle의 1/2~Calf의 1/5 정도, Outer는 허리~Calf의 1/3

                     사타구니에서 Inner는 작게 Outer는 크게(땅콩처럼).

                     엉덩이 부분에서 Outer는 크게 나오게.

        3) (마더파이>피직>링크) - 어깨와 팔, 허벅지와 다리등 접히는 부분 수정시

          (1) Bend와 Twist에서 Tension에서 정도를 Bias에서 위치를 수정한다.

          (2) Joint Intersection에서 Crease 값을 조정한다.

          (3) Sliding은 면이 부족할 경우 면을 몰아주는 기능인데 특별히 조정하지 않는다.

       4) (마더파이>피직>벌지) - 팔이나 다리를 접을 때에 근육 표현

          (1) 팔을 90도로 꺽고 Bulge Angle Parameter에서 Insert Bulge Angle 버튼 클릭.

          (2) Current Bulge Angle에 꺽인 값 “90”을 입력한다.

          (3) Selection Level의 Cross Section을 선택, Cross Section Parameter에서 Insert를 클릭한 후

               팔의 근육이 나올 부분의 링크를 선택하면 Cross Section이 추가된다.

          (4) 마찬가지로 Selection Level의 Control Point를 선택, Insert를 클릭하여 근육이 표현될

               Cross Section 부분에 Control Point를 추가시킨다.

          (5) 추가된 Control Point를 스케일 툴로 늘리면 근육이 표현된다.

    c. 머리에 피직 세팅

       1) 머리에 피직을 적용하는 순서는 몰핑된 얼굴에 피직을 적용시킨 후 메쉬 스무드를 적용시킨다. 

           피직 후에 몰퍼를 적용시키면 몰퍼 기능이 잘 안되고 피직 전에

           메쉬 스무드를 줄 경우 피직시에 컴퓨터 연산 시간이 길어지기 때문이다.

       2) 머리에 피직을 적용 후에 어태치 투 노드(사람모양)를 클릭 목을 선택해 준다.

       3) 링크로 가서 목 이하를 선택, 엔벨롭프에서 디포머블 체크를 꺼주고 피직세팅을 한다.

 5. FootStep Animation 편집

   (1) 트랙뷰에 대한 이해

   (2) 풋스텝의 복사 및 동작 연결

        복사하고자 하는 풋스텝을 선택 후에 FootSteps Operations에서

         FootStep Copy 버튼을 눌러 복사하고 Paste하여 붙여넣기 한다. 

        복사된 풋스텝을 연결시킬 풋스텝 위에 올려놓으면 빨간색으로 바뀌게 되는데 이때 Drop시키면 동작이 연결된다.

   (3) 풋스텝의 Bend와 Scale

        풋스텝을 선택 후 Bend를 눌러 휘게할 수 있고 Scale로 Lengh와 Width로 보폭의 길이와 넓이를 수정할 수 있다.

   (4) 걷는 동작의 편집

   (5) 레이어의 이해

   (6) 뛰어오르는 높이 조정

        Animation Properties의 GravAccel(중력가속도)의 값과 높이는 비례한다.

   (7) 체공상태와 지체상태의 조정

        Track View에서 Bip>Bip FootSteps에서 마우스 오른 버튼을 눌러

        Biped FootStep Mode 창을 열어서 Edit FootStep의 Duration과

        Foot Air Duration을 체크 후에 체공상태와 지체상태를 조정한다.

6. 물건을 밀고 가는 모션과 물건을 들고 가는 모션 편집

    (1) 물건을 밀고 가는 모션

       1) 밀고갈 박스와 바이페드를 생성 후 피겨모드에서 Rubber Band Mode 버튼을 켜고

            Left ViewPort에서 중심(Bip)을 뒤로 위치시킨다.

       2) 풋스텝 모드에서 Creat Multiple FootStep에서 FootStep을 만들고 Inactive시킨다.

       3) 피겨모드에서 Bend를 누르고 허리를 로테이션 툴로 앞으로 숙이게 만든다.

       4) 손을 선택하고 Key Info의 IK에서 화살표 모양의 Select Object 버튼을 누르고 박스를 선택해 준다.

       5) 손을 Move 툴로 구부리고 손바닥을 Rotate 툴로 박스를 밀 수 있게 조정한다.

       6) 손을 선택 후에 IK Key Info에서 Set Planted Key를 누르고 첫프레임 키를 제외한 모든 키를 지운다.

       7) 반대편 손도 선택하여 Select Object Space Object 버튼을 누르고 박스를 선택해주고

           모양을 복사하여 같이 구부리게 한 후 Set Planted Key를 누르고 첫프레임 키를 제외한 모든 키를 지워준다.

       8) 이제 박스만 워킹에 맞도록 애니메이션 걸어주면 된다.

    (2) 물건을 들고 가는 모션

       1) 바이페드를 만들고 워킹 모션을 만들고 들고갈 물건을 만든다.

       2) Creat>Helper>Dummy를 하나 만든다.

       3) 애니메이션 버튼을 키고 바이페드가 물건을 들게 몸을 굽히는 모션을 만든다.

       4) 첫프레임에서 더미를 선택 후 Motion>Transform에서 Assign Controller를 클릭하여

           Link Constraint를 눌러주고 Link to World를 눌러준다.

       5) 더미가 선택된 상태에서 물건을 들기 위해 몸을 굽히는

           타임라인으로 이동하여 Add Link를 누른 후에 손바닥을 클릭해준다.

       6) 애니메이션 버튼을 키고 내려 놓을 위치에서 다시 물건을 내려 놓기 위해 몸을 굽히는 모션을 만든다.

       7) 애니메이션 버튼을 끄고 그 위치에서 더미가 그대로 선택된 상태에서 모션의 Link to World를 눌러준다.

       8) 박스를 선택 후에 Link버튼을 누르고 더미를 선택해 주면 물건을 들고 가는 모션이 완성된다. 

           참고적으로 박스를 내려놓고 다른 물건을 선택하고자 한다면

           7)번에서 Link to World를 눌러주지 말고 Add Link를 눌러서 다른 물건을 선택해주면 된다.

 7. Crowd Animation(군중 애니메이션)

1) Crowd Animation의 개요

    ① Crowd Animation은 다이나믹 시뮬레이션이다.  즉 애니메이션을 키프레임으로 조정해서 만드는 것이 아니라

        자체 솔루션을 가동시켜 애니메이션을 생성하는 것이기 때문에 랜더링에 대한 부담감을 줄여준다.

    ② Crowd Animation은 헬퍼의 Delegate와 Crowd를 갖고 애니메이션을 제작하는 것으로

        모형자동차가 있다면 그 모형자동차를 조정하는 역할이 Crowd고 조정당하는 차가 Delegate이다.

   ③ Crowd의 Modify 메뉴는 크게 6가지로 되어 있는데

       Scatter는 Delegate의 수를 조정하는데 쓰이고

       Object / Delegate Associations은 새나 비행기, 자동차 등의 Object 즉 사물과 Delegate를 연동시키는데 사용되며

       Biped / Delegate Associations은 바이펫 즉 캐릭터와 Delegate를 연동시키는 이용된다.

       Mutiple Delegate Editing은 다수의 Delegate의 조건을 조절하는데 사용되고

       Behavior Assignment는 생성한 Delegate에 Behavior를 적용시키는데 이용되며

       Cognitive Controller는 다이어그램을 이용하여 Behavior간의 조합(combination)을 할 때 사용된다.

2) Crowd와 Delegate를 이용한 시뮬레이션 제작의 예-1

   ① Top에서 Crowd와 Delegate 헬퍼 옵젝트를 만든다.

      (Delegate의 자취를 보고 싶다면 Display에서 Trajectory를 체크)

   ② Crowd의 Modify에서 Setup의 Behaviors 그룹에서 New를 클릭한다.

   ③ 원하는 Behavior를 선택한다. (Target을 선택하는 버튼이 있으면 None 버튼을 눌러서 옵젝트를 선택해준다)

   ④ Behavior Assignment를 클릭하여 창에서 Delegate와 Behaviors를 선택 후

       화살표 5개가 그려진 New Assignment를 클릭한다.

   ⑤ OK 버튼을 누른 후 Solve 버튼을 클릭하면 델리게이트가 크라우드에 의해 시뮬레이션되는 것을 볼 수 있다.

3) Crowd와 Delegate를 이용한 시뮬레이션 제작의 예-2

   ① Sphere와 Box를 하나씩 만든다.(Sphere로 공간을 Box는 타겟으로 사용하기 위해)

   ② Top에서 Crowd와 Delegate 헬퍼 옵젝트를 각각 1개씩 만든다.

   ③ Crowd의 Modify에서 Setup의 Scatter를 클릭한다.  Scatter Objects 창의

      - Clone 탭에서 Object to clone을 Delegate로 How many에서 9개 설정해 준 후

         Generate Clones 버튼을 눌러서 Delegate 10개를 만든다.

      - Position 탭에서 Placement relative to Object의 여러 옵션 중에

         On Surface의 None 버튼을 눌러서 Sphere를 선택해 준 후 Generate Position 버튼을 누른다. 

      - Rotation 탭에서 Look at Target의 옵션 중에 Selected Object의 None 버튼을

        눌러서 Box를 선택해 준 후 Generate Orientation 버튼을 누른다.

   ④ OK버튼을 눌러 Scatter 창에서 빠져나오고 Sphere는 지운다.

   ⑤ 여러 습성을 주고 확인하기위해 편의상 5개의 Delegate를 선택, 색을 달리 설정한다.

   ⑥ Crowd의 Modify에서 Setup의 Behaviors 그룹에서 New를 클릭한다.

   ⑦ Seek Behavior를 선택하고 None 버튼을 눌러 Box를 선택한다.

       Behavior Assignment를 클릭하여 창에서 10개의 Delegate를 2개의 팀으로 나누기 위해

       New Team을 누른 후 5개의 Delegate를 선택해 Seek Team을 만든다.

   ⑧ Behaviors 그룹에서 New를 클릭하여 이번에는 Repel Behavior를 선택,

       Seek과 마찬가지로 None 버튼을 눌러 박스를 선택해준다. 

       Behavior Assignment를 클릭하여 창에서 New Team을 누른 후 5개의 Delegate를 선택해 Repel Team을 만든다.

   ⑨ Behavior Assignment 창에서 Repel Team은 Repel Behavior로,

       Seek Team은 Seek Behavior로 Assign 해준 후 OK버튼을 누른 후 Solve 시킨다.

   ⑩ Seek Behavior 속성을 가진 Delegate가 X, Y 좌표로만 움직이는 것을 수정하기 위해

       Multiple Delegate Editing을 눌러 Add를 눌러 편집할 Delegate를 선택,

       Constraint X,Y Plane의 체크를 끄고 Set에 체크 후 Apply Edit 버튼을 누르고 다시 Solve 시킨다.

   ⑪ Behaviors 그룹에서 New를 클릭하여 Avoid Behavior를 선택, None 버튼 옆에

       Multiple Selection의 All을 눌러 모두 선택한다. 

       Behavior Assignment 창에서 Seek Team과 Avoid Behavior를 Assign시킨 다음 OK버튼을 누른 후 Solve 시킨다. 

 4). Object/Delegate Associations를 이용한 시뮬레이션 제작의 예(cs_tut08_lesson5.max 파일)

   ① max 폴더의 cs 폴더 안에 tutorial 중에서 8번째 cs_tut08_lesson5.max 파일을 open한다.

   ② Vector Field의 Object가 Cylinder로 체크되어있는지 확인, Show Range를 체크하여 힘의 영향 영역을 확인한다.

        (Vector Field는 Creat>Space Warps>Particles & Dynamics>Vector Field에서 생성하고

         Modify에서 Objcet를 설정하고 Display의 Show Range나 Show Vector를 체크해주면 힘의 영역을 볼 수 있다)

   ③ Crowd의 Modify에서 Space Warp Behaviors를 만들고 VectorField를 지정해준다.

   ④ Avoid Behavior를 만들고 모든 Delegate를 선택하여 Multiple로 지정해준다.

   ⑤ Multiple Delegate Editing에서 Delegate to Edit에서 Add버튼을 눌러 모든 Delegate를 선택하고

       Constrain to XY Plane 체크를 끄고 Set을 체크한다. 

       Delegate의 속도 변화를 주고자 Speed의 Average Speed의 Random을 체크하고

       3-5를 적용, Set을 체크 후 Apply Edit을 누른다.

   ⑥ Behavior Assignments를 눌러 모든 Delegate를 Team으로 묶고 그 Team에게

       Avoid와 SpaceWarps Behavior를 모두 적용시켜준 후 Solve로 시뮬레이션 시킨다.

   ⑦ Display에서 Unhide All을 눌러보면 새가 나타난다.  새의 움직임은 날개짓하는 움직임과

       그냥 편 상태의 움직임, 즉 2개의 애니메이션이 있음을 알 수 있다.

   ⑧ Crowd의 Setup에서 새를 Delegate만큼 복사하기 위해 Scatter를 눌러

       Object to Clone을 Eagle로 선택해주고 반드시 Clone Controllers 체크를 꺼줘야된다. 

       그 이유는 기존의 새의 애니메이션과 Delegate의 모션이 합성되기 때문이다. 5개를 Generate Clone시킨다.

   ⑨ Delegate와 Clone된 새들을 Associate시키기 위해 Setup의 Object/Delegate Associations을 눌러

       Objects에 복사된 Eagle5개와 Delegates에 Delegate를 Add시키고

       Align Objects with Delegates 버튼과 Link Objects to Delegates 버튼을 눌러준 후 OK 버튼을 누른다.

  ⑩ 새가 상향시에는 날개짓을 하게 하고 하향시에는 날개를 편 채로 날개하게 위해

       Crowd Modify 메뉴의 맨 하단에 있는 Global Clip Controllers에서 New 버튼을 누르고 Eagle을 선택해준다. 

       List에서 선택된 Eagle을 누르고 Edit 버튼을 누르면 Eagle Object를 조절해 주는 창이 뜨는데

       Motion Clips에서 New 버튼을 눌러 0에서 186을 지정하고 이름을 Flip으로 지정해주고 OK 버튼을 눌러준다. 

       다시 New를 눌러 이번에는 187에서 288까지로 지정해주고 이름을 Glide로 정해 Flip과 Glide 2개의 Clip을 만들어 준다. 

       이번에는 모션이 아닌 자세를 만들기 위해 State로 가서 New State 버튼을 눌러

       Flip이라고 타이핑치고 MotionClips의 Add Clip 버튼을 눌러 Flip 모션클립을 선택해준다.

       Edit Properties로 가서 Pitch에서 Use Pitch를 선택해주고

       새가 1도부터 180도로 날아갈 때 Flip하도록 Min과 Max값을 조정해주고 Exit을 누른다.

       마찬가지로 New State 버튼을 눌러 Glide라고 타이핑치고 Glide 모션클립을 선택해주고

       Edit Properties로 가서 Pitch에서 Use Pitch를 선택해주고 새가 -180도부터 0도 사이일 때

       Glide하게 Min과 Max값을 조정해주고 Exit을 누른다. 

       Synthesis에서 New Master MotionClip을 눌러 Eagle 5개를 선택하여 Listing시켜주고

       Auto Blend All을 눌러줘서 Flip 모션과 자세, Glide 모션과 자세를 부드럽게 전환되게 만들어 주고

       Synthesize All 버튼을 눌러주면 리스트 업된 새들에게 모션과 자세가 적용된다.

5). Biped/Delegate Associations를 이용한 시뮬레이션 제작의 예(cs_tut08_lesson6.max 파일, rtswimforward.bip 모션파일) 

   ① max 폴더의 cs 폴더 안에 tutorial 중에서 8번째 cs_tut08_lesson6.max 파일을 open한다.

   ② Biped의 COM인 bip01을 선택하여 Scatter로 5개를 더 Clone한다.

   ③ Scatter에서 Clone에서 Object to Clone을 Delegate01을 선택하여 How Many를 5로 쓰고 Generate 버튼을 누르지 말고,

       Position에서 Placement relative to Object에서 On Surface가 체크된 상태에서 Surface Object가 Plane01이 선택되어 있는지 확인해 주고,

       Rotation에서 Look At Target의 Selected Object를 Buoy로 선택한 후 All Operation에서 Clone과 Position과 Rotation을 한번에 체크해 준 후 Scatter시킨다. 

       만약에 Delegate의 Position이 맘에 안들면 Seed를 체크하고 Scatter를 누르면 랜덤으로 계속 바뀐다.

   ④ Crowd의 Modify에서 물 표면을 따라 수영하게 하기 위해 Surface Follow Behavior를 만들고 물표면 Plane01을 선택해준다.

   ⑤ Pyramid인 buoy object를 찾아가게 하기 위해 Seek Behavior를 만들고 buoy를 선택한다.

   ⑥ Behavior Assignments로 가서 New Team으로 모든 Delegate를 Team으로 만들어서 Seek와 Surface Follow Behaviors를 Assign시켜 준 후 Solve로 확인한다.

   ⑦ Setup의 Biped/Delegate Associations 버튼을 눌러서 Biped를 모두 List up시키고 Delegate를 모두 List up시킨 후 Associate시킨다.

   ⑧ Biped에게 Animation을 주기 위해 Biped 중에 임의의 하나를 선택한 후 Motion으로 가서

       Motion Flow Mode를 선택, Motion Flow에서 Show Graph를 클릭한다. 

       Creat Clip버튼으로 Clip을 하나 만들고 마우스 오른 버튼으로 메뉴를 불러

       Browse를 눌러 tutorial_8안의 rtswimforward.bip 모션파일을 지정해주고

       Looping Animation을 하기 위해 0-80프레임으로 지정하고 오케이버튼을 누른다. 

       Creat Transition으로 수영모션클립을 클릭해주면 Looping이 된다. 이제 이 모션 플로우 스크립트를 저장해준다.

  ⑨ 이 모션을 여러 바이팻이 공유하기위해 Shared Motion Flow 버튼을 눌러 창에서 New를 누르고

       Parameters의 Load mfe 버튼을 눌러 방금 저장한 수영루핑모션플로우 스크립트 파일(mfe)를 불러온다. 

       Bipeds Sharing this Motion Flow 리스트에 모션을 공유할 바이팻을 추가하기 위해

       Add 버튼을 누르고 All 버튼으로 모든 바이팻을 선택해준 후

       Put multiple bipeds in Motion Flow 버튼을 눌러 모션을 공유시킨다. 

       Select Random Start Clips 버튼을 누른다.  Crowd Modify에서 Solve를 누른다.

 ⑩   Delegate는 수면 표면에 어느 정도 잠겨있으나 Biped는 수면 표면위에 붕떠있게 된다. 

       이를 수정하기 위해 Behavior의 Surface Follow 하단 메뉴 중에 Position On Surface에서 Display Offset을 체크해주고

       Offset의 수치를 -52를 입력하여 밑으로 이동시킨다.  Solve를 눌러 시뮬레이션시킨다.

 ⑪  바이팻의 수영모션의 처음모션에 변화를 주기 위해 Multiple Delegates Editing 버튼을 누르고

      창에서 Delegates to Edit 리스트창에 Add 버튼을 눌러 모든 Delegates를 선택해 주고 Biped 항목에서 Random을 체크하고

      Value 2의 수치를 30정도로 입력, Set을 체크해 주고 Apply Edit 버튼을 누른다.  Solve를 눌러 시뮬레이션시킨다.

8. Loop Motion

  1) Bip 모션

    ① Motion Flow Mode에서 Show Graph로 들어간다.

    ② Loop할 모션을 불러온 후 Define Script로 두 번 클릭한다.

    ③ Transition에서 Length를 “0”로 하고 Source Clip의 Start Frame을

       모션 클립의 마지막 프레임으로 수정한다.

  2) Bvh 모션  (예제 bvh파일)

    ① Biped를 만들고 모션캡쳐에서 Load Motion Capture File을 클릭하여

       Bvh 파일을 불러온다.

    ② Motion Capture Conversion Parameters 창에서 일단 OK한 후

       루핑할 모션 영역을 확인한다.

    ③ 다시 Load Motion Capture File을 클릭,

       Motion Capture Conversion Parameters 창의 Load Frames 메뉴에

       루핑할 시작 프레임과 끝 프레임을 지정하고 Loop를 체크한다.

       Looping 회수를 지정하고 OK한다.

9. Shard Motion Flow

   ① Biped을 만들고 Shift+Move로 4개더 Copy하여 5명의 Biped을 만든다.

   ② Motion의 Motion Flow Mode에서 Shared Motion Flow를 클릭, New하여

      새로 만들고 Add하여 5명의 Biped를 선택 OK한다.

   ③ Show Graph에서 Creat Multiple Clip으로 원하는 모션들을 불러온다.

   ④ 불러온 모션클립을 모두 선택하여 Creat All Transition 버튼을 클릭하고

      Move Clip으로 모션들을 배치한다.

   ⑤ Select Random Start Clips를 누르고 모든 클립을 선택한다.

   ⑥ Creat Random Motion을 눌러 Random Start Range를 설정하고

      Creat Motion For All Bipeds Sharing을 체크 후 Creat를 클릭한다.

10. Random Motion Flow (예제파일 Skate.zip)

   ① Biped를 만들고 Motion Flow Mode에서 Show Graph하여

      예제파일 4개를 불러온다.

   ② Skate Up->Start->Loop->Spin으로 배치를 한 후

      Creat Transition을 눌러 상기 순서대로 트랜지션을 만들어 준다.

   ③ Loop는 Loop 모션 처리를 해주고 모두 선택 후

      Optimize 버튼을 눌러 트랜지션을 최적화 시켜 준다.

   ④ Loop 트랜지션의 Probability의 값을 80으로 해주고 Loop->Spin의

      트랜지션의 Probability의 값은 20으로 수정해 준다.

   ⑤ Creat Random Motion을 눌러 Animation Length의 값을 2000으로 수정후

      Creat시킨다.

var _noframes=0;