-
내일배움캠프 17일차 TIL - Pong 게임 구현TIL/Unity 2024. 5. 8. 21:04
[학습목표]
Unity 기초를 배우고 간단한 Pong 게임을 만들어본다.
[학습내용]
오늘부터 유니티 입문 주차가 시작되었다. 9시에 발제를 통해 개인 과제가 나눠졌고, 수준별 진행은 다음주부터 진행한다고 한다. 미니 프로젝트 때와는 별개이기 때문에 다시 기초부터 배우는 것으로 보인다. 오늘 시청한 강의에서는 간단한 Pong 게임을 구현했다. 어려운 내용이 아니었기 때문에 낯선 기능을 위주로 정리했다.
학습
Rigidbody 2D 컴포넌트를 추가해주면 중력의 영향을 받게 된다. Gravity Scale을 0으로 설정해주면 중력의 영향을 없앨 수 있다.
지난 미니프로젝트 때에는 Rigidbody 2D 컴포넌트를 스크립트 변수에 직접 넣었던 기억은 없었던 거 같다. 그래서 이번에 넣어보면서 어색함을 느꼈다. 그런데 생각해보면 못 넣을 이유도 없긴 하다. 컴포넌트니까. 역시 경험을 해봐야 새로운 활용법을 익히는 데 도움이 되는 거 같다.
using System.Collections; using System.Collections.Generic; using UnityEngine; public class Ball : MonoBehaviour { public float speed; public Rigidbody2D rigidbody; void Start() { rigidbody = GetComponent<Rigidbody2D>(); Launch(); } private void Launch() { float x = Random.Range(0, 2) == 0 ? -1 : 1; float y = Random.Range(0, 2) == 0 ? -1 : 1; rigidbody.velocity = new Vector2(x* speed, y* speed); } public void Reset() { rigidbody.velocity = Vector2.zero; transform.position = Vector2.zero; Launch(); } }
이게 ball 스크립트 안에 들어있는 코드다. 신기한 게 float x와 y에 랜덤값을 넣어주는 부분인데, 나라면 다르게 했을 거 같아서 눈길이 갔다. 0과 1을 -1과 1로 바꿔주는 작업인데, 나라면 곱하기를 이용해서 구현했을 거 같다. 이런 방법도 있구나 새롭게 알게 되었다.
이건 골대의 Box Collider 2D 컴포넌트다. 물리적으로 충돌은 일어나지 않지만 충돌 시 이벤트를 발생하게 하고 싶을 땐 Is Trigger를 체크해주면 된다고 한다.
이 외에 딱히 새롭거나 눈길이 가는 점은 없었던 거 같다.
[결과물]
[회고]
오늘은 살짝 쉬어가는 느낌이었다. 다음주 개인과제 제출을 생각하면 내일부터는 강의 시청 속도를 좀 끌어올릴 필요가 있을 거 같다.
'TIL > Unity' 카테고리의 다른 글
내일배움캠프 19일차 TIL - 2D게임 기초 개발 입문 2 (0) 2024.05.10 내일배움캠프 18일차 TIL - 2D게임 기초 개발 입문 1 (0) 2024.05.09 내일배움캠프 5일차 TIL - 프로젝트 발표, KPT 회고 (1) 2024.04.19 내일배움캠프 4일차 TIL - GitHub 특강, 프로젝트 완성 (1) 2024.04.18 내일배움캠프 2일차 TIL - 프로젝트 합병, GitHub (0) 2024.04.16