전체 글 226

UI(2) Dialog의 이벤트

안녕하세요. 애니메이터가 들려주는 맥스 스크립트의 스크립팅하는 애님입니다. 오늘은 다이얼로그에서 사용되는 이벤트에 대해서 이야기하겠습니다. 이벤트란 사용자가 입력도구(키보드 마우스)등을 사용했을 때 다이얼로그에서 발생하는 일을 얘기합니다. 말이 어려우니 우선 해봅시다. 다음과 같이 입력하고 실행을 해보겠습니다. 1 2 3 4 5 6 7 8 rollout testRoll "Test" ( on testRoll open do ( format "Open!!\n" ) ) createdialog testRoll cs 다이얼로그를 만드는 방법은 이전 시간에 이야기했으니 넘어가겠습니다. 3번 라인의 on testRoll open do은 testRoll이 열렸을 때 아래 내용을 실행하라입니다. 아래 내용은 format ..

UI(1) Dialog-다이알로그

안녕하세요. 애니메이터가 들려주는 맥스 스크립트의 스크립팅하는 애님입니다. 오늘은 개인적인 사정이 있어서 뒤로 미루려고 했던 UI에 대해서 이야기하겠습니다. 맥스를 사용하시다 보면 다른 사람들이 만들어 놓은 스크립트를 사용하게 됩니다. 지금까지 이야기해온 것과 같은 코딩 파일을 직접 실행해서 사용하는 방식이 있고, 지금부터 배울 UI형식으로 되어있는 방식이 있습니다. (여기서 이것을 본다면 UI가 무엇인지는 대충 알고 계실 테니 더 자세히 설명하지는 않겠습니다.) 맥스에서 UI를 사용하는 방법은 1. 맥스 내에 기본적으로 설치되어 있는 맥스UI 2. Active X 3. 닷넷 기능상으로는 맥스UI < Active X < 닷넷 순으로 강력한 기능을 가지고 있습니다. Active X, 닷넷은 맥스 UI보다 ..

Modifier(3) Symmetry

