전체 글 226

오브젝트의 머지(1)

안녕하세요. 애니메이터가 들려주는 맥스 스크립트의 스크립팅하는 애님입니다. 지난번 이야기를 마치고 무엇을 할 것인가 고민을 하다가 '이렇게 고민할 거라면 차라리 원래 하고 싶었던 실제 스크립트를 짜는 것을 보여주자'라고 생각하게 됐습니다. 스크립트의 문법적인 부분은 제가 설명한것 보다 훨씬 깊고 다양합니다. 그도 그럴게 맥스의 영역에서 제가 사용하는 부분은 애니메이션 관련의 극히 일부분이기 때문입니다. 오늘은 오브젝트의 머지에 대해서 이야기 하겠습니다. 파일의 머지를 설명하면서 잠깐 다루고 지나갔는데, 그 부분을 심화하여 실제 어떻게 사용되는지를 알아보도록 하겠습니다. 애니메이터가 작업을 하고 있는데 위에서 무기(액세서리, 이펙트 등)용으로 본이나 더미 추가가 필요하다고 생각해 봅시다. 다행히 애니메이션..

문자열(String) 함수(5)

안녕하세요. 애니메이터가 들려주는 맥스 스크립트의 스크립팅하는 애님입니다. 오늘은 문자열 관련 함수를 마무리 짓도록 하겠습니다. 문자열 관련 함수는 꽤 오랫동안 잡고 있었네요. 저로서는 자주 쓰고 유용하게 쓰는 함수이기 때문에 자세히 설명해왔습니다. 문자열 추가 append 배열을 배웠을때 append에 대해서 이야기했습니다. 배열과 문자열은 여러 개의 값이 하나의 변수에 들어가 있는 부분이 비슷하기 때문에 같은 형태의 많은 함수를 사용하고 있습니다. append는 문자열을 합친 후 문자열 형태로 반환합니다. 은 뒤에 붙을 문자열입니다. 다음과 같이 입력 후 실행해 봅시다. 1 2 a = "1234" b = append a "abcd" cs 결과는 이야기하지 않아도 쉽게 이해하실 수 있을 겁니다. 그런데..

문자열(String) 함수(4)

안녕하세요. 애니메이터가 들려주는 맥스 스크립트의 스크립팅하는 애님입니다. 지난번에 이어서 오늘도 문자열의 함수에 대해서 알아보도록 하겠습니다. (첫인사가 계속 같은 말이네요. ㅎㅎ) 원하는 문자열 가져오기(하위 문자열 불러오기) substring 문자열에 substring함수를 사용하여 원하는 위치와 원하는 길이를 입력하여 문자열의 일부를 받아옵니다. 문자열 형태로 돌려줍니다. 는 원하는 문자열의 시작 번호입니다. 는 에서 얼마큼 길게 선택할 것인가를 정합니다. 음수 값을 가지면 이후의 모든 문자열을 받아 옵니다. 문자열의 길이보다 큰 값을 적으면 이후의 모든 값을 받아 옵니다. 다음과 같이 입력 후 실행하고 결과에 대해서 확인해 봅시다. 1 2 3 4 s ="Balerofon" ss = substri..

문자열(String) 함수(3)

안녕하세요. 애니메이터가 들려주는 맥스 스크립트의 스크립팅하는 애님입니다. 지난번에 이어서 오늘도 문자열의 함수에 대해서 알아보도록 하겠습니다. 메모리에서 문자열 비우기 free 가비지 수집을 기다리지 않고 문자열 값에서 사용하는 메모리를 비웁니다. 저는 메모리를 많이 쌓은 경험이 없어선지 사용해 본 적은 없습니다. 다음과 같이 입력하고 실행해 봅시다. 1 2 3 4 a = "abcd" format "a = %\n" a free a format "a = %\n" a cs 한 줄씩 실행하시면 더욱 결과를 확인하기 좋습니다. 첫 foramt문에서는 배열 a의 내용이 abcd로 나오는데, free함수 이후에는 메모리가 비워져서 다음 format문에서는 아무것도 나오지 않습니다. 문자열 찾기 findString..

문자열(String) 함수(2)

안녕하세요. 애니메이터가 들려주는 맥스 스크립트의 스크립팅하는 애님입니다. 지난번에 이어서 오늘도 문자열의 함수에 대해서 알아보도록 하겠습니다. 문자열의 복사 copy 문자열을 복사합니다. 문자열(배열)은 기본적으로 변수의 값을 다른 변수에 넣으면 레퍼런스로 복사가 됩니다. 다음과 같이 입력을 해 봅시다. 1 2 a = "abcd" b = copy a cs 여기서 잠깐 레퍼런스라는 것에 대해서 이야기해볼까 합니다. 1번 라인과 같이 변수 a에 "abcd"라는 값을 입력하면 메모리에 a에 "abcd"라는 값이 들어가 있어서 변수 a를 부르면 그 안에 들어 있는 값을 사용할 수 있습니다. 그런데 변수 aa를 생성하고 aa = a라고 하면 "abcd"라는 값이 직접 들어가지 않고 aa에 메모리에 존재하는 변수..

