학습내용
#1 슈퍼마리오 골드코인 만들어 보기동 #2 코인에 플레이어가 부딪히면 코인이 사라지게 하기 #3 코인을 획들할 때 소리나게 하기 #4 코인을 획득할 때 연기나게 하기 #5 코인을 회전시키기 #6 캐릭터가 코인을 먹을 때마가 카운트 추가하기 #7 코인 먹을 때 불켜지는 등 만들기 #8 Custom Event 만들기(불이 켜지는 Event) |
#1 슈퍼마리오 골드코인 만들어 보기
- Geometry - Cylinder 배치.
- X축에 90 입력하여 Cylinder 세우기.
- Cylinder-Detail-Brush Settings 창에서 Sides 100으로 설정.
- Cylinder-Detail-Select-Selecting Matching Brush 선택.
- 골드 머테리얼 입히기.
- Cylinder-Detail-Brush Settings 창에서 Z 5로 설정, Outer Radius 20으로 설정.
- 클래스 블루프린트 actor로 생성.
- 블루프린트에서는 브러쉬는 가지고 올 수 없으며 Static Mesh로 변형시켜주어야 함.
- Cylinder-Detail-Brush Settings 창에서 아래 화살표 누르고 Create Static Mesh 클릭 후 Static Mesh 생성.
- 이전에 만든 클래스 블루프린트에 GoldCoin Static Mesh 불러오기. 컴파일.
#2 코인에 플레이어가 부딪히면 코인이 사라지게 하기
- Sphere Collision 불러오기.
- Collision 크기를 코인에 맞게 줄이기.(Scale X를 0.75)
- Event Graph에서 Collision Event(Overlap 관련 하여 선택) 생성.
- Destroy Actor를 생성하여 Collision Event와 연결.
#3 코인을 획들할 때 소리나게 하기
- Coin 획득 sound 추가.
- Actor가 사라지기 전에 사운드를 추가해야함. 사라진 이후에 추가하면 소리가 나지 않음.
- Play Sound at Location을 사용하여 Coin 획득 사운드 추가.
- Play Sound 2D는 모든 환경에서 똑같은 볼륨의 사운드가 나옴.
- Play Sound at Location은 해당위치에서 소리가 들리게, 멀어지면 소리가 작아짐.
- Event Graph에서 우클릭하여 Get a reference to Self 생성 - Get Actor Location 생성 후 연결.
#4 코인을 획득할 때 연기나게 하기
- Particle을 만드는 것들을 Emitter라고 부름.
- Destroy Actor 이전 노드에 Spawn Emitter at Location 을 생성하여 연결.
- Emitter Template에 smoke 입력.
- Self - Get Actor Location을 Location에 연결.
#5 코인을 회전시키기
- RotatingMovement 컴포넌트 추가.
#6 캐릭터가 코인을 먹을 때마가 카운트 추가하기
- 캐릭터 블루프린트로 들어가기.
- integer 변수 추가, 컴파일 후 default 값 0으로 설정.
- CountCoin 변수가 잘 세팅되었는지 확인하기 위해 Get CountCoin - Event Tick - print string 생성 후 연결.
- Class는 기본틀이라고 생각하면 이해하기 쉬움.
- Class를 통해 만들어진 것들은 Object(객체)라고 부름.
- GoldCoin 블루프린트에서 Third Person Character 블루프린트를 사용하고 싶으면 Cast를 사용
- Cast To ThirdPersonCharacter을 사용.
- Cast는 형변환을 말한다.(type change)
- GoldCoin을 잠시 Third Person Character로 바꾼다.
- 이해하기 힘들다면 영화나 공연에서 배우를 캐스팅하는 것처럼 잠시 다른 것을 캐스팅한다 생각하면 이해가 쉬움.
- 하지만 여기서 complie을 한다면 Object is undetermined 에러가 발생함.
- 이는 수많은 Third Person Character 오브젝트 중 내가 어떤 것을 사용할 것인지 설정해주지 않았기 때문.
- 따라서 나 자신을 말하는 player number 0번을 지정해주면 된다.
- Get Player Character를 사용하여 Object(Cast To ThirdPersonCharacter)연결.
#7 코인 먹을 때 불켜지는 등 만들기
- 블루프린트 클래스 생성.
- StaticMesh를 추가 - Ceilling 등 추가 - point light 추가하여 등 완성.
- 등 3개, 코인 3개를 위치시키기.
- 블루프린트에서 input K 시 불 켜지게 만들기.
- GoldCoin 블루프린트에서 Cast to BP_MyLight 생성하여 연결.
- Cast to BP_MyLight에서 Set Visibility를 생성하여 연결.
- 각각의 등과 각가의 코인을 연결시키기.
- GoldCoin 블루프린트에서 불리언 타입 변수(이름 ChooseLamp) 생성.
- ChooseLamp 우측에 눈을 클릭하면 블루프린트 밖 detail 창에서 해당 변수를 볼 수 있음.
- GoldCoin 블루프린트에서 변수 타입을 불리언에서 BP_MyLight로 변경.
- 해당 변수를 Cast to BP_MyLight의 object에 연결.
- 블루프린트 밖으로 나와서 등과 연결할 코인을 선택하고 detail 창 ChooseLamp에서 원하는 등을 연결.
#8 Custom Event 만들기(불이 켜지는 Event)
- 커스텀 이벤트를 만들어 두면 내가 작업할 때마다 불러와서 쓰기만 하면되기에 노가다를 줄여준다.
- MyLight Event Graph에서 Custom Event를 생성하고 이름을 바꾸기.
- Point Light 생성 후 Set Visibility 연결. Custom Event 연결.
- GoldCoin Event Graph에서 방금 생성한 Custom Event를 생성하고 Cast to BP_MyLight와 연결.
- 이전과 똑같이 작동.
느낀 점
점점 벅차기 시작한다. 배울 때는 쉽게 이해가 되는데 블루프린트를 직접 짜기가 쉽지않다. 커스텀 이벤트는 정말 유용해보인다.
'언리얼엔진' 카테고리의 다른 글
[언리얼 엔진4] 8. 시퀀서(Sequencer) (0) | 2021.10.13 |
---|---|
[언리얼 엔진4] 7. 인공지능(Ai) 구현하기, 배열(Array) (0) | 2021.10.06 |
[언리얼 엔진4] 5. Material, Texture, Add, Multiply, LI (0) | 2021.09.26 |
[언리얼 엔진4] 4. 시한폭탄 만들기, Variable (0) | 2021.09.15 |
[언리얼 엔진4] 3. Blueprint, Class, 고장난 전등 만들기 (0) | 2021.09.15 |
댓글