Priv's Blog
Programming Basics: Unit 1 - Player Control) Lesson 1.2 - Pedal to the Metal 본문
Programming Basics: Unit 1 - Player Control) Lesson 1.2 - Pedal to the Metal
Priv 2021. 1. 28. 22:28출처
1. 서언
(영상: 링크 참조)
2. 여러분의 첫 번째 스크립트 작성 및 적용
차량의 움직임을 제어하기 위한 여러분의 첫 C# 스크립트를 제작함으로써 이번 강의를 시작하겠습니다.
(영상: 링크 참조)
-
Project 창에서, 마우스 우-클릭 > Create > Folder로 가셔서 폴더 이름을 "Scripts"로 설정해주세요.
-
"Scripts" 폴더 내에서 마우스 우-클릭 > Create > C# Script을 클릭하시고 이름을 "PlayerController"로 설정해주세요.
-
새로 생성한 스크립트 파일을 Vehicle 오브젝트로 드래그해주세요. Vehicle 오브젝트를 클릭하셔서 Inspector 창에 Component가 제대로 추가되었는지 확인해주세요.
3. Update() 메서드에 주석 추가하기
차량을 앞으로 움직이게 만들기 위해서는 먼저 여러분이 새로 만든 스크립트 파일을 열고 개발 환경에 익숙해지셔야 합니다.
(영상: 링크 참조)
-
스크립트 파일을 더블-클릭하여 Visual Studio에서 열어주세요.
-
Update() 메서드 내에서 다음과 같이 주석을 작성해주세요.
// Move the vehicle forward
void Update()
{
// Move the vehicle forward
}
4. 차량을 앞으로 움직이게 만들기
이제 여러분이 무엇을 프로그래밍할 것인지를 말해주는 주석이 생겼습니다. - 이제 실제로 차량이 앞으로 움직일 수 있도록 만드는 코드를 작성해야 합니다.
(영상: 링크 참조)
-
새 주석 아래줄에 trasform.tr을 입력하시고, 자동 완성 메뉴에서 Translate를 선택해주세요.
-
( 를 입력하시고, 0, 0, 1을 소괄호 사이에 추가, 문장 끝에 세미콜론(;)을 입력해주세요.
-
Ctrl/Cmd + S를 눌러 스크립트를 저장하시고, 게임을 실행해 테스트해보세요.
void Update()
{
// Move the vehicle forward
transform.Translate(0, 0, 1);
}
5. Vector3을 사용해 앞으로 움직이기
이제 여러분은 차량을 Z 축으로 나아가도록 프로그래밍하셨지만, 지금보다 코드를 좀 더 깔끔하게 만들 수 있는 방법이 있습니다.
(영상: 링크 참조)
- 입력했던 0, 0, 1 부분을 삭제하시고, 자동-완성 기능을 이용해 Vector3.forward로 대체해주세요.
void Update()
{
// Move the vehicle forward
transform.Translate(Vector3.forward);
}
6. 차량의 속도 커스터마이즈 하기
지금 상태를 보면, 차량의 속도가 제어할 수 없는 수준입니다! 코드를 수정하여 해당 문제를 해결해야 합니다.
(영상: 링크 참조)
-
* Time.deltaTime를 추가하고 게임을 실행해보세요.
-
* 20을 추가하고 게임을 실행해보세요.
7. 오브젝트들에 RigidBody 컴포넌트 추가하기
이제는 차량이 곧바로 박스를 뚫고 지나가버립니다! 게임을 좀 더 현실적으로 만들기 위해서는 물리를 추가해주어야 합니다.
(영상: 링크 참조)
-
Vehicle을 선택하시고, hierarchy 창에서 Add Component를 클릭, RigidBody를 선택해주세요.
-
Obstacle을 선택하시고, hierarchy 창에서 Add Component를 클릭, RigidBody를 선택해주세요.
-
RigidBody 컴포넌트 속성에서 차량(Vehicle)과 장애물(Obstacle)의 질량(mess) 값을 킬로그램 단위로 높이시고 다시 테스트해주세요.
8. 장애물 복제 및 배치하기
마지막으로 중요한 것은, 장애물을 복제하고 도로에 함정들을 더 깔아서 좀 더 위험하게 만들어야 합니다.
(영상: 링크 참조)
-
여러분의 장애물을 클릭하신 후 hierarchy 내의 리스트 하단으로 드래그해주세요.
-
Ctrl/Cmd+D를 누르셔서 장애물을 복제하시고 Z 축을 아래로 움직여주세요.
-
2번 단계를 몇 번 반복하셔서 장애물들을 몇 개 더 만들어주세요.
-
장애물 몇 개를 복제하셨다면, hierarchy 창 내의 항목 하나를 선택, ctrl 홀드 + 클릭으로 장애물 여러 개를 선택하시고 이를 복제해주세요.
9. 내용 복습
(영상: 링크 참조)
- 새로 배운 기능들
-
차량이 일정한 속도로 도로를 따라 움직이게 만들기
-
차량이 장애물들과 부딪혔을 때, 장애물이 날아가도록 만들기
- 새로 배운 개념과 기술들
-
C# 스크립트
-
Start 메서드 vs Udate 메서드
-
주석
-
메서드
-
매개변수 전달
-
Time.deltaTime
-
곱셈(*) 연산자
-
컴포넌트
-
Collider와 RigidBody
- 다음 시간에 학습할 내용
-
카메라에 약간의 코드를 첨부하여 플레이어가 차량을 운전할 때 이를 따라가도록 만들어보겠습니다.