개발단에 가입하여 베르의 게임 개발 유튜브를 후원해주세요! https://www.youtube.com/channel/UC9j37A2ACL9ooSbsT4mtGww/join

안녕하세요! 여러분들과 함께 게임 개발을 공부하는 베르입니다!

이번에는 언리얼 5.1에서 개선되는 나나이트를 프리뷰해보겠습니다.

 

사용 엔진 버전 : 5.1

 

스크립트

인트로

안녕하세요. 여러분들과 함께 게임 개발을 공부하는 베르입니다.

이번에는 짧게 아직 개발중인 언리얼 5.1 버전의 나나이트를 프리뷰해보겠습니다.

5.0 나나이트

전에 올린 나나이트 영상에서처럼 언리얼 5.0의 나나이트는 몇 가지 제약사항이 있었습니다.

바로 애니메이션이나 모프타깃, 머리티얼을 이용한 월드 포지션 오프셋처럼 메시가 변형되는 경우에는 나나이트를 적용할 수 없다는 것이었습니다.

특히 월드에 폴리지로 배치되는 풀이나 나무는 일반적으로 스태틱 메시지만, 나뭇잎, 가지, 풀이 바람에 흔들리는 효과를 주기 위해 머티리얼에서 메시를 변형시키기 때문에 나나이트 제약 사항에 따라 나나이트를 적용할 수 없었습니다.

5.1 나나이트

그런데 언리얼 5.1 버전을 확인한 결과 다음 버전부터는 폴리지에도 나나이트를 사용할 수 있게 되었습니다.

이 폴리지들을 보면 마치 바람에 흔들리듯이 미세하게 움직이는 것을 볼 수 있습니다.

이것은 머티리얼을 이용한 메시 변형으로 언리얼 5.0에서는 나나이트 적용이 불가능합니다.

하지만 이중에는 나나이트가 적용된 폴리지가 숨어있습니다.

뷰 모드를 나나이트 시각화로 바꿔보면 어떤 녀석이 범인인지 알 수 있습니다.

다시 한 번 가까이 가서 확인해보면 나나이트가 적용되고 있음에도 머티리얼의 월드 포지션 오프셋에 따라서 폴리지의 흔들림이 표현됨을 확인할 수 있습니다.

그리고 오픈 월드 맵에서 폴리지로 배치되는 모습도 볼 수 있습니다.

아웃트로

이번 영상에서는 언리얼 5.1 나나이트에서 새로 지원되는 기능을 프리뷰해보았습니다.

이 강좌는 시청자 여러분들의 시청과 후원으로 제작되었습니다.

이상 베르의 게임 개발 유튜브였습니다. 감사합니다.

 

 

[투네이션]

 

-

 

toon.at

[Patreon]

 

WER's GAME DEVELOP CHANNEL님이 Game making class videos 창작 중 | Patreon

WER's GAME DEVELOP CHANNEL의 후원자가 되어보세요. 아티스트와 크리에이터를 위한 세계 최대의 멤버십 플랫폼에서 멤버십 전용 콘텐츠와 체험을 즐길 수 있습니다.

www.patreon.com

[디스코드 채널]

 

Join the 베르의 게임 개발 채널 Discord Server!

Check out the 베르의 게임 개발 채널 community on Discord - hang out with 399 other members and enjoy free voice and text chat.

discord.com

 

반응형

개발단에 가입하여 베르의 게임 개발 유튜브를 후원해주세요! https://www.youtube.com/channel/UC9j37A2ACL9ooSbsT4mtGww/join

 

안녕하세요! 여러분들과 함께 게임 개발을 공부하는 베르입니다!

이번에는 언리얼 엔진 5의 핵심인 나나이트 가상화 지오메트리 시스템에 대해서 알아봅시다.

 

사용 엔진 버전 : 5.0.3

 

타임라인

0:00 인트로

0:09 나나이트란?

0:34 나나이트의 기본 원리

2:55 나나이트의 제약

3:10 나나이트 메시 임포트

4:11 나나이트 시각화

5:51 나나이트 활성화

6:33 아웃트로

 

스크립트

인트로

안녕하세요. 여러분들과 함께 게임 개발을 공부하는 베르입니다.

이번에는 나나이트 가상화 지오메트리 시스템에 대해서 알아보겠습니다.

나나이트란?

나나이트란 새로운 내부 메시 포맷과 렌더링 기술을 사용하여 픽셀 스케일의 디테일과 다수의 오브젝트를 렌더링하는 언리얼 엔진 5에 새로 도입된 가상화 지오메트리 시스템입니다.

