2D 콘텐츠 제작 11

팀 프로젝트 골드메탈 슈팅게임 [#2]

이번엔 팀원과 회의해서 나는 오브젝트풀링을 담당하고 나머지 팀원들 (1명 늘었다)는 보스 공격패턴과 아이템을 담당하기로 하였다. 먼저 풀링을 하기 전에 씬전환을 먼저 만들어주기로 했다. using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.SceneManagement;namespace Chaosmoney8{ public class AppMain : MonoBehaviour { private void Awake() { DontDestroyOnLoad(this.gameObject); } private void Sta..

2D 콘텐츠 제작 2023.10.16

팀 프로젝트 골드메탈 슈팅게임 [#1]

↑동료(1명)와 함께 svn을 사용하여 골드메탈님의 슈팅게임을 만들어 보기로 했다. 먼저 팀원과 R&D를 해서 어떤 걸 할지 정했다. 그리고 팀원은 애니메이션, 배경 스크롤링 등을 담당하였고 나는 캐릭터/적기의 이동, 총알생성, 충돌반응을 담당하였다. 먼저 플레이어의 공격과 이동은 코루틴으로 작성하였고 카메라 메인의 뷰포트 함수를 이용하여 플레이어가 화면밖으로 나가지 않도록 제한했다. 이 부분은 전에 써놓은 코드가 있어서 그렇게 오래 걸리지 않았다. using System.Collections; using System.Collections.Generic; using UnityEngine; namespace Chaosmoney8 { public class Player : MonoBehaviour { [Se..

2D 콘텐츠 제작 2023.10.13

Geometry Dash [#7] - 마지막 조정

스테이지를 만들고 나서 게임을 하다보니 우주선으로 변신하고 다시 큐브로 돌아오는 상황에서 카메라가 원래 위치로 돌아오지 않는다는 걸 깨달았다. 그래서 마지막 시간의 클리어 연출을 스킵하고 카메라 조정과 파티클을 붙이는데 시간을 써야 할 것 같다. 1. 파티클 먼저 저번에 다 하지못한 파티클을 수정해주었다. 처음엔 파티클을 캐릭터의 자식 오브젝트로 두고 필요할때 Play() 필요하지 않은 상황일때 Stop()함수를 이용해서 정지하는 식으로 해봤는데 캐릭터가 점프 할때 회전하면서 파티클도 같이 회전하는 문제가 발생했다. 그래서 파티클을 프리펩화 한다음 자식오브젝트에서 제거하고 캐릭터가 땅과 접촉 상태일때 파티클을 0.2초 동안 생성하는 식으로 바꾸었다. 그리고 파티클에 size over lifetime 컴포..

2D 콘텐츠 제작 2023.09.21

Geometry Dash [#8] - 프로젝트 결과

1. 영상  장애물과 닿을 경우 파괴되고 다시 처음으로 돌아감2. 계획  원래 계획  1일차 - 오전 / 오후게임소개 / 배경 스크롤링 2일차 - 오전 / 오후 씬전환 + 메인화면 UI / 캐릭터 컴포넌트 제작  3일차 - 오전 / 오후커스텀 에디터 만들기 / 인게임 바닥 만들고 bgm 넣기  4일차 - 오전 / 오후인게임 장애물 발판 설치 5일차 - 오전 / 오후재도전 만들기 / 우주선 변신 6일차 - 오전 / 오후게임정보저장 / 파티클 이펙트 붙이기 7일차 - 오전 / 오후클리어 연출 만들기 / 결과물 발표     수정된 계획  1일차(9/13) - 오전 / 오후게임소개 / 배경 스크롤링2일차(9/14) - 오전 / 오후 씬전환 + 메인화면 UI / 캐릭터 컴포넌트 제작 3일차(9/15) - 오전 /..

2D 콘텐츠 제작 2023.09.21

Geometry Dash [#6] - 스테이지 후반부 제작 / 파티클 붙이기

1. 스테이지 후반부 제작 스테이지 초반부와 우주선으로 변신하는 부분이 끝났으므로 이번엔 스테이지 후반부를 설계하겠다. 저번에 스테이지 초반부를 우주선 부분을 다 만들었다.. 라고 생각했는데 치명적인 실수를 하나 했다. 프레임 블록의 x사이즈가 조금 작게 설계되있었다. 다른 플랫포머 게임이면 그렇게 심각한 문제는 아니겠지만 지오메트리 대시는 bgm이 같이 나오는 게임이기 때문에 처음부터 다시 만들어야 할 것 같다. 그래서 커스텀 에디터를 만들어서 블록을 설치하기로 했다. 마우스로 특정 위치를 클릭한다음 그 좌표를 저장해서 Place Block을 누르면 그 좌표에 Block을 생성하는 커스텀 에디터를 만들었다. 좌표를 그대로 찍으면 불편하므로 Mathf.Round를 사용해서 (63, -1.6)좌표에 있는 ..

2D 콘텐츠 제작 2023.09.20

Geometry Dash [#5] - 시네머신 / 우주선 만들기

1. 시네머신 적용하기 원래 카메라 위치를 조정할때 position을 사용해서 변경했더니 원본의 부드럽게 따라가는 느낌이 구현이 안됐고 부드러운 느낌을 주기 위해 slerp 함수를 사용했더니 가로축 이동이 덜덜 떨려서 부자연스러워 보였다 이를 해결하기 위해서 시네머신을 활용하기로 했다. 시네머신은 간단하게 설명하면 가상 카메라 오브젝트를 만들어서 하나의 카메라에 여러 샷을 찍도록 지시하는 것이다. 한번 시네머신을 활용해서 카메라를 조정해보도록 하겠다. 패키지 매니저에서 시네머신을 다운받은 다음 메인 카메라에 시네머신브레인 컴포넌트를 부착해주었다. 그리고 버츄얼 카메라 2개를 생성하고 팔로우에 캐릭터를 설정한다음, 카메라의 오프셋을 조정해주었다. 그 후 유니티 시네머신 문서를 읽어보니 Body의 Trans..

2D 콘텐츠 제작 2023.09.19

Geometry Dash [#4] - 스테이지 장애물 발판 설치

1. 스테이지 제작 스테이지의 기본 구성요소의 제작이 다 끝났으므로 배치까지해서 스테이지를 만들어주기로 하였다. 지오메트리 대시는 일단 리듬게임은 아니지만 박자에 맞춰서 점프를 해야하는 리듬게임적인 요소가 있으므로 그걸 신경써서 장애물 배치를 해주었다. 딱 스테이지 중간정도까지 완성이 되었고 아무래도 리듬에 맞춰서 배치를 하다보니까 생각보다 꽤 많은 시간이 소요되었다. 일단 스테이지1까지는 완성하고 나중에 직접 에디터를 만들어서 사용하는게 더 효율적일것 같다. 그리고 예정에 없었지만 계획표에 카메라를 조정을 추가해야 할 것 같다. 이후 우주선으로 변하는 장면에서도 카메라 조정이 필요하기 때문에 본래 계획표에 있던 루프만들기를 미뤄두고 카메라를 먼저 손보겠다.

2D 콘텐츠 제작 2023.09.18

Geometry Dash [#3] - 스테이지 틀 만들기

1. 지면 & 백그라운드 제작 캐릭터 컴포넌트의 제작이 어느정도 끝났으니 스테이지를 만들기로했다. 지면이랑 장애물을 어떻게 만들지 고민했는데 지면은 그냥 스크롤링으로 하고 장애물만 부착하면 시간을 단축시킬 수 있을 것 같았다. 그래서 그라운드 스크롤링 게임오브젝트를 만들고 그라운드 스크롤 스크립트를 부착해서 일단 캐릭터와 지면 사이의 거리를 디버그로 찍어 보았다. using System.Collections; using System.Collections.Generic; using UnityEngine; public class GroundScrolling : MonoBehaviour { [SerializeField] private GameObject ch; [SerializeField] private Ga..

2D 콘텐츠 제작 2023.09.15

Geometry Dash [#2] - 씬전환 / 캐릭터

1. 씬전환 저번 포스트에서 배경 스크롤링과 컬러 시프트를 했었는데 이번 포스트에선 씬전환을 관리하는 App씬을 만들고 메인화면에서 게임시작 버튼을 누르면 인게임으로 이동할 수 있도록 만들어보겠다. 예전에 관련 프로젝트를 진행한 적이 있어서 비동기 방식을 이용해 씬 전환을 만들어 줬다. using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.SceneManagement; public class App : MonoBehaviour { // Start is called before the first frame update void Start() { DontDestroyOnLoad(this.g..

2D 콘텐츠 제작 2023.09.14

Geometry Dash [#1] - 게임시작화면 만들고 배경 스크롤링

인게임 시스템을 만들기에 앞서 가장 먼저 지오메트리의 시작화면을 만들기로 결정했다. 정지된 화면을 보고 임시로 화면을 구성해봤는데 나름 괜찮게 나와서 이정도면 거의 다 한 거 아닌가 싶었지만 생각보다 실제 움직이는 시작화면을 보고 나서 넣어야 할 요소들이 많다는 걸 깨달았다. 가장 눈에 띄는 것 3개는 일정 시간마다 출현해서 움직이는 캐릭터와 움직이는 배경 그리고 배경색 변화인데 캐릭터를 움직이는 건 나중에 스테이지를 설계하면서 같이 하는게 나을 것 같고 배경을 움직이는 건 시작화면에도 적용해야하고 스테이지에도 적용해야하기 때문에 가장 먼저 게임의 기본이 되는 배경 스크롤링과 색변화를 구현하기로 했다. 지오메트리 게임 시작화면의 배경 스크롤링의 특이점은 바닥 쪽 부분이 스크롤링 되는 속도가 뒷 부분 배경..

2D 콘텐츠 제작 2023.09.11