2D게임 9

[Unity/TIL] 개인 2DMetaverse 개발 일지 (2) | Supermarket2D 프로젝트

Metaverse Supermarket2D 프로젝트육성 시뮬레이션 느낌을 내고 싶었던 나의 메타버스 프로젝트.애정이 많이 가던 2D 메타버스 개인 과제가 끝이 났다..!! 내가 좋아하는 컨셉으로 만들 생각에 에셋 찾는 과정에서부터 너무 재미있었다. 처음에 타일맵을 완성하고서 내가 벌써 2D 게임을 만들 수 있겠다는 생각에 잠시 으쓱했는데, 만들면서 아직 부족함이 많다는 것도 잘 느껴졌다. 튜터님께 질문드렸으니 피드백 기다려야지... 깃허브 리드미에 움짤과 함께 기능 개요를 올릴 것이니 블로그에는 자유로운 트러블슈팅 위주로 적겠다!!! https://github.com/yndoo/Metaverse_Supermarket2D GitHub - yndoo/Metaverse_Supermarket2DContribut..

[Unity/TIL] 개인 2DMetaverse 개발 일지 (1)

복잡한 애니메이션 조건 분류 : Sub-State Machine, Blend Tree 사용해서 해결캐릭터 애니메이션을 Idle, Move 각각 네 방향으로 구현하려니 애니메이션 전환을 어떻게 해줘야 할지 고민이 됐다. 움직이고 있는지를 의미하는 IsMoving 파라미터와 방향을 의미하는 Direction(0~3) 파라미터로 구분해줬다. 점점 transition 화살표만 늘어나고... 생각처럼 잘 되지 않았다.모든 방향과 이동 상태가 전환이 서로 되도록 해결하려면 이게 다가 아니고 make transition을 모든 애니메이션간 이어줘야 한다. (;;;)코드 상에서 InputSystem에서부터 손 쓸 방법이 없을까 고민하게 되었다. 하지만 InputSystem 자체도 이해가 부족하니 생각하기 어려웠다.튜터..

[Unity/TIL] 2D TopDown Shooting 게임 제작

2D TopDown Shooting2D TopDown뷰의 간단한 Shooting 게임을 제작했다. 새롭게 배운 것들을 위주로 기록해보았다.게임 플레이 영상 코드 전체https://github.com/yndoo/TopDownProject 타일맵주요 구성 요소 : Tile, Tilemap, Grid 타일맵을 만들면서 Floor, BackDesign, ForeDesign, Collision 모두 따로 그려줬다. Layer에 차이가 있고, Collision은 콜리전 영역 자체가 되어야 하기 때문이다. 애니메이션 파라미터 가져오고 쓸 때 문자열로 비교하는 것보다 숫자로 비교하는 것이 좋으니까 StringToHash를 사용해서 숫자로 사용. 고유한 숫자로 변환해서 사용하는 것임. 아예 Animator에서 제공하는 ..

[Unity/TIL] 마우스 클릭&키 입력 받기, 빌드 3종류(PC, Android, Web), FlappyPlane 완성된 모습

