전체 글 226

파일머지 편하게하기(1)

안녕하세요. 애니메이터가 들려주는 맥스 스크립트의 스크립팅하는 애님입니다. 오늘은 이전에도 설명했던 머지에 대해서 이야기하려고 하는데요. '심화'인 만큼 조금더 쉽게 사용할 수 있는 스크립트를 만들도록 하겠습니다. 애니메이터인 저는 바이패드로 만들어진 캐릭터에 새로운 본이나 오브젝트를 추가하거나 삭제하고 후반 작업을 하는 경우가 많아서 스크립트를 하나 제대로 만들어 편하게 사용하고 있습니다. 여러분들에게 설명도 할겸 지금까지 사용한 것 보다 더 편하고 범용적인 것을 만들어 볼까 합니다. 우선 파일을 머지하려면 머지될 파일의 오브젝트 중 어느 것이 머지될지를 선택해야 하는데, 그런 경우 저는 머지할 오브젝트만 머지했을 때 딱 맞는 자리에 위치시키고 따로 파일을 만들어서 사용합니다. (이렇게 하는경우가 별다..

선택한 노드 Controller 변경하기(3)

안녕하세요. 애니메이터가 들려주는 맥스 스크립트의 스크립팅하는 애님입니다. 이번에는 '선택한 노드 Controller 변경하기'를 마무리 짓겠습니다. 이전 시간에 배운 내용은 아래와 같습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 rollout controllerChange_Rollout "ControllerChange" ( radiobuttons changePos_rbt "Pos 변경" columns:1 labels:#("변경없음", "position XYZ", "TCB") pos:[5, 5] radiobuttons changeRot_rbt "Rot 변경" columns:1 labels:#("변경없음", "..

선택한 노드 Controller 변경하기(2)

안녕하세요. 애니메이터가 들려주는 맥스 스크립트의 스크립팅하는 애님입니다. 지난번에 이어 'Controller' 작업을 계속하겠습니다. 참고로 지난번 시간에 다음까지 진행했습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 rollout controllerChange_Rollout "ControllerChange" ( radiobuttons changeType_rbt "변경" labels:#("원래", "TCB") button run_btn "실행" on run_btn pressed do ( if(changeType_rbt.state == 1) then ( $.position.controller = Position_XYZ() $.rotation.con..

선택한 노드 Controller 변경하기(1)

안녕하세요. 애니메이터가 들려주는 맥스 스크립트의 스크립팅하는 애님입니다. 이번에는 '선택한 노드 Controller 변경하기'를 알아보겠습니다. 물론 '맥스 스크립트 기본'에 'Constraints'으로 관련 설명을 드렸지만, 실제적으로 사용하는 방법에 대해서는 안 드린 것 같네요.(티스토리 내용이 많아져 찾지를 못했습니다. ㅎㅎㅎ) 그래서 이번 목표는 이전에 설명한 내용을 잘 다듬어 사용하기 편하게 해 보겠습니다. 우선 박스 오브젝트를 맥스 뷰포트에 만들어 보겠습니다. 해당 오브젝트를 선택해 'Assign Controller'를 확인해 보면 다음과 같이 나옵니다. 위 내용을 'TCB'로 변경하는 것은 다음과 같습니다. 1 2 $.position.controller=TCB_Position() $.rot..

actionMan을 이용한 대화상자(3)

안녕하세요. 애니메이터가 들려주는 맥스 스크립트의 스크립팅하는 애님입니다. 오늘은 지난번에 작업했던 'ActionMan'을 마무리 짓도록 하겠습니다. 오늘의 내용은 좌우, 상하, 회전, 잠금 버튼을 실제 맥스에서 사용하는 것과 비슷한 형태로 수정하도록 하겠습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 rollout actionMan_Rollout "ActionMan" ( checkbutton fig_chb "피규어" c..

actionMan을 이용한 대화상자(2)

안녕하세요. 애니메이터가 들려주는 맥스 스크립트의 스크립팅하는 애님입니다. 지난번에 'ActionMan'을 이용하여 사용자 대화 상자를 만들었습니다. 그런데 버튼이 동작이 원하는대로 작동하지 않기 때문에 오늘은 이것을 개량해 보겠습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 rollout actionMan_Rollout "ActionMan" ( checkbutton fig_chb "피규어" checkbutton comHori_chb "좌우" checkbutton comVert_chb "상하" checkbutton ..

actionMan을 이용한 대화상자(1)

안녕하세요. 애니메이터가 들려주는 맥스 스크립트의 스크립팅하는 애님입니다. 오늘은 'actionMan'을 이용하여 대화 상자 만들기를 하겠습니다. 바이패드를 하나 만들고, 대화 상자틀을 하나 만들겠습니다. 1 2 3 4 rollout actionMan_Rollout "ActionMan" ( ) createdialog actionMan_Rollout cs 여기에 버튼들을 만들어 보겠습니다. 일반 버튼 말고 체크 버튼을 만들겠습니다. 1 2 3 4 5 6 7 8 9 10 11 rollout actionMan_Rollout "ActionMan" ( checkbutton fig_chb "피규어" checkbutton comHori_chb "좌우" checkbutton comVert_chb "상하" checkbu..

Interface: actionMan

안녕하세요. 애니메이터가 들려주는 맥스 스크립트의 스크립팅하는 애님입니다. 오늘은 ActionMan이라는 것을 배워 보겠습니다. 이전에 이야기해드렸던 '3ds MAX Commands'와 같이 일반적인 스크립트와는 다른 개념을 가지고 있습니다. 이것은 Customize User Interface 대화 상자를 이용하여 도구 모음, 메뉴, 쿼드 메뉴 및 키보드 단축키에 액션을 할당하는 역할을 합니다. 말이 어렵네요. 사실 정확한 개념을 알고 있는것은 아니고 사용도 아주 한정적으로 했었습니다. 그런데 잘 모른다고 넘어가기에는 이게 생각보다 중요합니다. 간단히 예를 들면 얼마전 바이 패드의 'Track Selection > Lock COM Kyeing'이라는 버튼과 같은 역할을 하는 스크립트를 찾아보았지만 찾을 ..

RolloutCreator Functions(6)

안녕하세요. 애니메이터가 들려주는 맥스 스크립트의 스크립팅하는 애님입니다. 이전에 박스의 수가 늘어났을 때에 대한 수정을 이야기하도록 하겠습니다. 다음의 내용이 이전 시간까지 이야기했던 내용입니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 fn fn_action objNm = ( format "% 오브젝트와 연결되어 있습니다.\n" objNm ) rci = rolloutCreator "BoxButton_Rollout" "Box Button" rci.begin() totalObj = $* as array btnPosX = 5 btnPosY = 5 for i = 1 to totalObj.count do ( btnName = execute("#box..

RolloutCreator Functions(5)

안녕하세요. 애니메이터가 들려주는 맥스 스크립트의 스크립팅하는 애님입니다. 오늘은 이전에 만든 버튼을 조금 더 꾸며 보겠습니다. 이전 시간까지 작업된 스크립트는 다음과 같습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 fn fn_action objNm = ( format "% 오브젝트와 연결되어 있습니다.\n" objNm ) rci = rolloutCreator "BoxButton_Rollout" "Box Button" rci.begin() totalObj = $* as array for i = 1 to totalObj.count do ( btnName = execute("#boxButton_btn" + (i as string)) rci.addControl #bu..