Unreal Engine Blueprint #1

_ dfdeer·2025년 4월 30일
post-thumbnail

1. 레벨 생성 및 기본 오브젝트 배치

개념 알기

레벨(Level)

언리얼 엔진에서의 레벨은 하나의 공간을 의미한다. 한 프로젝트 안에 여러 개의 레벨이 있을 수 있으며, 모두 독립적으로 작동한다.

정적 메시(Static Mesh)

정적 메시는 월드 내에 있는 벽, 바닥, 건물 등 직이지 않는 3D 오브젝트를 의미한다.
모든 레벨은 다양한 정적 메시들을 통해 구성되어 완성된다.

구현해보기

1. 새로운 레벨 생성

좌측 상단에 있는 File 탭에서

New Level을 선택하고

Basic으로 새로운 레벨을 생성해준 뒤

Ctrl+S를 눌러 이름을 MyFirstLevel 이라는 이름으로 Content 폴더 안에 저장한다.

2. 바닥 만들기

오브젝트 추가 버튼을 눌러 PLACE ACTORS에서 Shapes > Cube를 끌어다가 레벨에 배치한다.

그리고 Details 패널에서 Cube의 Scale을 X: 20, Y: 20, Z: 0.5로 조정한다.

3. 벽 만들기

Cube를 4개를 더 추가하고 모두 높이(Z)는 3.0, 길이(X or Y)는 20으로 설정하고 바닥의 각 모서리에 배치한다.

4. 오브젝트 배치

의자 다리를 표현하는 Cylinder(X: 0.1, Y: 0.1, Z: 0.8) 4개와
의자 바닥을 표현하는 Cube(X: 0.8, Y: 0.8, Z: 0.1) 와
그리고 의자 등받이를 표현하는 큐브(X: 0.1, Y: 0.8, Z: 1.0) 를 적절히 배치하여 의자를 만들었다.

5. 카메라 시점

뷰포트 조작(마우스 우클릭 + W/A/S/D)을 통해 맵을 이동하며 둘러보고 오브젝트의 위치 및 크기를 확인하고 수정하는 작업을 했다

2. 조명과 머티리얼 기본 적용

개념 알기

조명(Light)

Directional Light

태양처럼 씬(Scene) 전체에 영향을 준다.

Point Light

전구처럼 특정 위치에서 빛을 방사한다.

Spot Light

특정 방향으로 빛을 집중시킨다.

머티리얼(Material)

오브젝트에 적용되는 재질로 색상뿐만 아니라 반사, 광택, 질감등을 표현 할 수 있다.
Material Instance를 사용해 기존 머티리얼을 빠르게 커스터마이징 할 수 있다.

구현해보기

1. 새로운 프로젝트 생성

Starter Content 체크박스를 활성화 시켜주고 새롭게 프로젝트를 생성한다.

2. 조명 추가

Directional Light

오브젝트 추가 버튼을 눌러 PLACE ACTORS에서 Lights > Directional Light를 끌어다가 레벨에 배치한다.

Directional Light가 없을 때

Directional Light가 있을 때

Point Light

Point Light는 2개를 배치해주고

내부 조명 효과를 확인한다.

각 조명의 밝기(Intensity)와 색상(Color)를 조정해봤다.

좌측 조명(Intensity: 30.0, Color: Green)
우측 조명(Intensity: 1.0, Color: Red)

3. 머티리얼 적용

StarterContent > Materials 에서 다양한 머티리얼들을 확인할 수 있다.

바닥에는 M_Metal_Gold 머티리얼,

벽에는 M_Concrete_Poured 머티리얼을

레벨에 배치된 액터에 끌어당겨서 적용시켜봤다.

바닥
M_Metal_GoldM_Concrete_Poured

4. 조명 그림자 확인

빛과 맞닿은 오브젝트는 빛을 반사하고, 가려져서 반대편에 있는 부분에는 그림자가 진다.
또한 Metal 특성을 가진 벽은 빛을 더욱 많이 반사하는 특징을 보였다.

3. 에셋 다운로드 및 커스터마이징

개념 알기

에셋(Asset)

3D 모델, 머티리얼, 애니메이션, 사운드 등 콘텐츠 구성 요소들을 칭한다.
언리얼 엔진에서는 .uasset 형식으로 사용한다.

에셋 플랫폼

Fab

Fab은 Unreal Engine Marketplace, Sketchfab, Quixel, Artstation Marketplace를 결합한 플랫폼이다.

다양한 에셋을 쉽게 검색하고 다운로드 할 수 있다.

Sketchfab, TurboSquid, Free3D 등 (FBX 등 외부 포맷)

외부 포맷으로 제공되는 에셋을 언리얼 엔진에서 사용하기 위해서는 적절한 포맷으로 변환시켜서 사용해야한다.

에셋 구매 및 다운로드 공식 문서

https://dev.epicgames.com/documentation/ko-kr/fab/purchasing-and-downloading-assets-in-fab

구현해보기

1. Fab 플러그인 사용 및 로그인

Content Browser 패널에 있는 Fab 버튼을 누르고

Epic 계정으로 로그인 한다.

2. 에셋 검색 및 라이브러리(Library) 추가

원하는 에셋을 찾아 Add to My Library 버튼을 눌러 내 라이브러리에 추가한다.

3. 에셋을 프로젝트에 임포트(Import)

우측 상단에서 My Library 버튼을 통해 내가 추가한 에셋을 확인할 수 있고, 아까 라이브러리에 추가할 때 누른 버튼 위에 있는 Add to Project 버튼을 통해 해당 에셋을 프로젝트에 임포트 할 수 있다.

정상적으로 추가된 모습.

4. 에셋 배치 및 조정

추가한 에셋을 씬에 배치하고 이동, 회전, 크기 조정(Transform Tool) 기능으로 위치를 정리했다.

5. 폴더 구조 정리

Content 폴더 안에 MyAsset 이라는 폴더를 만들어서 내가 추가한 에셋을 정리했다.

학습 내용 요약 & 느낀점

언리얼 엔진에서 사용하는 단어들과 내용들(레벨, 정적 메시)을 학습했고,

배운 내용들을 토대로 직접 새로운 레벨을 만들어 보았고, 바닥과 벽으로 건물을 배치해보았으며, 그 안에 의자라는 오브젝트를 새로 배치하는 작업을 해보았다.

그리고 언리얼 엔진에서 사용하는 조명들의 종류와 특징들을 배웠고 머티리얼이라는 재질을 표현하는 도구에 대해 배웠다.

조명이 빛을 비추는 방향과 빛에 의해 생기는 그림자와 머티리얼에 따라 빛이 반사되는 정도가 달라지는 등의 반응을 확인하며 언리얼 엔진이 현실처럼 구현을 잘 해놓았다고 느꼈다.

또한 다른 사람이 제작한 여러가지 3D 모델 등을 내 라이브러리에 추가하여 직접 사용할 수 있다는 것을 알았고, 굉장히 사용자의 편의에 힘을 많이 썼다는 것을 알 수 있었다.

단순하고 간단했지만 패널들을 이용하고 뷰포트를 조작하며 언리얼 엔진에 조금은 익숙해진 것 같다고 느꼈다.
또 이 엔진을 통해 고퀄리티의 게임을 만들어보고 싶다는 생각이 들었다.

0개의 댓글