나나이트 지오메트리를 사용하므로써 우리는 ZBrush에서 스컬핑한 하이폴리 메시나 3D 스캔을 통해 제작된 메가 스캔 모델처럼 최소 수백만 개의 폴리곤으로 만들어진 영화 품질의 아트를 퀄리티 손실없이 사용할 수 있게 됩니다.

나나이트의 기본 원리

먼저 나나이트 가상화 지오메트리 시스템의 기본적인 원리를 가볍게 설명해 보겠습니다.

나나이트에서는 엄청나게 많은 수의 트라이앵글 중에 일정 수를 클러스터라는 단위로 묶어줍니다.

이렇게 묶인 클러스터는 또 다시 몇 개를 묶어 부모 클러스터로 만듭니다.

이런 과정을 나나이트 시스템에서 자동으로 처리합니다.

이렇게 만들어진 클러스터들을 카메라가 바라보는 시점에 따라서 컬링하는 것입니다.

일반적인 오클루전 컬링은 그리지 않을 대상을 오브젝트 단위로 판별합니다.

그래서 메시가 겹쳐있다고 하더라도 조금이라도 보이면 오브젝트 전체를 렌더링하고 그 위에 그 오브젝트를 가릴 오브젝트를 덮어씌워 렌더링합니다.

하지만 나나이트에서는 앞에서 말한 클러스터를 이용해 카메라에 보이는 클러스터만 렌더링하고 겹쳐져서 가려진 부분은 나나이트가 컬링해서 렌더링하지 않도록 처리합니다.

그렇기 때문에 가려진 오브젝트더라도 오브젝트 전체를 그려야 하는 오클루전 컬링과 달리 카메라에 보이는 클러스터만 그리면 되기 때문에 성능 상 이점이 훨씬 많습니다.

다만 여기서 유의해야할 점은 나나이트에서 클러스터 컬링을 처리할 때 표면 사이의 거리가 너무 가깝게 많이 겹쳐있으면 오버드로 판정으로 인해 소모하는 비용이 커지고 퍼포먼스가 저하될 수 있다는 점입니다.

다시 원래 클러스터 이야기로 돌아와보겠습니다.

이렇게 클러스터를 묶어서 트리 구조로 만들면 카메라와의 거리에 따라 어떤 클러스터 묶음을 보여줄 지 나나이트가 자동으로 선택하고 그리지 않아도 되는 디테일 단계는 메모리에 저장하지 않도록 처리합니다.

한마디로 자동으로 LOD가 처리되는 겁니다.

일반적인 LOD는 거리에 따라 오브젝트의 퀄리티를 떨어뜨리기 위해서 퀄리티를 낮춘 모델을 직접 만들어야 했습니다.

하지만 나나이트 시스템에서는 로우 퀄리티의 메시를 직접 만들고 거리에 따른 LOD 설정을 수동을 할 필요가 없으며 LOD가 자동으로 처리되며 LOD가 전환될 때 퀄리티 손실이 거의 발생하지 않습니다.

그리고 하이퀄리티 메시를 거의 그대로 사용하기 때문에 노멀맵 텍스처를 사용해서 디테일을 표현할 필요가 없습니다.

이렇게 수동으로 노멀맵을 굽고 LOD를 적용하기 위해 작업하는 등의 최적화를 위한 수동 작업을 배제함으로써 실제로 게임에 들어가는 아트 작업에만 집중할 수 있게 되는 겁니다.

아주 간단하게 설명한 나나이트 가상화 지오메트리의 기본 원리는 이렇습니다.

물론 더 많은 내용들이 존재하지만 나나이트의 전체적인 내용을 다루려면 굉장한 분량의 영상이 되버릴 것이기 때문에 기본 원리에 대한 설명은 여기서 마치도록 하겠습니다.

나나이트 제약

그리고 나나이트의 제약에 대해서 짧게 설명하겠습니다.

현재 나나이트는 스태틱 메시에만 적용이 가능하며 스켈레탈 애니메이션이나, 모프타깃, 머티리얼을 통한 월드 포지션 오프셋 등 메시가 변형되는 경우에는 나나이트가 지원되지 않습니다.

나나이트 메시 임포트

그럼 이제 언리얼 엔진 5에서 나나이트 가상화 지오메트리를 사용하는 방법을 알아보겠습니다.

먼저 언리얼 프로젝트를 하나 실행합니다.

