맥스스크립트 기초

Color Values

스크립팅하는애님 2019. 8. 2. 16:40
728x90
반응형

안녕하세요.

애니메이터가 들려주는 맥스 스크립트의 스크립팅하는 애님입니다

지난번에 맥스스크립트 기본에서 checkbutton을 이야기하다가 color에 대해서 알아 볼기회가 생겨 여기 기초 게시판에 글을 쓰게 됐습니다.

앞으로도 종종 필요에 따라 게시판을 넘어 다니며 작성을 하도록 하겠습니다.

 

맥스에서는 색상을 표현하기 위해 color형을 따로 가지고 있습니다.

기본적으론 point3형식(3개의 값을 가지는 형식)을 사용하며 지정된 이름으로 표현되기도 합니다.

뭔 소린지는 천천히 확인해 보겠습니다.

 

우선 다음과 같이 박스를 만들고 wirecolor가 어떤 색인지 알아봅시다.

 

1
2
myBox = box()
myBox.wirecolor
cs

 

 

 

뷰포트에 박스가 생성되고 MAXScript Listener에 위 이미지와 같이 생성이 됩니다.

(color 6 135 113)이라고 color형 값이 나오는데 여러분은 아마도 저와 다른 값이 나올 것입니다.

이유는 맥스가 오브젝트를 생성할 때마다 랜덤 하게 다른 색상으로 만들기 때문입니다.

color은 color형이라고 알려주는 역할을 하고 6은 Red, 135는 Green, 113은 Blue입니다.

 

다음으로 색상을 바꿔 보도록 하겠습니다.

이어서 다음을 추가를 하고 블록 실행을 해봅시다.

 

3
myBox.wirecolor = red
cs

 

 

상자가 빨간색이 됐습니다.

그런데.....

 

 

MAXScript Listener에서는 red가 (color 255 0 0)으로 표시가 됩니다.

red는 Point3가 아니지만 실제 맥스 내부에서는 Point3로 인식하고 있습니다.

Point3는 사용자가 직관적으로 어떤 색인지 알고 사용하기 어렵기 때문에 많이 쓰는 색상은 따로 나눠 지정을 했습니다.

지정된 색상에 대해서 알아봅시다.

red, green, blue, white, black, orange, yellow, brown, gray

위 색상 중 맘에 드는 색상으로 상자의 색을 바꿔 봅시다.

 

color형의 문법은 다음과 같습니다.

color <r> <g> <b> [ <a> ]

[ <a> ]는 알파 값으로 알파 값이 사용되지 않는 wirecolor와 같은 경우는 255에서 값이 고정이 되지만 알파 값을 사용하는 color의 경우에는 값 변경이 가능합니다.

 

color의 각각의 항목들은 따로 지정해서 변경도 가능합니다.

속성으로는 

<color>.red or .r: Float

<color>.green or .g: Float

<color>.blue or .b: Float

<color>.alpha or .a: Float

이 있습니다.

color의 속성을 사용하여 아까 만든 박스를 파란색으로 만들어 봅시다.

이어서 다음과 같이 입력하고 블록 실행을 해보도록 합시다.

 

4
5
myBox.wirecolor.red = 0.0
myBox.wirecolor.b = 255.0
cs

 

 

원색적인 파란색으로 변경됐습니다. ㅎㅎㅎ

어떻게 색이 바뀌었는지 알아보도록 할까요?

myBox.wirecolor.red = 0.0

만들었던 myBox의 wirecolor값 중 red속성의 값을 0으로 변경합니다.

다른 값들이 0이기 때문에 하얀색으로 나오겠네요.

그리고

myBox.wirecolor.b = 255.0

이번에는 blue의 약자인 b를 사용하여 값을 변경했습니다.

blue의 색상을 255로 변경했으니 이제 파란색으로 변경됐습니다.

 

그 외에도 많은 명령들이 있기 때문에 더 많은 것을 배우고 싶으신 분은 맥스 헬프의 search에서 color values로 검색하시면 됩니다.

 

오늘은 맥스의 color형에 대해서 이야기를 했습니다.

다음에는 UI를 계속 이야기하도록 하겠습니다.

728x90
반응형

'맥스스크립트 기초' 카테고리의 다른 글

맥스 스크립트의 유형(1)  (0) 2019.08.19
함수(3)  (3) 2019.08.13
함수(2)  (0) 2019.08.12
함수(1)  (3) 2019.08.11
오브젝트의 옵션  (0) 2019.07.18
오브젝트의 Transform (4)  (0) 2019.07.17
오브젝트의 Transform (3)  (3) 2019.07.16
오브젝트의 Transform (2)  (0) 2019.07.15