맥스스크립트 심화 52

'selectKeys'의 응용

안녕하세요. 애니메이터가 들려주는 맥스 스크립트의 스크립팅하는 애님입니다. 이야~~ 아주 오래간만에 뵙습니다. 다들 건강하시고 새해 복 많이 받으세요. 오늘 이렇게 글을 올리게된 이유는 '배울것이 너무 많아'님이 올리신 질문 때문인데요. 질문의 내용은 내가 선택한 키 이후(이전)부터 타임 슬라이더바 까지의 키들을 모두 선택하고 싶다였습니다. 기본적인 명령어는 '맥스스크립트 기본'의 'Controller Key Functions' 게시물을 찾아보시면 나오니 명령어에 대한 세세한 설명은 넘어가도록 하겠습니다. 본격적인 설명 전에 사전 설명을 하나 해야겠는데요. 맥스의 키 관련 작업을 하시는 분은 잘 아시겠지만 타임슬라이더에 있는 키가 같은 곳에서 보일 뿐이지 모두 동일한 키가 아닙니다. 컨스트레인의 키, 트..

Hierarchy > Link Info > Lock 변경하기

안녕하세요, 애니메이터가 들려주는 MAX Script의 스크립팅하는 애님입니다. 이야 정말로 오래간만에 글을 올립니다. 다들 예방접종은 잘 맞으셨는지요? 빨리 코시국이 끝났으면 좋겠네요. 오늘은 2일전 쯤 'TANKS'님이 질문을 주셔서 그 부분에 대해 알아보려고 합니다. 해결방법을 알아 내셨는지 지금은 질문을 삭제하셨는데요.(ㅎㅎㅎ 제가 게을러서 타이밍을 놓쳤네요.) 기억하기론 작업을 할때마다 특정 형식의 파일을 열면 'Hierarchy > Link Info > Lock'이 모두 잠겨 있어서 이 부분을 모두 열어 주는 것이 번거로워서 스크립트로 해결하고 싶다 였을 겁니다.(대충 그런 느낌이었습니다.) 관련된 기능은 저도 써본적이 없어서 '역시 맥스는 넓다.'라는 생각을 하게 되네요. 구글링을 해보니 해..

배치스크립트 2

안녕하세요. 애니메이터가 들려주는 MAX Script의 스크립팅하는 애님입니다. 지난 시간에 이어서 배치 스크립트를 계속 진행하겠습니다. 우선 지난시간까지 작업한 내용을 보겠습니다. 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 exportBone = #($'Tube001', $'Teapot001') select exportBone pluginManager.loadClass FBXExporter FBXExporterSetParam "SmoothingGroups" true FBXExporterSetParam "NormalsPerPoly" false FBXExporterSe..

배치스크립트 1

안녕하세요. 애니메이터가 들려주는 MAX Script의 스크립팅하는 애님입니다. 오래간만에 글을 남기네요. ㅎㅎㅎ 여전히 바쁜 본업에 근근이 살고 있는 애님입니다. 얼마 전에 '^^'님이 배치 스크립트에 대한 내용을 정리해 달라는 의견을 써주셨습니다. 제 블로그에 배치스크립트에 관한 내용이 있기는 한데, 여기저기 조금씩 나와있어서 다 찾아서 자신의 것으로 하기에는 어려움이 있기는 합니다. 저 역시 '책이나 인터넷을 보며 알게 된 내용을 어디 한 곳에 모아 놓는 것'도 하나의 목적으로 블로그를 시작했는데 블로그의 한계인지 제가 블로그질을 못하는 건지 제가 적은 내용을 찾는 게 생각보다 힘들 기는 합니다. (이렇게 찾는 경우엔 인쇄된 책이 확실히 편합니다. ㅎㅎ) '^^'님이 남기신 내용은 요약하지면 '다수..

Edit poly, Editablepoly, Edit Mesh, Editable Mesh 확인하고 분기나누기.