프로젝트가 열리고 나면 콘텐츠 브라우저에 우클릭하고 [퀵셀 콘텐츠 추가] 버튼을 눌러서 브릿지 창을 열고 몇 가지 3D 모델을 다운로드 받고 프로젝트에 임포트합니다.

각 퀄리티 별로 하나씩 다운로드 받아 임포트하겠습니다.

임포트가 끝나고 나면 다운로드 받은 모델들을 레벨에 배치해봅시다.

그리고 뷰 모드를 와이어 프레임으로 바꾸면 퀄리티에 따라서 다른 수의 폴리곤으로 표현되는 모습을 볼 수 있는데 그 중에서도 나나이트 메시는 차원이 다르게 많은 폴리곤 수를 가지고 있습니다.

나나이트 시각화

이제 임포트한 메시에 나나이트가 제대로 적용되고 있는지 보기 위해서 나나이트 시각화 기능을 사용해 보겠습니다.

뷰 모드를 [나나이트 시각화 > 개요]로 설정하면 렌더된 화면과 함께 자주 사용되는 나나이트 시각화 화면들이 한꺼번에 보이게 됩니다.

그 중에서 [나나이트 시각화 > 마스크]로 변경하면 현재 나나이트 오브젝트와 비나나이트 오브젝트를 구분해서 볼 수 있습니다.

초록색으로 표시되는 오브젝트가 바로 나나이트가 적용되고 있는 오브젝트입니다.

그 다음에 [나나이트 시각화 > 트라이앵글]로 뷰 모드를 변경하면 나나이트 메시의 트라이앵글이 어떻게 표시되고 있는지 볼 수 있습니다.

특히 트라이앵글 상태에서 물체와의 거리가 바뀌면 트라이앵글의 형태가 바뀌며 LOD가 자동으로 적용되는 모습을 볼 수 있습니다.

[나나이트 시각화 > 클러스터]로 뷰 모드를 변경하면 트라이앵글 뷰 모드와 비슷하지만 좀 더 큰 덩어리로 합쳐진 것을 볼 수 있습니다.

앞에서 말한 것처럼 일정한 갯수의 트라이앵글을 하나의 클러스터로 묶어서 처리하고 있는 겁니다.

그리고 클러스터 역시 더 큰 클러스터로 묶어서 트리 형태로 처리하고 거리에 따라서 어느 수준의 클러스터가 보여야 할지 자동으로 처리합니다.

그 다음으로는 [나나이트 시각화 > 오버드로] 뷰 모드입니다.

잠시 뷰 모드를 원상태로 되돌린 다음 오브젝트를 복사해서 겹쳐보겠습니다.

그리고 뷰 모드를 오버드로로 변경하면 하나만 있는 오브젝트는 오버드로가 거의 없지만 겹쳐둔 오브젝트는 오버드로가 발생하면서 밝은 색으로 표시되는 것을 볼 수 있습니다.

앞에서 이야기한 것처럼 이런 식으로 표면 가까이 겹쳐서 그려지는 오버드로가 너무 많으면 성능 저하가 발생할 수 있습니다.

너무 많이 겹쳐서 아주 밝은 색으로 보인다면 퍼포먼스를 위해 개선해야할 필요가 있습니다.

나나이트 활성화

이번에는 나나이트가 활성화되지 않은 스태틱 메시에 나나이트 설정을 활성화하는 방법을 알아보겠습니다.

나나이트 퀄리티가 아닌 메시를 더블 클릭해서 에디터를 엽니다.

에디터가 열리고 나면 디테일 패널에서 나나이트 지원 활성화 프로퍼티를 체크하고 변경사항을 적용해줍니다.

그리고 에셋을 저장하고 나나이트 시각화로 보면 나나이트가 잘 적용된 것을 볼 수 있습니다.

참고로 언리얼 개발자들의 이야기에서 과연 로우 폴리로 만들어진 스태틱 메시도 나나이트로 전환해야하는가에 대한 질문이 있었습니다.

그 답변으로는 모든 걸 나나이트로 만드는게 중요한건 아니며 사용할지 말지는 선택사항이지만 가급적이면 바꾸는걸 권장한다는 것이었습니다.

아웃트로

이번 영상에서는 나나이트 가상화 지오메트리 시스템의 기본적인 내용에 대해서 알아보았습니다.

이 강좌는 시청자 여러분들의 시청과 후원으로 제작되었습니다.

이상 베르의 게임 개발 유튜브였습니다. 감사합니다.

 

 

[투네이션]

 

-

 

toon.at