안녕하세요. 애니메이터가 들려주는 맥스 스크립트의 스크립팅하는 애님입니다. 지난번에 이어서 오늘은 Modifier의 Symmetry를 알아보도록 하겠습니다. 워낙 Modifier를 이용하여 작업할 기회가 적다보니 기억을 더듬어 잠깐이나마 사용해 봤던 녀석을 이야기하는 것입니다. 늘 그렇듯이 박스를 하나 만들겠습니다. 그리고 Symmetry스택을 하나 쌓겠습니다. 그리고 그 스택은 변수 symMod에 넣도록 하겠습니다. 다음과 같이 입력하고 실행을 해봅시다. 1 2 3 myBox = box() addModifier myBox (symmetry()) symMod = myBox.modifiers[#symmetry] cs 뷰포트에는 다음과 같이 박스가 Symmetry가 붙어서 생겨납니다. 그리고 Commond ..

Modifier(2) 속성 및 함수

안녕하세요. 애니메이터가 들려주는 맥스 스크립트의 스크립팅하는 애님입니다. 지난번에 Bend를 이용하여 맥스 스크립트에서 Modifier를 적용하는 방법에 대해서 알아봤습니다. 이번에는 Modifier자체 속성 및 함수를 스크립트에서 어떻게 사용하는지 알아보도록 하겠습니다. 박스를 생성하고 Modifier들을 쌓아 봅시다. 다음과 같이 입력하고 실행을 해봅시다. 1 2 3 4 5 6 7 8 myMod = #() myBox = box() addModifier myBox (bend()) append myMod myBox.modifiers[#bend] addModifier myBox (edit_poly()) append myMod myBox.modifiers[#edit_poly] addModifier myBo..

Modifier(1) Bend

안녕하세요. 애니메이터가 들려주는 맥스 스크립트의 스크립팅하는 애님입니다. 어떤 내용을 이야기할까 고민하다가 Modifier에 대해서 이야기를 하도록 하겠습니다. 제 직군상 Modifier를 사용할 일이 거의 없기는 하지만, 3D Max를 사용한다면 거의 모든 직군이 Modifier를 사용할 것 같아 간단하게 들여다보겠습니다. 우선은 실린더를 하나 만들고 높이는 70에 높이를 7칸으로 나누도록 하겠습니다. 다음과 같이 입력하고 실행해 봅시다. 1 2 3 myCylinder = Cylinder() myCylinder.height = 70 myCylinder.heightsegs = 7 cs 위와 같이 실린더가 만들어졌나요? 방금 만든 실린더의 더 많은 옵션은 showProperties 함수를 사용하면 됩니다..

오브젝트의 옵션

안녕하세요. 애니메이터가 들려주는 맥스 스크립트의 스크립팅하는 애님입니다. 오늘은 오브젝트의 여러 가지 옵션에 대해서 알아보겠습니다. 우선 저는 뷰포트에서 다음과 같이 오브젝트를 만들었습니다. 2개 이상만 있으면 되니 적당히 만들어 줍시다. 저는 더미까지 3개를 만들었습니다. 맥스 스크립트로 오브젝트(노드)를 지칭할 때는 $'오브젝트 이름'이라고 하면 됩니다. 우선 박스를 숨겨 볼까요? 제가 만든 박스 이름은 Box001이기 때문에 저는 다음과 같이 적겠습니다. 1 hide $'Box001' cs 아까까지만 해도 존재했던 박스가 없어졌습니다. 삭제된 것은 아니고 숨긴 것입니다. 그럼 숨겼던 오브젝트를 다시 나오게 할까요? 이어서 다음과 같이 적은 후 실행을 해봅시다. 2 unhide $'Box001' c..

오브젝트의 Transform (4)

안녕하세요. 애니메이터가 들려주는 맥스 스크립트의 스크립팅하는 애님입니다. 오늘도 오브젝트의 Transform에 대해서 얘기해 보도록 하겠습니다. coordsys coordsys는 맥스의 여러 가지 축을 선택할 수 있도록 합니다. 맥스의 다음과 같은 역활을 한다고 생각하시면 됩니다. 종류로는 coordsys world : 월드 기준의 값을 사용합니다. coordsys local : 로컬 기준의 값을 사용합니다. coordsys parent : 부모 기준의 값을 사용합니다. coordsys grid : 그리드 기준의 값을 사용합니다. coordsys screen : 스크린 기준의 값을 사용합니다. coordsys 노드 : 선택한 노드 기준의 값을 사용합니다. 가 있습니다. 그냥 이렇게 보면 어떻게 쓰는지를..

오브젝트의 Transform (3)

안녕하세요. 애니메이터가 들려주는 맥스 스크립트의 스크립팅하는 애님입니다. 오늘도 오브젝트의 Transform에 대해서 얘기해 보도록 하겠습니다. 오늘은 미뤄 왔던 회전에 대해서 이야기해 보겠습니다. Quaternian 우선은 박스를 하나 만들어 보겠습니다. 1 myBox = box() cs 만들어진 박스의 회전값을 알아보도록 하죠. 다음과 같이 이어서 입력하고 라인 실행을 해봅시다. 2 myBox.rotation cs 지금까지 알아 왔던 것과는 다른 다른 형식인 (quat 0 0 0 1)으로 표기됐습니다. Quaternian(쿼터니언, 사원수)라는 값인데 회전 값을 표현하는 방법 중 하나이며 그중에 가장 복잡한 형태입니다. 사원수란 '수학에서, 사원수(四元數, 영어: quaternion 쿼터니언[*])..

오브젝트의 Transform (2)

안녕하세요. 애니메이터가 들려주는 맥스 스크립트의 스크립팅하는 애님입니다. 오늘도 오브젝트의 Transform에 대해서 얘기해 보도록 하겠습니다. 순서(?)대로 한다면 회전이 먼저 나와야 할 것 같지만 크기를 먼저 이야기하겠습니다. 회전은 여러 가지 방식이 있기 때문에 다음에 이야기하겠습니다. (귀찮아서 그런 건 아닙니다. ㅎㅎ) 우선은 늘 그렇듯 박스를 하나 만들겠습니다.(꼭 박스가 아니라도 부피를 나타낼 수 있는 오브젝트라면 가능합니다.) 1 myBox = box() cs 예쁘게 만들어졌네요. 그다음엔 pos와 같이 scale값을 확인해 봅시다. 다음 내용을 이어서 적고 라인 실행을 합니다. 2 myBox.scale cs 위 이미지와 같이 [1,1,1]이라고 나올 겁니다. 그런데 저번에 기본적으로 만..

오브젝트의 Transform (1)

안녕하세요. 애니메이터가 들려주는 맥스 스크립트의 스크립팅하는 애님입니다. 오늘은 오브젝트의 Transform에 대해서 얘기해 보도록 하겠습니다. Transform을 사전적인 의미를 보면 '변환'이라고 나오는데요. 오브젝트의 가장 기본적인 변환이라고 할 수 있는 '위치', '회전', '크기'입니다. 위치 : pos (position을 줄인 단어입니다.) 회전 : rotation 크기 : scale 위치, 회전, 크기는 각각 3개의 값이 들어있는 Point3라는 형식으로 되어 있습니다. 맥스가 3차원의 툴이기 때문에 Point3는 x값, y값, z값이 들어 있습니다. point3 얘기로만 하면 뭐하겠습니까, 한번 만들어서 주물러 봅시다. 저번과 같이 박스를 만들어 봅시다. 1 myBox = box() cs..