노말맵이란? 로우폴리곤 모델이 하이폴리곤 모델처럼 보일 수 있도록 만들어주는 기술. 하이폴리곤 모델에서 노말맵을 추출한 후, 로우폴리곤 모델에 노말맵을 적용시키면 로우폴리곤 모델이 하이폴리곤 모델처럼 보인다. 노말맵에는 하이폴리곤 모델의 노말벡터*값이 저장되어있는데, 이 벡터가 로우폴리곤 모델에는 없는 디테일한 부분에 대한 계산값을 제공한다.(계산값이 없으면 로우폴리곤의 형태 그대로 빛과 그림자가 들어올 것이고, 절대로 하이폴리곤처럼 보이지는 않을 것이다.)

Retopology가 하이폴리곤 모델을 로우폴리곤으로 만드는 작업인데, 이 작업으로 나온 로우폴리곤 모델에 노말맵을 적용하면 하이폴리곤 모델의 최적화가 끝난다.

*노말벡터 - 크기가 1인, 방향만을 가지고 있는 벡터.

하이폴리곤 쉐이딩 / 와이어 프레임 상태
로우폴리곤 쉐이딩 / 와이어 프레임 상태
하이폴리곤에서 추출한 노말맵이 적용된 모습

노말맵의 구현 원리
일반적으로 컴퓨터 화면상에 물체의 표면이 렌더링되어 나타나게 하려면 가상의 정점과 다각형으로 이루어진 3차원 물체를 2차원 컴퓨터 모니터 스크린상에 투영하는 렌더링 파이프라인을 거쳐야 합니다. 이 과정에서 셰이딩을 계산해주게 되는데 셰이딩은 물체의 음영이 어떻게 보여질지 처리하는 과정입니다.

셰이딩을 물체의 음영자체라고 본다면 이러한 셰이딩의 전제조건은 물체 표면의 존재여부, 그리고 빛입니다. 이 중 빛은 위치가 고정되어 있으나 물체의 표면은 굴곡의 형태에 따라 다양한 방향성을 가진 형태로 보여져야 합니다.

만약 물체의 표면이 방향성이 없는 상태에서 한 방향으로만 보여진다면 2차원 평면처럼 보여질 것입니다. 뒤에 있는 면이나 앞에 있는 면 혹은 옆에 있는 면이 한 방향으로 보여진다면 앞,뒤,옆을 구분할 수 없겠지요. 따라서 물체의 표면을 분간하기 위해서는 물체 표면의 방향을 알아야 하는데 그 방향을 알아내기 위해서 3차원의 축을 기준으로 방향을 설정하는 것이 노말 벡터(Normal Vector)입니다. 벡터는 크기와 방향을 갖는 수학적 개념인데 3차원 그래픽에서 유용하게 쓰이는 필수적인 개념입니다.

3DS MAX의 경우 물체표면을 이루는 다각형들의 노말(Normal)을 확인할 수 있는 기능이 있습니다. Edit Mesh나 Edit Poly에서 Face 모드나 Polygon 모드에 들어가시면 Show normal옵션이 있습니다. 이 옵션을 켜면 물체 표면의 노말들이 마치 털처럼 삐죽 솟은 상태로 보여집니다. 이 노말을 편집할 수도 있는데 Edit Normal 모디파이어를 사용하면 편집도 가능합니다. 결과는 물체표면의 음영이 바뀌는 것을 확인할 수 있습니다. 또한 노말 벡터는 물체표면에 수직입니다.

3DS MAX에서의 폴리곤 서페이스의 노멀 벡터 디스플레이

위 그림으로부터 알 수 있듯이 노말벡터는 방향성을 갖기 때문에 컴퓨터 그래픽스에서 물체표면의 셰이딩을 결정하는 중요한 정보입니다. 고해상도 데이터로 이루어진 모델의 표면은 많은 수의 폴리곤으로 이루어져 있어 각각의 폴리곤에 대한 노말벡터도 전체적으로 많습니다.

따라서 많은 양의 노말은 물체가 많은 표면으로 이루어져 있다는 뜻이므로 물체의 표면을 부드러운 곡면으로 보이게 하는 역할을 수행합니다. 노말맵 텍스쳐 이미지는 이러한 물체의 노말정보를 텍스쳐 이미지 형태의 저장공간에 저장해 둔 파일입니다. 이 저장된 정보는 비슷한 형태의 저해상도 모델에 적용되어 텍셀의 셰이딩 계산시 고해상도 모델에서 쓰였던 노말정보로 렌더링 됩니다.

이것이 실시간 게임에서 저해상도 모델을 고해상도처럼 보이게 하는 마술같은 노말맵의 구현원리입니다.


http://media.cgland.com/news.html?part=&modes=view&page=674&no=3081&word=

미디어[media.cgland.com]

"[기획특집] 노말맵(Normal Map)이란 무엇인가? 그림을 클릭하시면 큰 이이지를 보실 수 있습니다. FPS 게임 Doom3와 언리얼3의 퀄리티를 보았는가. Doom3와 언리얼3의 높은 퀄리티가 인정을 받는 중 하

media.cgland.com

https://www.godhasdone.com/59

블렌더 강좌 2.90.1 - 리토폴로지 Retopology

블렌더 강좌 2.90.1 - 리토폴로지 Retopology 스컬팅으로 하이폴리곤 캐릭터를 만들고 나면 반드시 해야하는 것이 바로 리토폴로지와 노멀맵 추출 입니다. 리토폴로지는 폴리곤 수를 줄이는 작업이

www.godhasdone.com

'3D CG' 카테고리의 다른 글

Bump맵 / Normal맵 / Displacement맵  (0) 2021.08.27
블렌더 단축키  (0) 2021.08.25
블렌더 subdivision surface(표면 분할)  (0) 2021.08.25
툰 셰이딩(카툰렌더링) 관련  (0) 2021.08.06
3D 조형 기본  (0) 2021.08.06