11.6.2015

완전함을 위한 불완전함

By Min Oh

바로 사용 가능하며 사진 측량된 언리얼 엔진 4용 애셋을 만드는 방법

자연은 불완전한 것들이 모여서 이루는 하모니라는 아름다움입니다. 실사같은 물체를 3D 공간에서 만드는 것은 매우 어렵습니다. 왜냐하면 실제 오브젝트는 모든 사람들이 본 적 있고, 만져보았고, 누군가는 냄새를 맡고 맛을 보기도 하였을 것입니다. 즉 3D 애셋이 실존하는 어느 것과도 비슷하지 않는다면 확 눈에 띌 것이라는 뜻입니다. 그러므로, 3D로 실제 오브젝트와 완전히 똑같은 것을 만들려고 힘쓰는 대신에 사진 측량된 데이터를 사용한다면, 여기에서부터 쉽게 3D 애셋을 만들어낼 수 있습니다. 현 시대의 컴퓨팅 파워는 제법 그럴싸한 시간 안에 3D 스캔 데이터를 얻을 수 있고 여기서 얻어진 3D 데이터의 세밀함은 아주 높아서 개발자들에게 하이엔드 3D 기술이 필요하지 않을 정도입니다. 또한 스캔에서 얻은 모든 3D 데이터는 전부 편집 가능하기 때문에 쉽게 바로 사용 가능한 언리얼 엔진 4용 애셋을 만들 수 있습니다.

이 튜토리얼은 어떻게 사진 측량된 애셋을 만드는지와 게임에 바로 사용 가능한, 언리얼 엔진 4 물리 기반 쉐이딩용 저폴리곤 메쉬 맵을 만드는지에 대한 것입니다.

이 튜토리얼에는 다음 세 가지 포스팅이 포함되어 있습니다.
1.    사진 촬영할 때 / 사진 장비와 팁
2.    사진 재구성 / 디라이팅 
3.    게임에 바로 사용가능한 애셋 모델 / 언리얼 엔진 4용 설정

저는 이 튜토리얼을 통해 여러분이 언리얼 엔진 4에서 실사같은 게임 애셋을 만드는 데 도움이 되었으면 합니다.

사진 촬영을 할 때

어떤 종류의 애셋이 사진 촬영하게 좋을까요? 여러분은 고정된 오브젝트를 여러 각도에서 사진을 찍어서 스캔할 수 있습니다. 여러분이 오픈월드 카이트 데모를 열어보셨다시피 바위, 낭떠러지, 바닥, 나무 기둥 등이 사진 촬영 스캔하기 좋은 물체입니다. 이런 자연의 요소들은 아름다운 디테일과 독특하고 유기적인 모양을 갖고 있습니다. 모든 애셋이 각기 다른 방법으로 처리되어 3D 애셋으로 만들어 지지만, 한 번 기본 워크플로우에 대해서 배우고 나시면 여러분은 실내 또는 실외의 어떤 오브젝트에도 이를 적용할 수 있습니다.

사진 스캔하여 제작한 애셋의 예제가 오픈월드 카이트 데모에 이미 있습니다. 이 애셋들은 마켓플레이스에서 무료로 사용 가능합니다.


Photography Equipment and Tips

설정/장비

컬러 체커

라이팅 컨디션은 다루기 아주 어려운 것입니다. 특히나 여러분이 외부 광을 통제할 수 없을 때에 그렇습니다. 이 컬러 체커가 애셋을 일정한 색으로 보정할 수 있도록 도와줍니다. 왜냐하면 서로 다른 카메라들은 각기 서로 다른 컬러값 재생법이 있고 여러분은 씬의 라이트 컬러색에 대응시켜야 하기 때문입니다. 컬러 체커를 사용하는 것은 이미지의 영점을 잡는 데 중요합니다. 저희는 X-Rite ColorChecker Passport를 사용하였는데, 들고 다니기 편리한 크기입니다.

그레이/크롬 볼

이 공들은 빛의 세기(그레이 볼) 그리고 방향(크롬 볼) 를 찾는 데 사용됩니다. 이 두 값이 3D 공간 속에서 사진 스캔시의 조건과 동일한 라이팅 컨디션을 만들어서 그림자 값을 제거하여 원래 텍스쳐로 복원하는 디라이팅 과정을 하도록 합니다. 디라이팅 과정은 나중에 나오는 튜토리얼에서 설명하도록 하겠습니다.

라운드샷 VR 드라이브 

빛은 한 가지 온도(색)를 한 가지 세기로 갖고 있지 않습니다. 조건과 광원에 따라 다양한 색 온도가 존재하고 빛의 반사가 있습니다. 이 데이터를 모두 얻기 위해 HDR 환경 샷을 찍는 것이 이상적일 것입니다. HDR캡쳐를 하기 위해서 몇 가지 방법이 있습니다. 저희는 자동화 된 파노라마 HDR 캡쳐 이미지(HDRI) 를 사용하였습니다. 왜냐하면 카메라는 제한된 빛의 세기만을 캡쳐할 수 있기 때문이었고, 저희는 동일한 각에서 여러 사진을 찍어서 서로 다른 노출값 사이에서 모든 라이팅 정보를 캡쳐하고자 하였습니다. 이 이미지 셋은 HDR 이미지를 만들기 위해서 병합되었습니다. HDR 환경 샷은 그레이 볼, 크롬 볼과 함께 디라이팅 프로세스, 라이팅 세기와 방향 데이터에 사용될 것입니다.