마우스 클릭, 키 입력 받기Input.GetKeyDown : 키 입력Input.GetMouseButtonDown : 마우스 입력 및 모바일 터치 입력0 : 마우스 좌클릭, 모바일 터치1 : 마우스 우클릭2 : 마우스 휠3 : 마우스 뒤로 가기 버튼4 : 마우스 앞으로 가기 버튼if (Input.GetKeyDown(KeyCode.Space) || Input.GetMouseButtonDown(0)){ // 점프} 빌드 3종으로 해보기입문 단계에서 처음으로 완성한 게임 FlappyPlane의 PC, Android, Web 빌드를 진행했다. 각각 어떤 설정을 해줬는지 기록해보겠다. 일단 빌드 전 모듈 추가 해야 함. 모듈 추가하고서 유니티 재시작 한 번 해줘야 제대로 인식함! 전부 File > Build ..

[Unity/TIL] 유니티 개발 입문 (이미지 여러 개 있는 리소스 편집법, 라이프사이클, Rigidbody, GetComponent, Collision)

Sheet에 이미지 여러 개 있는 리소스 편집해서 사용하는 방법Sprite Mode : MultipleFilter Mode : Point (픽셀 그대로 유지)Apply 누르고 Sprite EditorSprite Editor 에서 슬라이스 후 ApplyFilter Mode의 Bilinear : 픽셀 사이를 부드럽게 보간, Trilinear : Bilinear + Mipmap 블렌딩 이라고 함 Unity 라이프사이클Unity에서 라이프사이클(Lifecycle)은 게임 오브젝트와 스크립트가 실행되는 순서를 정의한다.여기 짱 잘써져 있음! https://docs.unity3d.com/kr/2019.4/Manual/ExecutionOrder.html 이벤트 함수의 실행 순서 - Unity 매뉴얼Unity 스크립트..

[Unity] "르탄이 카드 뒤집기" 2D 게임 만들기 (1)

카드 뒤집기 게임 만들기게임 설명카드를 뒤집어 르탄이 이미지의 짝을 맞추는 게임이다. 플레이모습  학습 목표1. 보드 게임을 만들어보기2. 카드 뒤집기 게임을 만들면서, 총복습하기3. 게임에 필요한 "로직"을 경험하기 목차1. 기본 씬 구성하기2. 씬 추가 구성 - 카드 한 장과 시간 시스템3. 카드 만들기 - 배치하기4. 카드 만들기 - 이미지 랜덤 로직5. 카드 만들기 - 애니메이션과 뒤집기 6. 카드 만들기 - 판정 시스템7. 게임 끝내기  1. 기본 씬 구성하기이번에도 UnityPackage로 이미지, 폰트, 사운드 에셋을 임포트해뒀다. StartScene 만들기 StartScene을 만들고 Start 버튼 UI에 Button 컴포넌트를 추가한다. OnClick() 리스트에 LoadScene 코드..

[Unity] "고양이 밥주기" 2D 게임 만들기

고양이 밥주기 게임 게임 설명강아지의 생선가게에 자꾸 배고픈 고양이들이 와서 생선을 훔쳐간다고 한다. 강아지는 생선가게까지 오기 전에 밥을 줘서 생선을 지키기로 했다. 레벨이 오를수록 다양한 고양이가 찾아온다.달려오는 고양이에게 밥을 먹여 생선을 지키자!플레이 영상 학습 목표1. 그럴싸한 게임을 완성해보기2. HP바 만들기3. 레벨 시스템을 구상해보기  목차0. 기본 씬 구성하기1. 강아지 만들기 - 밥 쏘기2. 고양이 만들기 - 고양이와 배부른 고양이3. 고양이 만들기 - 중력, HP바4. 고양이 만들기 - 반복 생성5. 레벨 구성하기 - 레벨업 표시하기6. 게임 끝내기 - 끝내기 / 다시 시작  0. 기본 씬 구성하기UnityPackage로 에셋 Import미리 받아둔 UnityPackage를 에디터..

[Unity] "풍선을 지켜라" 2D 게임 만들기

라이즈 업!을 따라서 "풍선을 지켜라" 만들기https://play.google.com/store/apps/details?id=com.riseup.game&hl=ko 라이즈 업! 풍선을 보호하세요 - Google Play 앱풍선이 높이 올라갈 때 장애물로부터 보호하세요. 레벨 100에 도달하는 것은 1%만 가능합니다play.google.com 플레이 영상 학습 목표1. 유니티 기본 사용법 복습하기2. 유명 게임을 완성해보기3. 베스트 스코어 기록해보기 목차1. 풍선, 마우스 만들기 2. 장애물 만들기3. 시간 구현하기4. 게임 끝내기 (게임 종료 UI, 풍선 Die 애니메이션, 최고 점수, 다시하기) 1. 풍선, 마우스 만들기 풍선 만들기풍선이 터지면 끝나는 게임이기 때문에 풍선과 장애물이 부딪혔는지 체..

[Unity] "빗물받는 르탄이" 2D 게임 만들기

빗물받는 르탄이 만들기 학습 목표1. 유니티 다뤄보기2. C# 기본 문법 익히기3. 유니티 기본 사용법 익히기  목차1. 캐릭터 만들기2. 랜덤한 빗방울 구현하기3. 빗방울 반복 생성하기4. 점수 올라가게 하기5. 게임 끝내기 / 다시하기 1. 캐릭터 만들기2D Object > Sprites > Square 2D Sprite 오브젝트로 르탄이 캐릭터를 만들었다.이미지 두 개를 번갈아 재생하는 애니메이션도 만들어 넣어줬다.캐릭터 이동 구현르탄이는 계속 Vector3.right * direction 만큼씩 이동한다.일정 위치를 넘으면 이동 방향을 바꾼다. (화면 밖으로 넘어가는 것을 방지)마우스 좌클릭 시 이동 방향을 바꾼다. 렌더러의 flipX를 바꾸며 이미지를 뒤집어 방향이 바뀐 것을 표현한다. usin..