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

 

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

이번에는 높이 맵을 언리얼4 랜드스케이프에 적용하는 방법을 알아봅시다.

 

월드맵 리소스 : https://drive.google.com/file/d/1eyROLHkyRpM4YJp6Zs-9qsRUmDZr0DEd/view?usp=sharing

 

사용 엔진 버전 : 4.27

 

타임라인

0:00 인트로

0:17 언리얼 랜드스케이프에 월드 높이맵 적용하기

2:24 아웃트로

 

스크립트

인트로

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

이번에 알아볼 것은 [대규모 게임 회사의 고퀄리티 지형 제작 비법] 영상에서 소개했던 월드맵 생성 프로그램인 월드 머신이나 월드 크리에이터같은 프로그램에서 만든 높이맵을 언리얼의 랜드스케이프에 적용하는 방법을 알아보겠습니다.

언리얼 랜드스케이프에 월드 높이맵 적용하기

먼저 영상 하단의 링크에서 리소스 파일을 다운로드 받아서 압축을 해제합니다.

임포트가 끝난 다음에는 상단 툴바에서 모드 버튼을 클릭합니다.

그리고 드롭다운으로 나타나는 메뉴 중에 랜드스케이프를 선택합니다.

그러면 랜드스케이프 패널이 열리는데 여기서 [새로 생성] 옵션 대신에 [파일에서 임포트] 옵션을 선택합니다.

그리고 하이트맵 파일 옆의 버튼을 클릭하고 임포트 대화상자에서 아까 전에 압축 해제해둔 heightmap.r16 파일을 찾아서 열어줍니다.

그 다음에 임포트 버튼을 누르면 랜드스케이프의 형태가 임포트한 월드맵의 형태로 바뀝니다.

그 다음에는 높이맵과 함께 가져온 텍스처를 넣어보겠습니다.

콘텐츠 브라우저 패널에 우클릭하고 [/Game에 임포트] 항목을 선택하여 월드 맵의 텍스처 파일을 프로젝트에 임포트합니다.

그리고 다시 콘텐츠 브라우저 패널에 우클릭하고 [머티리얼] 항목을 선택해서 새 머티리얼을 만들어줍니다.

머티리얼 생성이 완료되고 나면 머티리얼 에셋을 더블클릭해서 머티리얼 에디터를 열어줍니다.

머티리얼 에디터에서는 우선 빈 영역에 우클릭하고 "Texture Sample"을 검색해서 텍스처 샘플 노드를 추가합니다.

그리고 텍스처 샘플 노드의 기본 텍스처를 방금 임포트한 월드맵의 텍스처로 지정하고 텍스처 샘플 노드의 RGB 핀을 베이스 컬러 핀에 연결해줍니다.

그 다음에 적용 버튼을 누르고 레벨 에디터로 돌아와서 랜드스케이프의 머티리얼 프로퍼티에 방금 만든 머티리얼을 넣으면 텍스처가 엄청나게 작은 상태로 랜드스케이프에 반복되어 그려지는 모습을 볼 수 있습니다.

다시 머티리얼 에디터로 돌아가서 그래프의 빈 영역에 우클릭하고 "Texture Coordinate"를 검색해서 텍스처 코디네이트 노드를 추가합니다.

그리고 이 노드의 UTiling 값과 VTiling 값을 0.000955로 변경한 다음 출력 핀을 끌어 텍스처 샘플 노드의 UVs 핀에 연결해줍니다.

작업을 모두 마친 다음에는 머티리얼을 적용하고 저장한 다음 머티리얼 에디터를 닫아줍니다.

이제 레벨 에디터의 뷰포트에서 랜드스케이프를 보면 월드맵의 텍스처가 잘 입혀진 모습을 확인할 수 있습니다.

아웃트로

이번 영상에서는 월드 머신이나 월드 크리에이터로 만든 월드맵을 언리얼의 랜드스케이프에 적용하는 방법에 대해서 알아보았습니다.

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

반응형

 

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

이번에는 언리얼 엔진에서 컴파일 에러가 발생했을 때 나오는 에러 로그의 한글이 깨져보이는 문제를 해결하는 방법을 알아봅시다.

 

사용 엔진 버전 : 4.26

 

타임라인

0:00 인트로

0:13 에디터에서 컴파일 에러 로그가 깨지는 문제

1:09 해결책 1

2:07 해결책 2

3:49 아웃트로

반응형
  1. 뒷반 2021.06.17 14:06 신고

    그는 신인가?

 

언리얼 스크립트에서 한글을 사용했을 때 한글이 깨지는 문제를 해결하는 방법을 알아봅시다.

 

타임라인

0:00 인트로

0:13 한글 깨짐 문제와 해결법

2:03 아웃트로

반응형

 

언리얼 엔진에서 C++ 프로젝트에서는 한글 경로를 멀리 하시고 영어나 쓰시는게 옳습니다.

 

사용 엔진 버전 : 4.26

 

타임라인

