메타버스기반게임콘텐츠기획/스터디(언리얼 프로젝트)

20220111 언리얼 익숙해지기 - '쉽게 배우는 프로그래밍'이란 강좌 참조

Queenut 2022. 1. 12. 02:22

방탈출 게임을 제작하는 동영상 강좌가 있다.

완전 초보에게 가르치기 때문에 쉽고, 또 장르가 방탈출이니 매우 도움이 될 것 같다고 팀원의 추천이 있었다.

 

https://www.youtube.com/c/%EC%89%BD%EA%B2%8C%EB%B0%B0%EC%9A%B0%EB%8A%94%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D/videos

 

쉽게 배우는 프로그래밍

Arduino, xamarin, scratch, design pattern 등 다양한 프로그래밍 강좌

www.youtube.com

 

이것으로 익숙해져보자.

 

 

 

새로운 프로젝트를 생성 → Game → First Person Template → 기본 생성.

 

* 언리얼 엔진 에디터 구조

1. Place Actors : 유니티로 따지면 오브젝트 목록창. 화면 상에 설치할 수 있는 것들의 리스트이며, 언리얼에서는 이를 액터라고 부른다.

2. Tool Bar : 빠른 실행 메뉴와 같다. 자주 사용하는 중요한 기능들이 있다.

3. World Outliner : 올라와있는 모든 오브젝트가 목록화된 창. 

4. Details : 선택한 오브젝트에 대한 모든 정보 창.

5. Content Browser : 아직 게임에 올라가있지 않지만 쓸 수 있는 것들이 있는 장소. 생성된 프로젝트 폴더의 내용물을 볼 수 있음.

6. Viewport : 게임이 진행되는 곳이자, 액터를 배치할 수 있는 장소. 플레이 모드 시, 화면을 클릭하면 게임처럼 사용할 수 있고 ESC키를 누르면 빠져나갈 수 있다.

 

 

* 에디터에서 이동하는 방법

1. 마우스 우클릭 + WASD : 직선이동

2. 마우스 우클릭 + QE : 상하이동

3. Alt + 마우스 좌클릭 드래그 : 중심 고정, 공전 이동.

4. 우클릭 드래그 : 중심 고정, 자전 이동.

5. 마우스 좌클릭 드래그 : 높이 고정, 자유 이동.

6. 원하는 액터로 이동 : 선택(직접 선택 or 월드와이드창 선택) + F키

 

 

* 액터 이동시키는 팁

End 키 누르면 바닥에 완전히 붙음(Y축 설정하기 어려울 때 좋을 듯).

 

 

* 지오메트리

말 그대로 '지형'. 때문에 월드아웃라이너에 브러시Brush라고 이름이 붙는다. 레벨을 그린다는 의미인듯.

 

지오메트리에는 빼기 기능이 있다.

디테일 - 컴포넌트 중 하나

위치를 지정하고 Alt키 누른 채로 브러시를 통과했다가 빼면 공간이 액터만큼 사라진채로 남는다.

 

다른 액터와 달리 지오메트리의 머티리얼/텍스처는 해당 면에만 붙는다. 면마다 다르게 매핑할 수 있다.

 

단, 지오메트리는 움직이는 액터Movable로 만들 수 없다. 오직 지형만 가능하다.

 

 

 

 

* 동영상 강좌 레벨1

한 칸짜리 방에 문을 만들고 가까이 가면 문이 사라지는 블루프린트.

 

1. 박스 트리거 액터를 문 앞에 설치

2. 닿았다는 이벤트가 발생하면 블루프린트 들어가서

마우스 우클릭 → 가장 위에 있는, 선택한 액터인 'Trigger Box1에 대한 이벤트 추가(Add Event for Trigger Box1)' → Collision → 'Add On Actor Begin Overlap'

 

블루프린트는 프로그래밍을 쉽게 하기 위해서 노드 단위로 배치하고 연결하는 시각적인 툴이다.

레벨 블루프린트 : 레벨의 전체를 관리하는 프로그램

 

 

3. 실행(Exec) → Executable Actions → 검색창에 Print Text 입력 후 클릭. → '닿았다!'는 문장 입력.

 

- 닿으면 사라지게 하는 방법은 많다. 이번에 할 것은 '닿으면 순식간에 문이 내려가서 사라지는 것'이다.

 

월드아웃라이너에 있는 액터는 블루프린트로 드래그해올 수 있다.

 

Door를 끌어다 놓고 '레벨의 액터에 대한 레퍼런스를 저장한다(Brush object Reference)' → 검색창에 location → SetActorLocation : 타겟 액터의 위치를 정해준다.

 

여기까진 타겟 액터가 이동하는 것만 알려줬지, 닿고 실행하게 만드려면 아까 만든 노드를 연결해야 한다.

 

 

"에러가 '모빌리티 없음' 이네? 그럼 붙여주면 되겠다!" → 없음... 왜? 지오메트리는 지형이라서. 이건 기본적으로 움직일 수 없다. 움직이는 것들은 브러시를 쓸 수 없다.

 

문을 지운다.

블루프린트에 참조된 액터를 지울 땐 경고문이 뜬다.

 

 

* 액터 이름 바꾸는 방법

1. 액터 우클릭 → Edit → Rename.

2. 액터 클릭 → F2

 

 

* Mobility

1. 스태틱(Static) : 어차피 움직이지 않으니까 미리 그림자 그려놓음. 높은 수준의 그림자.

2. 스태이셔너리(Stationary)

3. 무버블(Movable)

왜 나눠놨을까? 라이팅 때문에.

 

 

* 번쩍 하는 효과: Particle 검색.

 

* 노드끼리 연결된 선 끊는 방법: Alt + 줄 클릭.

 

* 변수 만들기

왼쪽에 My Blueprint → 변수(Variables) → + 버튼 누르고 변수 이름 만들어주기

→ (변수 선택한 채로) 오른쪽 Details → Variable Type 에서 변수형 선택.

 

C# bool → Boolean

C# int → integer

C# Update() → Tick 이벤트

 

 

* 혹시 뭔가 보이지 않으면 컴파일 해보기.

 

* Get, Set

변수 가져올 때 Ctrl 누르고 드래그해 놓으면 Get(읽다, 값을 가져오다), Alt 누르고 드래그해 놓으면 Set(쓰다, 값을 넣다)

 

 

* 블루프린트는 if문으로 조건 주는게 아니고 Branch 로 조건을 준다.

알만툴이랑 거의 같네

B 를 누른 채로 마우스 좌클릭하면 Brach노드 생김.