[Patreon]

 

WER's GAME DEVELOP CHANNEL님이 Game making class videos 창작 중 | Patreon

WER's GAME DEVELOP CHANNEL의 후원자가 되어보세요. 아티스트와 크리에이터를 위한 세계 최대의 멤버십 플랫폼에서 멤버십 전용 콘텐츠와 체험을 즐길 수 있습니다.

www.patreon.com

[디스코드 채널]

 

Join the 베르의 게임 개발 채널 Discord Server!

Check out the 베르의 게임 개발 채널 community on Discord - hang out with 399 other members and enjoy free voice and text chat.

discord.com

 

반응형

개발단에 가입하여 베르의 게임 개발 유튜브를 후원해주세요! 

 

베르의 게임 개발 유튜브

안녕하세요! 여러분들과 함께 게임 개발을 공부하는 베르입니다! 게임 개발에 도움이 되는 강좌들을 올리는 채널입니다! [투네이션 후원] https://toon.at/donate/637735212761460238 [유니티 어필리에이트

www.youtube.com

 

안녕하세요! 여러분들과 함께 게임 개발을 공부하는 베르입니다!

이번 영상에서는 언리얼 엔진에 내장된 퀵셀 브릿지와 메가스캔 에셋에 대해서 알아봅시다.

 

사용 엔진 버전 : 5.0.2

 

타임라인

0:00 인트로

0:11 퀵셀 브릿지

1:16 메가 스캔 에셋

3:26 아웃트로

스크립트

인트로

안녕하세요. 여러분들과 함께 게임 개발을 공부하는 베르입니다.

이번 영상에서는 에픽 게임즈에서 제공되는 퀵셀 브릿지와 메가 스캔 에셋에 대해서 알아보도록 하겠습니다.

퀵셀 브릿지

퀵셀 브릿지는 물체를 직접 스캔하여 만들어진 고퀄리티의 3D 모델과 2D 텍스처를 제공하고 엔진에서 사용하기 쉽게 만들어주는 프로그램입니다.

원래는 별개의 회사에서 제공되는 서비스였는데 2019년에 에픽 게임즈에서 퀵셀사를 인수했고 언리얼 엔진 5에 기본 기능으로 내장되어서 손쉽게 고퀄리티 에셋을 임포트할 수 있게 되었습니다.

그럼 이제 퀵셀 브릿지를 사용하는 방법을 배워보겠습니다.

먼저 언리얼 엔진을 실행하고 프로젝트를 생성합니다.

언리얼 엔진에 내장된 퀵셀 브릿지를 여는 방법은 크게 두 가지가 있습니다.

첫 번째 방법은 상단 메뉴 바에서 [창 > 퀵셀 브리지] 항목을 선택하는 것입니다.

두 번째 방법은 콘텐츠 브라우저에 우클릭한 다음 [퀵셀 콘텐츠 추가] 항목을 선택하는 것입니다.

퀵셀 브릿지가 실행된 다음에는 우측 상단의 버튼을 눌러 에픽 게임즈 계정으로 로그인합니다.

로그인을 하고 나서 브릿지 창을 보면 가장 왼쪽에 에셋을 종류 별로 나눠놓은 목록이 있는 것을 볼 수 있습니다.

메가 스캔 에셋

퀵셀 브릿지에서 제공되는 에셋들은 오브젝트 스캔 기술을 이용해 만들어진 것으로 굉장히 높은 퀄리티를 제공하며 이것을 메가 스캔 에셋이라고 부르고 있습니다.

목록에는 3D에셋, 3D식물, 오브젝트의 표면을 표현하기 위한 머티리얼, 데칼 등의 분류가 있습니다.

여기에서 3D 에셋을 선택하면 그 내부에도 건물, 음식, 역사적 오브젝트, 인테리어, 자연 등 필요한 오브젝트를 찾기 쉽도록 나누어져 있습니다.

여기서 필요한 오브젝트를 찾은 뒤 선택하면 오른쪽 화면 레이아웃에 선택한 오브젝트가 표시되는 것을 볼 수 있습니다.

여기서 이 오브젝트의 대략적인 크기를 알려줍니다.

그리고 아래 쪽에 있는 퀄리티 드롭다운에서 오브젝트의 퀄리티를 결정할 수 있습니다.

언리얼 엔진 5의 나나이트 기능을 사용해서 고퀄리티의 게임을 만들고자 한다면 나나이트 퀄리티를 선택하면 됩니다.

