Priv's Blog

Programming Simple Functionality: Unit 5 - User Interface) Lesson 5.1 - Clicky Mouse 본문

Unity Learn/Pathway: Junior Programmer

Programming Simple Functionality: Unit 5 - User Interface) Lesson 5.1 - Clicky Mouse

Priv 2021. 7. 24. 18:14

출처

 

Lesson 5.1 - Clicky Mouse - Unity Learn

Overview: It’s time for the final unit! We will start off by creating a new project and importing the starter files, then switching the game’s view to 2D. Next we will make a list of target objects for the player to click on: Three “good” objects a

learn.unity.com


 

 

1. 서언


(영상: 링크 참조)

 

Lesson 5.1 - Clicky Mouse - Unity Learn

Overview: It’s time for the final unit! We will start off by creating a new project and importing the starter files, then switching the game’s view to 2D. Next we will make a list of target objects for the player to click on: Three “good” objects a

learn.unity.com


 


 

2. 프로젝트 생성 및 2D 시점 전환

마지막으로 한 번 더... 새로운 프로젝트를 생성하고 작업을 시작하기 위해 스타터 파일을 다운로드해야 합니다.

 


(영상: 링크 참조)

 

Lesson 5.1 - Clicky Mouse - Unity Learn

Overview: It’s time for the final unit! We will start off by creating a new project and importing the starter files, then switching the game’s view to 2D. Next we will make a list of target objects for the player to click on: Three “good” objects a

learn.unity.com


 

1. Unity Hub를 실행하시고 "Prototype 5"를 여러분의 코스 디렉터리에 올바른 버전의 3D 프로젝트를 생성해주세요.

2. 링크를 클릭하여 Prototype 5 스타터 파일에 접근하신 뒤, 파일을 다운로드하신 뒤, 유니티에 임포트 해주세요.

3. Prototype 5 Scene을 여시고, sample scene은 저장하지 마시고 지워주세요.

4. Scene 뷰의 2D 아이콘을 클릭하셔서 Scene 뷰를 2D로 바꿔주세요.

5. (선택사항) background의 색상과 텍스쳐, borders의 색상을 변경해주세요.

 


 

3. 좋고 나쁜 타깃 생성하기

여러분의 게임에 가장 먼저 필요한 것은 여러분이 모아야 하는 3가지 종류의 좋은 오브젝트들과, 피해야 하는 1가지 종류의 나쁜 오브젝트입니다. 무엇이 좋은 오브젝트이고 나쁜 오브젝트가 될 것인지를 결정하는 것은 여러분의 몫입니다.

 


(영상: 링크 참조)

 

Lesson 5.1 - Clicky Mouse - Unity Learn

Overview: It’s time for the final unit! We will start off by creating a new project and importing the starter files, then switching the game’s view to 2D. Next we will make a list of target objects for the player to click on: Three “good” objects a

learn.unity.com


 

1. Library에서 "good" 오브젝트 3개와 "bad" 오브젝트 1개를 Scene으로 드래그하시고, 이름을 각각 "Good 1", "Good 2", "Good 3", "Bad 1"으로 바꿔주세요.

2. RigidBodyBox Collider 컴포넌트를 추가하시고, 주변의 오브젝트들이 제대로 충돌하는지 확인해주세요.

3. Scripts 폴더를 새로 만드시고, 폴더 안에 "Target.cs" 스크립트 파일을 생성하시고, Target 오브젝트에 스크립트 파일을 부착해주세요.

4. 4개의 모든 타깃 오브젝트들을 Prefabs 폴더 안으로 드래그하셔서 "original prefabs" 설정으로 프리팹을 생성, scene에 남아있는 오브젝트들을 삭제해주세요.

 


 

4. 오브젝트들을 무작위로 공중에 던지기

이제 동일한 스크립트를 사용하는 4개의 타깃 오브젝트를 생성했으므로, 이제 이 오브젝트들을 무작위 힘, 토크 및 위치로 공중으로 던져야 합니다.

 


(영상: 링크 참조)

 

Lesson 5.1 - Clicky Mouse - Unity Learn

Overview: It’s time for the final unit! We will start off by creating a new project and importing the starter files, then switching the game’s view to 2D. Next we will make a list of target objects for the player to click on: Three “good” objects a

learn.unity.com


 

1. Target.cs에서, private Rigidbody targetRB;를 새로 선언하고, Start() 안에서 할당해주세요.

2. Start()에서, 무작위 속도 값을 곱하여 위쪽 방향으로 힘을 가하도록 만들어주세요.

3. 무작위 xyz 값을 사용한 토크를 추가해주세요.

4. 무작위 X 값을 사용하여 위치를 설정해주세요.

 

 


 

5. 복잡한 코드를 새로운 메서드로 교체

무작위 힘, 토그, 위치 생성 코드가 Start() 함수를 지저분하고 가독성을 떨어뜨리게 만드는 것 대신, 새로 선언한 각각의 사용자 정의 메서드 안으로 코드를 옮겨 저장할 것입니다.

 


