Priv's Blog

Programming Simple Functionality: Unit 4 - Gameplay Machanics) Lesson 4.1 - Watch Where You're Going 본문

Unity Learn/Pathway: Junior Programmer

Programming Simple Functionality: Unit 4 - Gameplay Machanics) Lesson 4.1 - Watch Where You're Going

Priv 2021. 7. 24. 18:10

출처

 

Lesson 4.1 - Watch Where You’re Going - Unity Learn

Overview: First things first, we will create a new prototype and download the starter files! You’ll notice a beautiful island, sky, and particle effect... all of which can be customized! Next you will allow the player to rotate the camera around the isla

learn.unity.com


 

 

1. 서언


(영상: 링크 참조)

 

Lesson 4.1 - Watch Where You’re Going - Unity Learn

Overview: First things first, we will create a new prototype and download the starter files! You’ll notice a beautiful island, sky, and particle effect... all of which can be customized! Next you will allow the player to rotate the camera around the isla

learn.unity.com


 


 

2. 프로젝트 생성 및 scene 열기

이전에 하셨던 것처럼, 이번에도 반복입니다... 새로운 프로젝트를 시작하고 스타터 파일을 가져와야 합니다.

 


(영상: 링크 참조)

 

Lesson 4.1 - Watch Where You’re Going - Unity Learn

Overview: First things first, we will create a new prototype and download the starter files! You’ll notice a beautiful island, sky, and particle effect... all of which can be customized! Next you will allow the player to rotate the camera around the isla

learn.unity.com


 

  1. Unity Hub를 열고 "Prototype 4" 프로젝트를 여러분의 corse 폴더 내에 새로 생성해주세요.
  2. 링크를 클릭하셔서 Prototype 4 스타터 파일에 접근하시고, 파일을 다운로드하셔서 유니티에 import 해주세요.
  3. Prototype 4 scene을 여시고 Sample Scene를 저장 없이 삭제해주세요.
  4. Run 버튼을 눌러 파티클 이팩트를 확인해주세요.

 


 

3. 플레이어 설정 및 텍스처 추가

게임이 진행될 섬이 있으니, 이제 플레이거가 조작하고 굴릴 수 있는 구체가 필요합니다.

 


(영상: 링크 참조)

 

Lesson 4.1 - Watch Where You’re Going - Unity Learn

Overview: First things first, we will create a new prototype and download the starter files! You’ll notice a beautiful island, sky, and particle effect... all of which can be customized! Next you will allow the player to rotate the camera around the isla

learn.unity.com


 

  1. Hierarchy 안에서, 3D Object > Sphere를 생성해주세요.
  2. 오브젝트의 이름을 "Player"로 바꿔주시고, position 값을 초기화, XYZ scale 값을 1.5로 늘려주세요.
  3. Player 오브젝트에 RigidBody 컴포넌트를 추가해주세요.
  4. Library > Textures에서 텍스처sphere로 드래그해주세요.

 


 

4. 카메라 초점 포인트(focal point) 생성하기

카메라가 게임 주변을 부드럽고 영화 같은 방식으로 회전하도록 만들고 싶으시다면, 섬의 중앙에 초점 포인트(focal point)를 심어주어야 합니다.

 


(영상: 링크 참조)

 

Lesson 4.1 - Watch Where You’re Going - Unity Learn

Overview: First things first, we will create a new prototype and download the starter files! You’ll notice a beautiful island, sky, and particle effect... all of which can be customized! Next you will allow the player to rotate the camera around the isla

learn.unity.com


 

  1. 새로운 빈 오브젝트를 생성하시고, 오브젝트 이름을 "Focal Point"로 바꿔주세요.
  2. 오브젝트의 position 값을 기본값인 (0, 0, 0)으로 초기화해주시고, Camera 오브젝트를 자식 오브젝트로 만들어주세요.
  3. 새로운 "Scripts" 폴더를 생성하시고, 폴더 안에 "RotateCamera"라는 스크립트를 새로 생성해주세요.
  4. Focal Point에 "RotateCamera" 스크립트를 부착해주세요.

 


 