삼각대/지지대

3D 재구성을 위한 사진 스캔에서 굉장히 중요한 요소는 오브젝트가 전체적으로 촛점이 잡히도록 하는 것입니다. 삼각대/지지대가 떨림 없는 사진을 찍는 데 도움을 줄 것입니다. 이미지의 선명도는 매우 중요합니다. 그리고 카메라 조리개와 심도가 고정되어 사진들이 전부 동일한 노출값을 갖도록 해야 합니다. 이렇게 해야 올바른 텍스쳐가 만들어지고 재구성이 가능해집니다.

풀 프레임 카메라

저희는 Canon 5D MK III 와 여러 렌즈들 (8mm f/3.5, 24-70mm f/2.8L)을 사용하였습니다. 풀프레임 카메라는 낮은 ISO와 넓은 범위인 상황에서도 노이즈가 적은 멋진 이미지를 찍을 수 있도록 해 줍니다.

낮은 ISO

여러분께서 충분히 밝은 곳에서 사진을 찍게 되신다면, 카메라의 ISO설정을 기본으로 해서 이미지에서 노이즈가 가장 적도록 하시기 바랍니다. 범위는 보통 흐린 낮의 밝기인 1,000 에서 2,000 럭스 사이에, 이상적일 것입니다. 여러분이 밝기를 충분히 확보할 수 없다면, ISO를 높게 잡아야 할 것인데, 노이즈가 생길 것입니다. 이미지에 노이즈가 있으면 3D 재구성한 애셋에 원치 않는 노이즈가 끼도록 합니다. 심하게 밝은 대낮보다는 약간 흐린 날씨가 더 좋은데, 왜냐하면 대낮에는 오브젝트에 심한 그림자가 생기도록 할 수 있기 때문입니다. 여러분은 가능한 그림자가 적도록 해야 합니다. 그렇지 않은 경우 그림자를 제거하느라 고생을 많이 하게 될 것입니다. 또한 빛이 비춘 곳과 그림자가 진 곳의 색을 맞추기가 어려울 것입니다. 그러므로 사진을 찍으러 나가기 전에 날씨를 확인하고 계획을 미리 짜야 합니다. 결론은, ‘선명하고 빛이 고루 비추어진 사진’이 3D 재구성에서 좋은 결과물을 얻기 위해 필요한 사진입니다.

위에서 제가 설명한 장비와 설정은 카이트 데모에서 애셋의 사진을 찍기 위해서 사용한 것입니다. 저희는 언리얼 엔진 4의 강력함을 보여드리고 가능한 가장 세밀하게 캡쳐를 하려고 하였습니다. 즉, 여러분이 이 장비가 없어도 캡쳐를 할 수 있다는 뜻입니다. 여러분은 다양한 각도에서 똑딱이 카메라나 핸드폰의 카메라를 가지고도 사진 스캔을 할 수 있습니다.

사진 찍기

오브젝트의 가능한 모든 영역을 캡쳐할 수 있도록 많은 사진을 찍으시길 바랍니다. 경험칙으로 말씀드리자면, 어느 각도에서 생긴 흐린 사진이라도 제거하고 넘어갈 수 있도록 언제나 필요한 것 보다 많은 사진을 찍어야 한다는 것입니다. 흐린 사진은 3D재구성 세트에서 찾아내어 제거하고 사용하지 않을 수 있습니다. 이렇게 되면 재구성 과정에서 에러를 유발하고 텍스쳐가 흐리게 됩니다. 여러분이 실제같은 애셋 제작을 추구하시는 경우, 여러분은 다양한 각도에서 가능한 가장 선명한 사진들을 얻어야 합니다.

결 론

이 포스팅에서 사진 스캔 후 3D 재구성하는 방법, 장비, 설정과 사진 찍기 등을 다루었습니다. 사진 스캔은 실제 오브젝트의 세밀한 부분을 쉽고 효율적으로 캡쳐하는 쉬운 방법입니다. 처음에는 조금 어려울 수 있으나, 여러분이 한 번 거쳐가게 되면 수 많은 시간을 절약시켜 주고 최고의 결과물을 안겨 줄 것입니다. 저는 여러분이 이 튜토리얼을 통해서 제일 좋은 예제를 알려 드려서 이미지를 얻고 여러분 자신의 사진 스캔 3D 애셋을 얻는 데 도움이 되었으면 합니다.

다음 포스팅은 Agisoft PhotoScan에서의 워크플로우와 텍스쳐 디라이팅 과정을 살펴보도록 하겠습니다. 다음 포스팅에서 만나요!

Recent Posts

PixARK Dev Kit으로 만드는 나만의 복셀 월드

에픽게임즈 런처에서 Snail Games가 제공한 모드 제작 툴로 재밌는 PixARK 월드를 만들어보세요.

Drive Studio, 언리얼 엔진으로 Fox Sports의 2018 FIFA 월드컵 방송 제작

Drive Studio는 언리얼 엔진의 강력함을 활용해 FOX Sports 채널의 2018 FIFA 월드컵 중계에서 사용할 배경, 중간...

에픽게임즈, 언리얼 엔진 마켓플레이스의 수익 배분율 88% / 12%로 변경

에픽게임즈는 언리얼 엔진 마켓플레이스의 수익 배분율을 기존의 70% / 30% 에서 88%로 변경하고, 이

...