Delivery Driver - 1 (9-15강)

2025. 8. 12. 19:35·유데미/C# Unity 2D

자동차를 이용해 택배를 옮기는 게임을 만들 것이다

처음 만드는 게임이라 모든 것이 낯설지만 새로운 도전이라 마음이 두근대기도 한다

 

1. Rotate, Translate, 변수, SerializeField

  • 오브젝트 회전: Rotate (transform.Rotate(x,y,z))
  • 오브젝트 이동: Translate (transform.Translate(x,y,z))
  • 변수: int, float(대부분 뒤에 f를 추가), string 등
  • 직렬화(SerializeField)  Inspector에 보이게끔 추가, []을 사용해 변수명 앞에 붙이면 된다

 

2. Rotate는 왜 Z축을 기준으로 하는가?

transform.Rotate(0,0,-steerAmount);

회전은 특이하게 Z축을 기준으로 하던데

2D 게임에서는 Z축 회전이 화면상 "왼쪽/오른쪽으로 도는 것"처럼 보인다고 한다

Z축은 흔히 3D에서 쓰기 때문에 Z축이 움직인다는 생각은 해보지 않았는데

E버튼을 눌러 직접 돌려보면 놀랍게도 Z축이 변한다...

W를 눌러 왼쪽, 오른쪽, 위, 아래도 움직여봤는데

좌우는 X의 값이, 상하는 Y의 값이 변하였다

쉽게 생각해서

X : 좌우

Y : 상하

Z : 회전 이라고 생각하면 될 것 같다

 

그렇다면 3D에서는 어떨까?

X: 앞뒤로 고개를 끄덕임

Y: 좌우로 고개를 흔듦

Z: 물체가 돌음

 

우리의 신 지피티니(ChatGPT)에게도 물어봤는데, XY 평면 위에서 작업하기 때문이라는 답변이 나왔다

📌 3. 2D에서 Z축을 돌리는 이유

Unity의 2D 모드는 사실 XY 평면 위에서 작업합니다.
  • X → 왼/오른
  • Y → 위/아래
  • Z → 화면 안/밖
이때 화면 안/밖 방향(Z축)을 중심으로 회전해야, 우리가 2D에서 보는 “평면 도는” 움직임이 나와요.
즉:
  • Rotate(0, 0, 값) → 화면을 바라보는 시점에서 시계방향/반시계방향 회전
  • Rotate(x, y, 0) → XY 평면에서 벗어나 3D로 기울어짐 → 2D 게임에선 어색해짐

🔍 비유

종이 한 장(XY 평면)에 그림이 있다고 상상해보면,
그 종이를 좌우/상하로 움직이는 건 X, Y축 이동이고,
그 종이를 제자리에서 돌리는 건 Z축 회전입니다.

일단 너무 어려워서 후에 추가하도록 하겠다.

 

3. 카메라 비율 바꾸는 방법

그리고 전부터 생겼던 문제가 더 커져서 고치는 방법도 기재하도록 하겠다

 

대절망의 시대

바로 카메라의 비율이 '세로'로 되어있다는 것이다

예제를 보면 계속 가로인 채로 수정을 하셔서 Game 메뉴에서 잘 보이는데

내 프로젝트는 계속 세로인 채로여서 수정을 거쳤더니 이런 대절망의 시대가 찾아왔다 비율이 이상하다못해

컨트롤제트로도 되돌릴 수 없게 된 것이다

여기저기 도움을 요청했지만 안돼서 AI에게 부탁했더니 해결이 됐다

 

방법은 Game 뷰에서 Free Aspect를 16:9로 바꾸는 것이다

가로 화면이 됐다

 

 

4. Input.GetAxis() 을 사용한 인풋 시스템

인풋 시스템: 버튼이나 키보드 입력을 정보로 바꾸는 것

유니티는 old 시스템과 new 시스템 2가지로 인풋 시스템이 나뉜다

 

old 시스템의 단점은 명칭을 완벽하게 알아야한다는 것 (string 참조를 걸어야한다)

axes (axis의 복수)는 -1에서 1까지 조정가능하다

 

Update() 안에 쓰느냐 마느냐는 '프레임에 따라 바꿀 필요가 있나?' 에 따라 결정된다

예를 들어 단순 변수 값인 steerSpeed는 메소드 밖에 쓰지만

steerAmount같은 경우처럼 계속 바뀌는 값이여야 한다면 메소드 안에 써준다

 

 

'유데미 > C# Unity 2D' 카테고리의 다른 글

Snow Boarder - 3 (42강-완)  (0) 2025.09.25
Snow Boarder - 2 (35-41강)  (1) 2025.08.31
Snow Boarder - 1 (29-34강)  (0) 2025.08.22
Delivery Driver - 3 (21-강의 완)  (3) 2025.08.20
Delivery Driver - 2 (16-20강)  (2) 2025.08.16
'유데미/C# Unity 2D' 카테고리의 다른 글
  • Snow Boarder - 2 (35-41강)
  • Snow Boarder - 1 (29-34강)
  • Delivery Driver - 3 (21-강의 완)
  • Delivery Driver - 2 (16-20강)
피까츄
피까츄
프로그래밍 마스터가 될테야
  • 피까츄
    프로그래밍 마스터
    피까츄
  • 전체
    오늘
    어제
    • 분류 전체보기 (87)
      • 컴퓨터가 이상해요 모음집 (5)
      • 프로그래밍 (0)
      • 회고 (1)
      • 1학년 (21)
        • 명품 HTML+CSS+JS (10)
        • 쉽게 배우는 C언어 Express (2)
        • R언어 (9)
      • 2학년 (3)
        • C언어로 쉽게 풀어쓴 자료구조 (1)
        • 프로그래밍 언어론 (2)
      • 개인공부 (25)
        • 백준 (17)
        • 코드트리 JS (7)
        • 코테 공부 (1)
      • 챌린지 (1)
        • Do it C++ 코테 6주 챌린지 (1)
      • 교재 (14)
        • 이것이 C++이다 (3)
        • 이것이 JAVA다 (0)
        • 혼자 공부하는 컴퓨터구조 + 운영체제 (1)
        • 혼자 공부하는 데이터통신 (0)
        • 코어 자바스크립트 (8)
        • OpenGL로 배우는 3차원 컴퓨터 그래픽스 (2)
      • 유데미 (11)
        • 100일 코딩 챌린지 (3)
        • C# Unity 2D (8)
      • 기타 (0)
        • 24주 게임 프로그래밍 챌린지 (5)
  • 블로그 메뉴

    • 방명록
    • 그림블로그
    • 3D 블로그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    js #자바스크립트_기초
    윈도우 기능 켜기
    복습
    우분투java
    0x80370102오류코드
    프로그래밍언어론
    우분투 설치 오류
    the package javax.swing is not accessible
    가상현실 설정
    우분투C
    vscode자동완성
    작업표시줄클릭안됨
    HTML5+CSS3+Javascript 웹 프로그래밍 #연습문제 #이론문제 #실습문제 #풀이 #정답
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
피까츄
Delivery Driver - 1 (9-15강)
상단으로

티스토리툴바