Priv's Blog
Programming Basics: Unit 1 - Player Control) Challenge 1 - Plane Programming 본문
Programming Basics: Unit 1 - Player Control) Challenge 1 - Plane Programming
Priv 2021. 2. 2. 23:03출처
1. 도전과제 소개
(영상: 링크 참조)
2. 도전과제 1 미리 보기
(영상: 링크 참조)
-
여러분의 Prototype 1 프로젝트를 열어주세요.
-
"Challenge 1 Starter Files"를 튜토리얼 자료 섹션에서 다운로드해주시고, 파일을 더블-클릭하여 Import 해주세요.
-
Project 창에서 > Assets > Challenge 1 > Instructions 폴더로 가셔서 "Challenge 1 - Instructions"와 가이드 영상을 참고해 도전과제를 완수하세요.
3. 주의사항
도전과제 파일을 여러분의 프로젝트에 임포트 하시면, 의도적으로 버그가 발생하도록 되어 있습니다.
도전과제의 목적은 여러분이 아래에 나열되어 있는 버그들을 수정하는 것이며, 작업을 진행하시다가 막혔을 경우에 참고하실 수 있는 힌트들이 페이지 하단에 준비되어 있습니다.
만약 버그를 수정할 수 없고 도전과제 파일을 여러분의 프로젝트에서 삭제하고 싶으시다면, Project 창에서 마우스 우-클릭, Assets > Challenge 1으로 가셔서 Delete를 선택하시면 됩니다.
행운을 빕니다!
4. 비행기가 뒤로 움직입니다.
-
비행기가 앞으로 갈 수 있도록 만들어주세요.
5. 비행기가 너무 빠르게 움직입니다.
-
비행기를 조종할 수 있을 만큼 속도를 낮춰주세요.
6. 비행기가 저절로 회전합니다.
-
플레이어가 위/아래 화살표 키를 눌렀을 때만 비행기가 회전하도록 만들어주세요.
7. 카메라가 비행기의 정면을 비추고 있습니다.
-
비행기의 측면을 비추도록 카메라의 위치를 조정해주세요.
8. 카메라가 비행기를 따라가지 않습니다.
-
카메라가 비행기를 따라가도록 만들어주세요.
9. 보너스: 비행기의 프로펠러가 돌지 않습니다.
-
비행기의 프로펠러를 돌리는 스크립트를 작성해주세요.
힌트
-
비행기가 뒤로 움직입니다.
힌트: Vector3.back은 오브젝트가 뒤로 움직이도록 만들고,
Vector3.forward는 오브젝트를 앞으로 움직이게 만듭니다. -
비행기가 너무 빠르게 움직입니다.힌트: 만약 여러분이 Time.deltaTime 값을 곱하셨다면, 1x/프레임에서 1x/초로 바뀌게 됩니다.
-
비행기가 저절로 회전합니다.힌트: PlaneController.cs에서 Update() 내에 있는 verticalInput 값은 할당되어 있지만, Rotate() 호출은 사용되지 않았습니다.
-
카메라가 비행기의 정면을 비추고 있습니다.힌트: 카메라의 위치는 X=30, Y=0, Z=10으로, 카메라의 회전은 X=0, Y=-90, Z=0으로 시도해보세요.
-
카메라가 비행기를 따라가지 않습니다.힌트: FollowPlane.cs 에서 비행기와 오프셋 변수 모두 값이 할당되어 있지 않습니다. - 카메라의 inspector 내에서 plane 변수를 할당하고 코드에서 오프셋 변수에 = new Vector3(30, 0, 10)을 할당해주세요.
-
보너스: 비행기의 프로펠러가 돌지 않습니다.힌트: plane 오브젝트의 자식 오브젝트인 "Propeller" 오브젝트가 있습니다. - 여러분은 "SpinPropellerX.cs"라는 이름의 새로운 스크립트를 생성하고 매 프레임마다 Z 축으로 해당 오브젝트가 회전하도록 만들어야 합니다.