꽃미남 프로그래머 김포프가 창립한 탑 프로그래머 양성 교육 기관 POCU 아카데미 오픈!
절찬리에 수강생 모집 중!
프로그래밍 언어 입문서가 아닌 프로그래밍 기초 개념 입문서
문과생, 비전공자를 위한 프로그래밍 입문책입니다.
jobGuid 꽃미남 프로그래머 "Pope Kim"님의 이론이나 수학에 치우치지 않고 실무에 곧바로 쓸 수 있는 실용적인 셰이더 프로그래밍 입문서 #겁나친절 jobGuid "1판의내용"에 "새로바뀐북미게임업계분위기"와 "비자관련정보", "1판을 기반으로 북미취업에 성공하신 분들의 생생한 경험담"을 담았습니다.
Posted by 알 수 없는 사용자

안녕하세요  Silverchime 이라고 합니다 실버차임입니다 치매가 아닙니다 ;ㅅ;
현재 T사의 TG프로젝트에서 배경쪽과 TA로 일하고 있습니다. 쟁쟁하신분과 차마 비교할 수는 없는데다, 평소에 항상 왜? 또는 어떻게? 등의 의문이 많은 아티스트일 뿐입니다.  이쪽저쪽 뛰어다니며 항상 신기한 것을 찾아다니고 그저 뭔가 모르던것을 알았을때 기쁘고 즐겁습니다. 혹시나 이런것을 좋아하실 분들이 있을것 같아 글을 써 보려고 합니다. 부디 ㅠㅠ 많은 지적 부탁드립니다. 막 떨리네요. 

사과가 빨갛게 보이는 이유는? 이란 질문 많이 들어보셨겠지요. 이제 지겹다고요 ? ㅠㅠ 
그래도 만에 하나 모르시는 분을 의해서 짤막하게 짚고 넘어가겠습니다. 

뜬금없는데다 또? 질문 외우겠다...


빛이 물체에 부딪힌 후 산란되어 G와 B 값은 표면에서 흡수하고 Red 값만 반사되어 우리 눈에 들어오기 때문입니다. 이를 디퓨즈 반사라고 합니다.
 

Diffuse reflection

 
스페큘러 리플렉션은 빛의 방향과 같은 앵글로 반사되는 빛입니다. 이걸로 사진상의 빛을 역추적할 수도 있고. 물체의 표면이 빛에 반사하는 성질을 알 수 있지요. 

Specular reflection



우리가 게임그래픽스에서 쓰는 많은 맵이있죠. 노멀맵, 스페큘러맵, 디퓨즈맵, 셀프일루미네이션맵, 이미시브맵, 알파맵... 

네 오늘은 이중에서 콕 찍어 물체의 스페큘러 리플렉션에 대해서만 이야기해보려고 합니다.
디퓨즈칼라는 위에서 간략하게 설명했습니다. 그렇다면 스페큘러 칼라는 어떤식으로 정해질까요? 

 거친느낌, 매트한느낌, 나무에 니스를 칠한 느낌, 메탈릭한 느낌... 플라스틱.. 등, 사실 촉각등의 부가적인 감각을 이용할 수 있다면 더더욱 정확한 물체의 정보를 알아내겠지만, 아쉽게도 실제로 모니터 속이나 입체안경속의 영상을 만져볼수는 없으니, 경국 게임 그래픽스의 물체의 표면, 즉 매트리얼의 질감을 전해주는 거의 유일무이한 정보는 바로 이 반사되는 빛의 정도와 그 색상에 의한 시각정보입니다. 스페큘러맵은 그만큼 중요한 정보를 전달하고 있지요.

 재미있는 점은 사람들이 궃이 반응하도록 교육을 받거나 의식하지 않아도 표면에 반사하는 빛의 양과 색 등의 정보에 따라 물체의 표면 정보를 시각적으로 인지한다는 점인데요. 

 다음 사진을 보시겠습니다. 메탈릭과 일반 글로시한 표면에 대한 사진을 모아 보았습니다. 경험적으로 어느쪽이 메탈릭인지 보이시지요?
 


이러한 메탈릭 칼라와 나무나 플라스틱등 유기물(탄소체)의 질감의 차이는 어떤곳에서 나오는 것일까요? 

대체 이유가 뭐냐 니들...
 
 
그 이유는 고유한 금속 물체 표면의 전자 때문입니다. 

금속 물체의 표면을 확대한 개념도 입니다. 
원자 주변에 shared electron(공유 전자)이 퍼져 있습니다. 
이 전자는 원자 주변을 자유롭게 이동합니다. 

빛이 이러한 물체의 표면에 부딪치게 되면
(레이저가 빛, 차량이  금속표면이라고 하겠습니다. 무리수 크리티컬...) 
courtesy : Halo

이때 빛에너지에 의해 표면의 에너지레벨이 상승하며 (전자가 들뜬 상태)
이 낮은 에너지레벨과 상승한 레벨 사이의 파장이 특정 가시광선대를 흡수합니다.  


이것을 Band Theory (에너지저레벨과 고레벨의 차이를 밴드라 합니다) 라고 하며 
이러한 이유 때문에 금속 표면들은 고유한 반사율과 메탈 고유의 색을 가지게 됩니다.  


이러한 일렉트론을 가진 도체 물체 표면을
전도체 Conductors 라고 부릅니다.

 그러면 반대의 경우,  일반 글로시한 물질의 표면은 어떨까요? 
네 일반 유기체, 사과나 플라스틱이나, 대리석이나, 니스칠한 나무같은 것들이죠. 이들의 표면에는 당연히 자유롭게 돌아다니는 일렉트론이 없고, 따라서 빛이 히트하더라도 밴드 이펙트가 발생하지 않으므로 표면의 색의 차이는 단지 하얀색으로 명도(Brightness) 의 차이만 발생하게 됩니다. 
 