0:00 인트로

0:19 프로그래밍에서는 한글 경로를 멀리 하십시오 휴먼

1:36 아웃트로

반응형

 

안녕하세요! 여러분들과 함께 게임 개발을 공부하는 베르입니다! 이번 영상에서는 메타휴먼 크리에이터에 대해서 알아봅시다!

반응형

 

언리얼 개발자라면 놓쳐서는 안될 마켓플레이스 이 달의 무료 콘텐츠에 대해서 알아봅시다!

 

타임라인

0:00 언리얼 마켓플레이스 개요

0:52 마켓플레이스 무료 콘텐츠

1:15 언리얼 마켓플레이스 무표 콘텐츠 검색

2:23 무료 콘텐츠 받기

반응형

 

안녕하세요! 여러분들과 함께 게임 개발을 공부하는 베르입니다! 2021년 03월에 공개된 언리얼 마켓플레이스 이 달의 무료 콘텐츠를 리뷰해보겠습니다!

반응형

Physics

-

디스트럭터블 메시 사용하기(기초)

 

작성기준버전 :: 4.22.3

 

게임에서 배경 오브젝트를 상호작용하여 파괴하는 기능은 사실 그렇게 쓸모있어 보이지는 않지만, 플레이어에게 자신이 이 게임 속의 세상과 상호작용을 하고 있다는 체감을 더 강하게 느끼게 만들어준다.

 

 

이렇게 파괴가능한 오브젝트를 만드는 전통적인 방법은 오브젝트를 모델링 할 때, 온전한 모델 하나와 잘게 쪼개진 모델들을 만들어서 우선 온전한 오브젝트를 배치해 두었다가 상호작용이 발생하면 잘게 쪼개진 모델들로 바꿔치기해서 각각의 조각들에 물리효과를 주는 것이었다. 이러한 방법은 작업자의 역량에 따라서 더 자연스럽게 오브젝트를 쪼갤 수 있지만 작업 시간이 많이 소요된다는 단점을 가지고 있었다.

 

 

디스트럭터블 메시(Destructable Mesh)

 

메시를 쪼개는 작업 시간을 줄이기 위해서 온전한 메시를 자동으로 쪼개주는 기능이 바로 언리얼 엔진 4의 디스트럭터블 메시(Destructable Mesh)이다. 참고로 이 기능은 초기 버전의 언리얼 엔진 4에서는 기본적으로 활성화 되어 있는 상태였지만 최근의 버전에서는 기본적으로 비활성화되어 있으며 해당 기능을 사용하기 위해서는 플러그인을 활성화 시켜야 한다.

 

 

플러그인 활성화

 

플러그인을 활성화시키기 위해서는 상단의 메뉴에서 [편집>플러그인] 항목을 선택한다.

 

 

플러그인 창이 열리면 검색창에 "APEX"를 입력하면 Apex Destruction 플러그인이 검색된다. 활성화 체크박스를 체크하고 지금 재시작 버튼을 누르면 언리얼 엔진이 재시작되면서 플러그인이 활성화 된다.

 

 

 

 

 

디스트럭터블 메시 생성 및 설정

 

플러그인이 활성화 되었으면 콘텐츠 브라우저 패널에서 디스트럭터블 메시를 생성하고자 하는 스태틱 메시를 찾아서 우클릭한 뒤 [디스트럭터블 메시 생성] 항목을 선택한다.

 

 

그렇게 하면 선택한 스태틱 메시에 대한 디스트럭터블 메시가 생성되고, 생성된 디스트럭터블 메시를 편집할 수 있는 에디터 창이 열린다.

 

 

열린 에디터 창에서 [프랙처 메시] 버튼을 누르면 플러그인이 자동으로 스태틱 메시를 쪼개서 파편을 만들어 준다.

 

 

기본적으로 에디터의 우측에 있는 디스트럭터블 세팅 패널과 프랙처 세팅 패널을 통해서 디스트럭터블 메시를 설정할 수 있다.

 

 

프랙처 세팅 패널의 Voronoi 카테고리의 프로퍼티인 Cell Site Count 값을 조절하여 메시가 쪼개지는 갯수를 설정할 수 있다.

 

 

 

 

간단한 사용법

 

게임 내에서 실제로 이 디스트럭터블 메시가 부숴지는 모습을 확인해보자.

 

 

우선 디스트럭터블 세팅 패널에서 Enable Impact Damage를 true로 세팅하고 저장한 뒤 디스트럭터블 메시 에디터를 닫는다.

 

 

생성한 디스트럭터블 메시를 레벨에 배치한다.

 

 

배치된 디스트럭터블 메시를 선택하고 Pysics 카테고리에서 Simulate Physics 프로퍼티를 체크한다.

 

 

 

그 다음 플레이 버튼을 누르고 캐릭터를 움직여서 배치된 의자에 부딪히면 의자가 산산조각 나서 부숴지는 것을 확인할 수 있다.

반응형

+ Recent posts