5. 사용자 입력을 이용해 초점 포인트 회전시키기

이제 카메라가 초점 포인트에 부착되었으므로, 플레이어가 카메라와 카메라의 자식 오브젝트를 수평 입력을 사용해 섬 주변을 회전할 수 있도록 만들어야 합니다.

 


(영상: 링크 참조)

 

Lesson 4.1 - Watch Where You’re Going - Unity Learn

Overview: First things first, we will create a new prototype and download the starter files! You’ll notice a beautiful island, sky, and particle effect... all of which can be customized! Next you will allow the player to rotate the camera around the isla

learn.unity.com


 

  1. rotationSpeedhorizontalInput을 기반으로 카메라를 회전시킬 수 있도록 코드를 작성해주세요.
  2. rotation speed 값을 조정하여 여러분이 원하는 속도를 설정해주세요.

 

 


 

6. 플레이어에게 전방으로 힘 가하기

카메라가 섬 주변을 문제없이 회전하고 있으므로, 이제 플레이어를 움직여볼 차례입니다.

 


(영상: 링크 참조)

 

Lesson 4.1 - Watch Where You’re Going - Unity Learn

Overview: First things first, we will create a new prototype and download the starter files! You’ll notice a beautiful island, sky, and particle effect... all of which can be customized! Next you will allow the player to rotate the camera around the isla

learn.unity.com


 

  1. "PlayerController" 스크립트를 새로 생성하고, Player 오브젝트에 적용하신 뒤, 파일을 열어주세요.
  2. 새로운 변수 public float speed를 선언하시고 초기화해주세요.
  3. private Rigidbody playerRb를 새로 선언하시고, Start() 안에서 초기화해주세요.
  4. Update() 안에서, "Vertical" 입력값을 기반으로 하는 새로운 forwardInput 변수를 선언해주세요.
  5. AddForce() 메서드를 선언하여 플레이어가 forwardInput을 기반으로 앞으로 움직일 수 있게 만들어주세요.

 

 


 

7. 초점 방향으로 움직이기

이제 공이 굴러가도록 만들었지만, 앞, 뒤로만 움직일 수 있습니다! 카메라의 방향(과 초점 포인트)이 향하는 방향으로 공이 움직일 수 있어야 합니다.

 


(영상: 링크 참조)

 

Lesson 4.1 - Watch Where You’re Going - Unity Learn

Overview: First things first, we will create a new prototype and download the starter files! You’ll notice a beautiful island, sky, and particle effect... all of which can be customized! Next you will allow the player to rotate the camera around the isla

learn.unity.com


 

  1. 새로운 변수, private GameObject focalPoint;를 선언하시고, Start() 안에서 다음과 같이 초기화해주세요: focalPoint = GameObject.Find("Focal Point");
  2. AddForce를 호출하는 곳에서, Vector3.forwardfocalPoint.transform.forward로 바꿔주세요.

 

 


 

8. 내용 복습


(영상: 링크 참조)

 

Lesson 4.1 - Watch Where You’re Going - Unity Learn

Overview: First things first, we will create a new prototype and download the starter files! You’ll notice a beautiful island, sky, and particle effect... all of which can be customized! Next you will allow the player to rotate the camera around the isla

learn.unity.com


 

- 새로 배운 기능들

  • 카메라가 수평(horizontal) 입력값을 바탕으로 섬 주위를 회전하도록 만들기
  • 플레이어가 수직(vertical) 입력값을 바탕으로 카메라 방향으로 굴러가게 만들기

 

- 새로 배운 개념과 기술들

  • 텍스처 랩 (Texture Wraps)
  • 자식 오브젝트로서의 카메라
  • 전역 vs 지역 좌표
  • 다른 오브젝트의 방향 가져오기

 

- 다음 시간에 학습할 내용들

  • 다음 시간에는, 게임 안에 플레이어들을 쫓는 적들을 만들어 플레이어에게 더 많은 도전 요소들을 추가해보겠습니다.

 


 


수고하셨습니다!


Comments