Smoothing Group과 Normal Editing, 그리고 UV Seam - (1)

2024. 12. 19. 19:383D Modeling Study/3DS MAX

로우폴 모델링을 하다보면 하이폴을 만들고 베이킹을 했을 때 모서리가 얼마나 자연스럽게 잘 보일지도 계속 신경쓰는 경향이 있다.

 

당연히 최적화를 위해서는 폴리곤을 적게 쓸 수록[각주:1] 최적화에 좋겠지만,

 

최근의 작업 이후 체득한 것은 결국 포트폴리오를 위해서라면 최적화보다는 퀄리티에 신경을 쓸 수 밖에 없으므로, 조금 더 신경을 쓴 베이킹을 위해 로우폴 엣지에 약간의 Chamfer를 주는 경우를 고려하게 되었다.

 

Smoothing Group을 지정하면서 하드엣지가 생기면 하드엣지를 기준으로 UV 심라인을 생성하는게 맞지만[각주:2],

 

하드엣지로 분리하게 되면 하이폴을 만들어 베이킹했을 때 베이킹한 노말이 셰이딩을 보정해준다고 하더라도 생성된 날카로운 심라인이나 아티팩트가 드러나서 눈에 거슬리는 경우가 있었는데, 특히 적은 폴리곤을 쓴 스타일라이즈드 작업을 할 때 자꾸 거슬렸다.

 

Chamfer Segment를 1로 했을 때

 

게다가 Chamfer을 주게 되면 위와 같이 하드엣지의 경계를 나누는 각도가 모호해져 UV 심을 어디에 지정할지, 스무딩 그룹을 어떻게 지정해야 하는지 막막하기도 하고

 

분명 동일 평면에 생성된 Chamfer지만, 노말의 방향이 서로 다르다.

 

면 수가 늘어나면서 스무딩그룹 지정시 스무딩그룹 특성상 Averaged Normal, 즉 노말의 평균치를 내버려서 전부 부드럽게 만들어버리는 성질로 인해 평평해야 할 표면이 우그러지는 현상이 생겨버리기도 했다.

 

노말에 대한 기초지식은 알고 있었고 스무딩그룹이 분리되면 그것에 따라 UV를 생성하면 된다, 뭐 이론상 90도 밑에서 꺾으면 되고 60도에서 보통 하드엣지 구분이나 스무딩그룹 처리하라 등 강의나 영상은 많지만,

문제는 Chamfer를 줬을 때의 로우폴에서 UV를 어떻게 잘라야 하는지, 스무딩그룹을 어떻게 지정해야 하는지 등 내용을 명확히 설명해 주는 강의나 영상같은건 마땅히 없었다는 것.

 

그래서 직접 해보기로 했다.

 

 

L자 모양의 하이/로우폴리곤 모델 비교대상을 만들고, 스무딩그룹과 UV를 조절했다.

 

적용된 조건은 다음과 같다.

 

1. 하드엣지 / Smoothing Group / 하드엣지 UV 분리

2. Chamfer Segment=1 / Smoothing Group만 / 챔퍼 중간부분 UV 분리
3. Chamfer Segment=1 / Smoothing Group만 / 챔퍼 끝부분 UV 분리

4. Chamfer Segment=1 / Smoothing Group → Weighted Normal → Edit Normal 수동교정 / 챔퍼 중간부분 UV 분리
5. Chamfer Segment=1 / Smoothing Group → Weighted Normal → Edit Normal 수동교정 / 챔퍼 끝부분 UV 분리

6. Chamfer Segment=0 / Smoothing Group → Weighted Normal → Edit Normal 수동교정 / 챔퍼 끝부분 UV 분리

 

 

Smoothing Group 지정 후 Weighted Normal 적용, Edit Normal로 노말을 교정하는 과정은 메가리기님(Torch3D Academy) 채널에서 배운 과정[각주:3]을 따랐다.

 

 

만들고 나서 보인 첫 번째 차이점.

 

위에 설명한 Averaged Normal의 한계로 인해, Chamfer를 주는 순서가 조금만 잘못되어도 바로 셰이딩이 우그러지는 문제가 발생했다.

 

그 외에 1은 완전히 각이 진 관계로 노말이 완벽했고,

4,5는 부드럽게 보였으며,

6은 꼭짓점 곡면의 이상한 구간을 제외하고 모서리 셰이딩은 예상보다 잘 나왔다.

 

Smoothing Group만 지정했을 때에는 확실히 하드엣지가 두드러졌는데, 하이폴에 베이킹시 나올 결과는 다음 글에서...

https://sephylenxya.tistory.com/4

  1. 맥스에서 나오는 폴리곤 수가 적어보여도 Vertex에서 접하는 면의 방향대로 노말이 분리되면 결국은 엔진에서 그 분리된 노말만큼 실제 Vertex가 늘어나게 되지만, 이번에는 단순히 폴리곤 수로 생각 [본문으로]
  2. 폴리카운트 사이트 참고내용 - 모든 하드 엣지는 기본적으로 UV 심을 가지고 있어야 하지만, 모든 UV 심이 하드 엣지를 가져야 하는 것은 아님. [본문으로]
  3. https://youtu.be/rAM-5IeBALw [본문으로]