Decimate & Normal Map Bake

이미지
  하이폴리곤 모델의 음영 정보를 잘 추출하기 위해서는   잘 만들어진 로우 폴리 모델이 필요합니다.  다만 로우 폴리 모델을 제작하는데도 꽤 많은 시간이 들기 때문에 해당 글에서는 하이폴리곤 모델을 Decimate로 최적화 하여 로우폴리곤 모델을 만들어 노멀맵을 뽑는 과정을 설명하겠습니다. (해당 과정은 테스트를 위한 로우폴리 모델 만들기 정도로 봐주시면 됩니다. 실제 로우 폴리 모델링은 리토톨로지로 잘 만들어 주세요)   yeonhan22님 모델링을 참고로 설명합니다. 로우 폴리 모델에 적용한 노멀맵 아래 모델의 폴리곤은 약 25만개 으로 게임데이터로 쓰기에는 다소 폴리곤이 많으므로 로우 폴리 모델을 만들어 노멀맵을 베이크하여 사용하려 합니다. yeonhan22님 모델 기본적으로 로우폴리 모델은 리토폴로지를 통해 깔끔하게 제작되어야 하나  여기서는 테스트로 Decimate를 이용하여 간단히 로우폴라 모델을 만들어 사용하겠습니다. 폴리곤으로 제작된 새 문양은 노멀맵을 베이크 하기위한 용도로만 쓸 예정이므로 로우폴리곤의 구성에서는 제외합니다.  하이폴리곤 모델을 하나 복사하여 새는 지워줍니다. Modifier 텝에서 Decimate를 적용하여 줍니다.  Ratio를 적절하게 줄여줍니다. 저는 0,1정도로 줄여 주었습니다. 외형은 유지한 상태에서 어느 정도 모델의 폴리곤 갯수를 줄여줍니다. 물론 폴리곤 구조는 맘에 들지 않지만 테스트를 위한 거니 그대로 진행합니다. (Un-Subdivide를 이용하면 외형보다 폴리곤 구조를 유지하면서 면을 줄이는데 중점을 두고 작업 할 수도 있습니다.) 폴리곤은 약 4000정도로 줄어 들었습니다.     로우폴리 모델은 UV를 펴줘야 합니다.      물론 Smart UV로는 이렇게 복잡한 구조는 산산 조각을 내주기 때문에      어느정도 수동으로 펴줄 필요가 있습니다. 적절한 ...

Shade Smooth & Auto Smooth

이미지
  Shade Smooth & Auto Smooth 모델링 단면이 울퉁불퉁한 현상이 있어 조정을 진행합니다. cowboynutritionfacts의 모델링  우선 해당 현상을 수정하기 위해 Object의 Shade 형태가 Smooth 임을 확인해줍니다. Shade Smooth는 아래와 같은 기능으로 폴리곤의 경계를 부드럽게 이어주는 역활을 합니다. (예외적인 사항을 빼고 대부분 Smooth는 적용해 줍니다.) Shade Smooth를 적용하면 폴리곤의 구조에 따라 부드럽게 보여지기 힘든 부분은 아래 이미지처럼 부자연스럽게 표현되게 되는데 이 부분은  Auto Smooth를 조정해 주어 어느 정도 조정해 줄 수 있습니다.  Auto Smooth는 해당 각도 안에 있는 면들은 연결 시켜 표현하고 각도 이상인 면들은 끊어서 표현해 줍니다. (물론 Eage Shape 같은 부분으로 수동으로 설정해줄 수도 있습니다.) 해당 기능은 Object Data Properties > Nomals 에 있습니다. 해당 기능을 활성화 해서 각도를 조정해 보면  모델링의 표면이 다르게 표현되는 것을 확인할 수 있습니다.  *. Auto Smooth가 비활성화 되어 있는경우 모델링을 진행하다보면 Auto Smooth 가 비활성화 되어 있는 상황이 있습니다.  이는 모델링 과정중에 어떠한 이유로 커스텀한 노멀 설정이 들어가 있는 경우인데  해당부분은 Geometry Data에 [Clear Custom Split Normals Data] 옵션을 제거해주면 Auto Smooth를 활성화 할 수  있습니다. 물론 모델의 폴리곤 구조도 어느 정도 같이 정리해 주어야 겠지만 위의 옵션 조정으로 어느 정도 효과는 볼 수 있을 것 입니다. (가능한 불필요한 폴리곤은 제거하는 작업이 필요합니다.)   참고: 노멀맵을 뽑기 위한 하이폴리곤의 모서리 기본적으로 하이폴리곤 모델은 모서리에 엣지를 한 개 쓰지는...

Unreal Engine : Fbx Import & Collision

이미지
FBX EXPORT, IMPORT 블랜더에서 제작한 모델링을 언리얼로 가져가기 위해서는 FBX로 Export를 해야합니다. 우선 간단한 복도형 구조를 만들기 위해  벽과 바닥, 문을 간단하게 만들어 주었습니다. 벽 (4m x 4m) 바닥 (8m x 8m) 문 (2m x 3m) 그리고 0,0,0 지점이 pivot이 됨으로 가급적 복사하여 붙이기 편하게 끝부분을 원점으로 맞춰주었습니다. 외부 환경과도 단절하기 위해 안쪽과, 바깥쪽에 Box를 만들어 주었습니다.  (지오메트리 브러쉬로 만들어 주어도 됩니다.) Export시 메쉬 이름이 중요함으로  해당 부분을 신경써서 정리해 줍니다. 익스포트에는 Obj 같은 파일도 가능하지만 일반적으로 FBX를 많이 사용합니다. Export시 Selected Objects를 선택하지 않으면 씬에 있는 모든 메쉬를 Export합니다. 이번에는 기본 옵션으로 여러개의 메쉬를 파일 하나로 익스포트 합니다. 언리얼 엔진에서는 콘텐츠 브라우저 창으로  드래그인 드롭을 통해 Import합니다. 이때 콜리전 생성 버튼은 가급적 off 된 상태에서 불러옵니다. 해당 옵션이 체크되면 자동으로 콜리전이 생성되는데 구조를 만들떄는 가급적 콜리전은 이후 생성해 주는편이 편합니다. 머터리얼도 가급적 생성해주지 않습니다. 콘텐츠 브라우저에 불러온 메쉬를 씬에 배치하여 공간을 만들어 줍니다.  가급적 좌표를 잘 떨어지게 맞춰주면서 배치합니다. 버텍스에 붙이고 싶을떄는  V를 눌르고 이동합니다. (메쉬가 복잡할경우 잘 동작하기 힘들수 있습니다.) Materials Point Light로 안쪽에 빛을 넣어줍니다.   콜리전을 만들면서 캐릭터가 돌아다닐수 있는 구조를 만들어 봅니다.