안녕하세요. 애니메이터가 들려주는 맥스 스크립트의 스크립팅하는 애님입니다. 오늘은 'k'님이 질문을 올리신 것에 대해서 이야기해볼까 합니다. 질문 내용은 'Edit poly, Editablepoly'의 구별하지 않고 비슷한 기능을 통합해서 사용하고 싶으신 것 같습니다. (제가 정확히 이해한 건지 모르겠네요. ㅎㅎㅎ) 하지만 저는 모델링에 관해서는 거의 아는것이 없어서 세세한 부분까지는 설명 드릴수 없고 메쉬의 가장 대표적인 4가지에 대해서 스크립트로 어떻게 구별을 하는지 알아보도록 하겠습니다. 우선 질문하신 내용의 스크립트를 확인해 보겠습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 try(destroydialog Bridge)catch() Rol..

오브젝트의 하이드와 박스모드 쉽게하기(2)

안녕하세요. 애니메이터가 들려주는 맥스 스크립트의 스크립팅하는 애님입니다. 지난 시간에 이어서 계속 작업을 진행하겠습니다. 지난 시간 작업내용은 아래와 같습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 rollout hideBoxMode_Rollout "Hide/Box Mode" ( button hide_btn "Hide" width:70 pos:[5, 5] button box_btn "Box" width:70 pos:[85, 5] on hide_btn pressed do ( selectNode = (selection as array) for i = 1 to selectNode.count do ( if(selectNode[i].isHidden == true) then unh..

오브젝트의 하이드와 박스모드 쉽게하기(1)

안녕하세요. 애니메이터가 들려주는 맥스 스크립트의 스크립팅하는 애님입니다. 오늘은 제가 필요해서 만드는 오브젝트의 하이드와 박스 모드를 쉽게 하는 스크립트를 만들겠습니다. 최근 작업중에 특정 오브젝트를 숨기거나 보이게 하고, 박스 모드로 토글 하는 작업을 많이 하게 됐습니다. 물론 맥스에는 기본 기능으로 Layer를 사용하여 오브젝트의 상태를 컨트롤 할 수 있는데요. 같은 성질의 오브젝트를 묶더라도 그 안에서 하이드와 박스모드를 따로따로 가야 할 경우가 있습니다. 이렇게 저렇게 얘기 해도 사실 저의 작업 방식 때문에 이번 이야기를 하게 됐습니다. 제가 생각하는 작동 방식은 1 오브젝트 하나 또는 복수개 선택한다. 2 'Hide' 버튼을 누르면 각각의 오브젝트를 확인하며 Hide 상태이면 Unhide, U..

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

안녕하세요. 애니메이터가 들려주는 맥스 스크립트의 스크립팅하는 애님입니다. 오늘은 지난 시간에 새롭게 찾은 문제를 해결하고 마무리 짓도록 하겠습니다. 1 '머지 파일 선택'을 하지 않고 '실행'버튼이 눌려지는 문제 2 현재 씬이 빈 상태에서 '실행(파일)'이 눌려져야 하는가? 3 소소하지만 '머지 파일 선택'후 파일 이름이 표기되는데 자꾸 잘리는 문제 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 fileName = "" maxFiles = #() fn merge_fn = (..

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

안녕하세요. 애니메이터가 들려주는 맥스 스크립트의 스크립팅하는 애님입니다. 오늘은 지난 시간에 해결하지 못한 문제를 해결하고 그 외에 또 있을만한 것들을 해결하려고 합니다. 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 fileName = "" maxFiles = #() fn merge_fn = ( mergeMaxFile fileName #select quiet:true $.parent = (execute ("$'" + choParent_edt.text + "'")) ) rollo..

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

안녕하세요. 애니메이터가 들려주는 맥스 스크립트의 스크립팅하는 애님입니다. 오늘은 머지 스크립트의 기능 구현보다는 오류를 막기 위한 방법에 대해서 이야기하겠습니다. 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 fileName = "" maxFiles = #() rollout Merge_Rollout "Merge" ( button selectMerge_btn "머지파일선택" pos:[5, 5] label fileName_lab "FileName" style_sunkenedge:true height:15 width:155 p..