문자열(String) 함수(1)

안녕하세요. 애니메이터가 들려주는 맥스 스크립트의 스크립팅하는 애님입니다. 지난번에 Text파일의 입출력에 대해서 이야기했습니다. Text로 만들어진 파일은 모두 문자열로 취급되는데요. 오늘은 문자열에 대해서 알아보겠습니다. (문자열(String)은 관련된 함수가 많기 때문에 몇 번에 나누어서 이야기를 하겠습니다.) 문자열로 형 변환 as string 임의의 값을 문자열로 변화합니다. 다음을 입력하고 실행해 봅시다. 1 2 a = 3 as string classof a cs 위 이미지와 같이 결과가 나왔나요? 내용을 확인해 보겠습니다. integer값인 3에 as string함수를 사용하여 문자열로 형 변환을 하고 변수 a에 저장을 했습니다. 그리고 그 a가 어떤 형을 가지고 있는지를 classof 함수..

파일 열기와 저장(8) FileStream(2)

안녕하세요. 애니메이터가 들려주는 맥스 스크립트의 스크립팅하는 애님입니다. 지난번에 이어서 맥스 스크립트에서 Text파일을 입출력하는 방법에 대해서 이야기하겠습니다. 지난번의 내용이 파일의 생성과 저장이었다면, 오늘의 내용은 읽기입니다. 읽기 위해 파일을 여는 것은 이전에 배운 openFile함수를 사용하면 됩니다. 그렇다면 열고 나서 열린 파일을 읽는 방법에 대해서 알아야겠죠. readLine 은 1줄 단위로 파일의 내용을 읽습니다. 읽은 내용은 문자열로 취급합니다. readChar 는 1 글자씩 파일의 내용을 읽습니다. 읽은 내용은 문자열로 취급합니다. readChars 는 에 쓰인 수만큼 읽어 옵니다. 읽은 내용은 문자열로 취급합니다. readDelimitedString 은 에 지정한 문자 전 까지..

파일 열기와 저장(7) FileStream(1)

안녕하세요. 애니메이터가 들려주는 맥스 스크립트의 스크립팅하는 애님입니다. 오늘 할 이야기는 맥스 스크립트에서 Text파일을 만들고 내용을 입출력하는 방법에 대해서 이야기하려고 합니다. 저는 바이패드에서 다 저장할 수 없는 더미나 본의 값을 저장한다던가 세팅한 옵션 값을 따로 빼놓는 등 자주 사용하는 기능이라 매우 좋아합니다. 파일 생성 createFile 텍스트형태의 파일을 생성합니다. 만약 파일 생성을 할 수 없으면 undefined값을 돌려줍니다. 파일 열기 openFile [ mode: ] 윈도우에 저장된 파일을 엽니다. [ mode: ]는 파일을 열 때 어떤 형식으로 열지를 문자열로 정합니다. 옵션은 다음과 같습니다. r : 읽기전용 text, 파일이 존재해야 함 rt : 읽기전용 text, 파..

파일 열기와 저장(6) FBX Export 옵션

안녕하세요. 애니메이터가 들려주는 맥스 스크립트의 스크립팅하는 애님입니다. 오늘 이야기할 내용은 지난번에도 설명했듯이 언리얼, 유니티 엔진에서 사용되는 FBX 파일을 익스포트 옵션을 사용하여 맥스에서 익스포트 하는 방법입니다. FBX Export Dialog Access 맥스 스크립트 핼퍼에서는 FBX Export Dialog Access로 검색하면 나오니 필요하신 분은 참고하시기 바랍니다. FBX 익스포트 다이얼로그를 제어하기 위해서는 pluginManager.loadClass라는 플러그인의 클래스를 블러 오는 플러그인 매니저를 사용합니다. 1 pluginManager.loadClass FBXExporter cs 이것을 사용해야 FBX의 옵션 값을 주무를 수 있습니다. FBX의 각각의 값을 설정하기 위..

파일 열기와 저장(6) Export, Import

안녕하세요. 애니메이터가 들려주는 맥스 스크립트의 스크립팅하는 애님입니다. 오늘 이야기할 파일 열기와 저장은 맥스의 임포트와 익스포트입니다. 임포트는 다른 3D 프로그램의 파일을 3D 맥스로 불러올 때 쓰이고, 익스포트는 3D 맥스 파일을 다른 3D 프로그램이 사용할 수 있도록 하는 것입니다. Export exportFile [ #noPrompt ] [ selectedOnly: ] [ using: ] 맥스 파일을 외부의 3D 프로그램에서 사용할 수 있도록 변환합니다. 는 익스포트 할 파일의 Path와 Name입니다. [ #noPrompt ]는 익스포트 할 때 옵션 창을 열지 않고 디폴트 상태로 진행합니다. [ selectedOnly: ]는 3D 맥스에서 선택한 노드만 익스 폴트 할지를 true(선택한 것..