이런경우를 절연체 Dielectrics 이라고 합니다.  

자 그럼 이런 각기 다른 경우들의 스페큘러를 다시한번 보겠습니다. 

좌측이 전도체, 오른쪽이 절연체 입니다. 이제 표면이 어떤 차이인지 구분이 확 가시지요? 

주변의 실제 물체를 보시면 사진보다 구분이 더 잘 가실 겁니다.  


   일반 절연체 Dielectric의 경우에 있어 일반적으로 흡수하는 빛의 색과 반사되는 빛의 색은 서로 보색관계에 있습니다. 한번 직접 실연을 해보도록 하겠습니다. 

포토샵에서 1. Diffuse맵의 칼라를 한장 더 복사해서 Saturation/Hue 패널을 열고 끝까지 돌려 보색으로 만들고 2. 반짝일 부분을 마스크로 그려서 3. Linear Dodge형태로 원래의 diffuse의 색에 블렌딩하면 정확한 스페큘러 칼라가 나옵니다.

  

그럼 이제는 컨덕터 표면의 스페큘러 칼라를 블렌딩 하는 법을 알아보겠습니다. 
이 경우는  그저 디퓨즈 컬러를 그냥 사용하거나 아니면 약간 밝게 Brighten된 이미지를  Linear dodge(add)연산을 해주면 됩니다. 

만일, 그러면 만일 보색으로 변환해주고 add 해주는 위의 일반적인 dielectric 방식으로 해주면 어떤식으로 보일까요? 두가지를 한번 비교해보도록 하겠습니다. 
 

자 위쪽의 이미지를 보시면 하얀색으로 반짝이는 구리방패를 보실 수 있습니다. 아래쪽이 정상적인 스페큘러 칼라를 그냥 얹은 형태입니다. 레퍼런스와 비교해 보시면 어떤식으로 다른지 보이실겁니다. 위쪽은 하얗게 올라오지요. 아래가 정상입니다. 
 

위의 형식으로 한번 이번은 문짝에 일반적인 메탈릭 스페큘러식으로 그냥 약간 밝게 한 블렌딩과 보색처리를 해준 두 세트를 비교해 보았습니다. 레퍼런스와 비교해 보시면 위쪽이 정상적인 블렌딩입니다. 아래는 나름 할로겐 조명 같다고 우기시면 ㅠㅠ Orz


메탈릭이냐 아니냐, 이런 이론을 모르는 사람도 대부분 경험적으로는 알고 계실거라고 생각합니다. 하지만 저는 부끄러운 고백을 하겠습니다. 모를때는 그냥 디퓨즈맵을 대충 얼버무려서 쓰고는 했습니다. 그런데, 항상 대체 메탈릭 칼라란 무엇이고 어째서 다르게 느껴질까? 라는 의문은 머리속에서 떠나지를 않더군요. 

사실 우리 주위의 대부분이 빠른 산화를 막기 위해서든 차가운 느낌이 싫어서, 또는 추울때 닿으면 살이 얼어서 들러붙는다던지 등, 여러 가지 이유로 금속표면을 그대로 노출하는 경우는 드뭅니다. 하지만 배경이나 장식에서는 금속 장식이나 오나먼트등 순수한 금속 자체로 노출되는 경우가 많습니다 더불어 시각적으로 잘 보이는곳에 배치하므로 빛에 강하게 노출되고는 합니다. (특히나 배경에는 자주 씁니다..노출된 메탈...황동Brass, 구리Copper, 금박Gold... )

 courtesy : Warhammer 40,000 ; Space Marine 
푸른색은 약간 매트한 페인트 도색, 숄더패드 장식과 백팩 커버는 금색 메탈로 보입니다.
 
게임에서는 퍼포먼스를 위해 스페큘러맵을 Glossiness 마스킹 맵으로 쓰는 경우도 많고 이런 경우는 대신 매트리얼에서 오버레이 되는 스페큘러 칼라를 설정해서 쓰곤 합니다. 이럴 경우 어떠한 칼라가 필요한지, 또는 유광 페인트로 으로 커버된 표면인지, 아니면 여러가지 Transition metal을 사용한 칼라가 들어가 있는 금속 표면인지를 결정하는 하나의 기준이 될 수 있다고 봅니다. 위에서도 말했지만, 게임 내에서는 단지 시각적 정보로만 물체의 표면을 표현하고 판단해야 되니까요. 

일례로, Transition metal인 Iridium을 섞으면 블루칼라의 골드도 나올 수 있습니다. 
아니면, 어떤 게임에서 자전거가 중요한 비주얼을 차지하는 게임인데 
아노다이징 도색을 적용했을때 라던지의 경우가 있을 수 있겠죠. 

나 좀 비싼 프레임.... Anodized color
간지를_표현해_주지_않으면_유료프레임_템을_사지_않을테다.jpg


이상으로 물체의 스페큘러 칼라에 대해 알아보았습니다. 
정리하면 절연체와 전도체의 경우 다른 스페큘러 칼라를 가진다는것, 그리고 왜 절연체의 경우 스페큘러 칼라가 하얀색으로 표현되는지, 전도체의 경우는 왜 특이한 색을 띠는지에 정도가 되겠네요... 헥헥

부족한 글을 읽어주셔서 감사합니다. 다음은 배경에서 쓰일 인간의 행태학 Behavior 라던지, 환경, 기후, 건축등 여러가지 다른 주제로 찾아뵙도록 하겠습니다. 모두 즐거운 하루 되세요 ^^ 

반응형
,