퀄리티를 선택하고 옆에 있는 다운로드 버튼을 누르면 에셋 다운로드가 시작됩니다.

높은 퀄리티를 선택하면 다운로드 시간이 조금 걸리는 편입니다.

에셋의 다운로드가 완료된 다음에는 다운로드 버튼 옆에 있는 Add 버튼을 클릭합니다.

그러면 다운로드받은 에셋들이 현재 실행되고 있는 프로젝트에 임포트됩니다.

브릿지 창을 닫고 돌아가보면 콘텐츠 폴더 안에 있는 [Megascans > 3D Assets] 경로에 에셋이 임포트되어있습니다.

이 에셋을 드래그해서 레벨에 배치하면 고퀄리티의 에셋이 레벨에 잘 배치되는 것을 볼 수 있습니다.

보통의 게임에서는 높은 퀄리티를 달성하면서 게임의 퍼포먼스를 유지하기 위해서 폴리곤 수를 줄이고 노멀맵을 사용하는 등의 여러가지 기법을 사용하게 됩니다.

하지만 언리얼 엔진 5에서는 나나이트 지오메트리라는 기술을 사용해서 폴리곤 수 제한을 상당히 완화시켰습니다.

그래서 뷰포트의 설정을 와이어프레임으로 변경하면 엄청나게 많은 수의 폴리곤을 사용해서 오브젝트가 표현되고 있는 모습을 볼 수 있습니다.

그리고 이번에는 나나이트 시각화 > 트라이앵글로 변경해보면 이 오브젝트가 나나이트 기술이 적용되고 있는 모습을 볼 수 있습니다.

아웃트로

이렇게 에픽 게임즈에서는 AAA 퀄리티 게임의 인디화라는 목표를 가지고 고퀄리티의 에셋들을 무료로 제공하고 있습니다.

여러분들도 이런 고퀄리티의 에셋을 이용해서 여러분만의 AAA게임 제작에 도전해보실 수 있습니다.

이번 영상에서는 언리얼 엔진에 내장된 퀵셀 브릿지와 메가 스캔 에셋에 대해서 알아보고 메가 스캔 에셋을 언리얼 프로젝트에 임포트 하는 방법을 알아보았습니다.

이 강좌는 시청자 여러분들의 시청과 후원으로 제작되었습니다.

이상 베르의 게임 개발 유튜브였습니다. 감사합니다.

 

[투네이션]

 

-

 

toon.at

[Patreon]

 

WER's GAME DEVELOP CHANNEL님이 Game making class videos 창작 중 | Patreon

WER's GAME DEVELOP CHANNEL의 후원자가 되어보세요. 아티스트와 크리에이터를 위한 세계 최대의 멤버십 플랫폼에서 멤버십 전용 콘텐츠와 체험을 즐길 수 있습니다.

www.patreon.com

[디스코드 채널]

 

Join the 베르의 게임 개발 채널 Discord Server!

Check out the 베르의 게임 개발 채널 community on Discord - hang out with 399 other members and enjoy free voice and text chat.

discord.com

 

반응형

안녕하세요! 여러분들과 함께 게임 개발을 공부하는 베르입니다!

이번에는 얼마전에 얼리엑세스로 공개된 언리얼 엔진 5를 리뷰해보겠습니다!

 

사용 엔진 버전 : 5.0 EA

 

타임라인

0:00 인트로

0:11 언리얼 엔진 5 얼리엑세스 다운로드

0:35 언리얼 엔진 4와 비교(공통점)

2:05 언리얼 엔진 5에서 바뀐 점 1 - 퀵셀

2:48 언리얼 엔진 5에서 바뀐 점 2 - 나나이트 지오메트리 시스템

4:48 언리얼 엔진 5에서 바뀐 점 3 - 루멘 다이나믹 글로벌 일루미네이션 시스템

5:31 아웃트로

 

[투네이션]

 

-

 

toon.at

[Patreon]

 

WER's GAME DEVELOP CHANNEL님이 Game making class videos 창작 중 | Patreon

WER's GAME DEVELOP CHANNEL의 후원자가 되어보세요. 아티스트와 크리에이터를 위한 세계 최대의 멤버십 플랫폼에서 멤버십 전용 콘텐츠와 체험을 즐길 수 있습니다.

www.patreon.com

[디스코드 채널]

 

Join the 베르의 게임 개발 채널 Discord Server!

Check out the 베르의 게임 개발 채널 community on Discord - hang out with 399 other members and enjoy free voice and text chat.

discord.com

 

반응형

+ Recent posts