(영상: 링크 참조)

 

Lesson 5.1 - Clicky Mouse - Unity Learn

Overview: It’s time for the final unit! We will start off by creating a new project and importing the starter files, then switching the game’s view to 2D. Next we will make a list of target objects for the player to click on: Three “good” objects a

learn.unity.com


 

1. private float 형 변수, minSpeed, maxSpeed, maxTorque, xRange, ySpawnPos;를 선언 및 초기화해주세요.

2. Vector3 RandomForce() 함수를 새로 생성하시고, Start() 안에서 호출해주세요.

3. float RandomTorque() 함수를 새로 생성하시고, Start() 안에서 호출해주세요.

4. RandomSpawnPos() 함수를 새로 생성하시고, Start() 안에서 호출 및 새로운 Vector3 값을 반환하도록 만들어주세요.

 

 


 

6. 게임 매니저(Game Manager) 안에 오브젝트 리스트 생성하기

다음으로 해야 할 일은 생성될 오브젝트들의 리스트를 만드는 것입니다. 생성 기능을 위한 Spawn Manager를 사용하는 것 대신, 이후에 게임 상태를 제어할 Game Manager를 만들 것입니다.

 


(영상: 링크 참조)

 

Lesson 5.1 - Clicky Mouse - Unity Learn

Overview: It’s time for the final unit! We will start off by creating a new project and importing the starter files, then switching the game’s view to 2D. Next we will make a list of target objects for the player to click on: Three “good” objects a

learn.unity.com


 

1. "Game Manager"라는 이름의 빈 오브젝트를 새로 만드시고, GameManager.cs 스크립트 파일을 연결하신 뒤, 스크립트 파일을 열어주세요.

2. public List<GameObject> targets;를 새로 선언하신 뒤, Game Manager inspector 창에서 리스트의 크기를 4로 바꾸시고 여러분이 만드셨던 프리팹들을 할당해주세요.

 


 

7. 오브젝트 생성의 코루틴 제작하기

이제 오브젝트 프리팹의 리스트가 있으므로, 새로운 타입의 반복문과 코루틴을 사용하여 게임 내에 이들이 인스턴스화 되도록 만들어야 합니다.

 


(영상: 링크 참조)

 

Lesson 5.1 - Clicky Mouse - Unity Learn

Overview: It’s time for the final unit! We will start off by creating a new project and importing the starter files, then switching the game’s view to 2D. Next we will make a list of target objects for the player to click on: Three “good” objects a

learn.unity.com


 

1. private float spawnRate 변수를 새로 선언 및 할당해주세요.

2. IEnumerator SpawnTarget () 메서드를 새로 생성해주세요.

3. 새로 생성한 메서드의 while(true) 안에, 1초를 기다린 뒤, 무작위 인덱스 값을 생성하고, 무작위로 타깃을 생성하도록 코드를 작성해주세요.

4. Start() 안에서 StartCoroutine 메서드를 사용하여 오브젝트가 생성될 수 있도록 만들어주세요.

 

 


 

8. 클릭과 센서로 타깃 파괴하기

이제 여러분의 타깃들이 생성되고 공중에 던져지도록 만들었으므로, 플레이어가 타깃들을 클릭해 파괴할 수 있도록 만들 방법이 필요합니다. 또한 타깃들이 스크린 아래로 떨어지면 파괴되도록 만들어야 합니다.

 


(영상: 링크 참조)

 

Lesson 5.1 - Clicky Mouse - Unity Learn

Overview: It’s time for the final unit! We will start off by creating a new project and importing the starter files, then switching the game’s view to 2D. Next we will make a list of target objects for the player to click on: Three “good” objects a

learn.unity.com


 

1. Target.cs에서, private void OnMouseDown() {} 메서드를 새로 추가하고, 메서드 안에 gameObject를 파괴(Destroy)하는 코드를 작성해주세요.

2. private void OnTriggerEnter(Coillider other) 메서드를 새로 추가하고 해당 함수 안에 gameObject를 파괴하는 코드를 작성해주세요.

 

 


 

9. 내용 복습


(영상: 링크 참조)

 

Lesson 5.1 - Clicky Mouse - Unity Learn

Overview: It’s time for the final unit! We will start off by creating a new project and importing the starter files, then switching the game’s view to 2D. Next we will make a list of target objects for the player to click on: Three “good” objects a

learn.unity.com


 

새로 배운 기능들

- 무작위 오브젝트들을 간격에 맞춰 공중으로 던져지도록 만드는 법

- 오브젝트들에 무작위 속도, 위치, 토크를 적용하는 법

- 플레이어가 오브젝트를 클릭했을 때, 파괴되도록 만드는 법

 

새로 배운 개념과 기술들

- 2D 뷰

- AddTorque

- 게임 매니저

- 리스트

- While 반복문

- 마우스 이벤트

 

다음 시간에 학습할 내용

- 몇 가지 이펙트를 추가하고 점수를 측정할 수 있도록 만들어보겠습니다!

 

 

 


 


수고하셨습니다!


Comments