전체 글 108

Geometry Dash [#0] - 게임분석

1. 게임 소개 GeoMetry Dash 장르 : 플랫폼 게임, 음악 비디오 게임 스테이지 마다 고유한 bgm이 존재하고 이를 기반으로 스테이지가 진행됨 특이사항: 리듬게임아님 2. 만들게 된 계기 예전에 재밌게 했던 게임이라서 타 러닝게임과 차별화 되는 점 (음악)이 있어서 만들고 싶었다. 3. 시스템 분석 게임 시작화면 1. 시간마다 배경화면 색 변경됨 2. 일정 간격으로 캐릭터 지나감 3. 스테이지 선택 창으로 이동할때 페이드 아웃 4. 배경 스크롤링 적용됨 1. 캐릭터가 오른쪽 방향으로 자동으로 이동함 2. 장애물과 닿으면 파괴되고 다시 처음으로 돌아감 (네모의 옆면에 닿아도 파괴) 3. 게임 초반부에 도전 횟수 표시 4. 바닥과 닿아 있을때 파티클 생성 5. 장애물과 닿아서 파괴될때 파티클 생성..

2D 콘텐츠 제작 2023.09.07

렌더링 파이프라인

렌더링이란 무엇일까? 위키백과에는 다음과 같이 설명되있다. 렌더링 또는 이미지 합성(rendering 또는 image synthesis)은 컴퓨터 프로그램을 사용하여 모델 또는 이들을 모아놓은 장면인 씬 파일(scene file)로부터 영상을 만들어내는 과정을 말한다. 하나의 씬 파일에는 정확히 정의된 언어나 자료 구조로 이루어진 개체들이 있으며, 여기에는 가상의 장면(씬)을 표현하는 도형의 배열, 시점, 텍스처 매핑, 조명, 셰이딩 정보가 포함될 수 있다. 씬 파일에 포함된 자료들은 렌더링 프로그램에서 처리되어 결과물로서 디지털 이미지, 래스터 그래픽스 이미지 파일을 만들어낸다. https://ko.wikipedia.org/wiki/%EB%A0%8C%EB%8D%94%EB%A7%81 렌더링 - 위키백과,..

개인 공부 2023.09.06

[UI] 로그인 창 만들기

인게임화면을 클릭했을때 프리펩화한 로그인창을 UIManager로 동적으로 불러온 다음 활성화 상태에서 버튼을 클릭했을 경우 텍스트를 출력하고 파괴하도록 하였다. using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class Test02UIManager : MonoBehaviour { [SerializeField] private Test02InputField inputField; [SerializeField] private Button home; // Start is called before the first frame update void Start() { this..

유니티 심화 2023.09.05

[UI] 슬롯에서 영웅 생성하기 + 데이터 연동

UI슬롯에 버튼을 할당하여 UI슬롯을 클릭하면 영웅을 생성하도록 스크립트를 작성했다. 이때 UI슬롯에 for문을 돌려서 이벤트를 할당하는 식으로 코드를 짰는데 에러가 나서 검색해본 결과 클로저 문제인걸 알게됐다. 지역변수를 추가로 선언해서 문제를 해결했다. 클로저에 대해선 추가로 공부가 필요할 것 같다. using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using System.IO; using UnityEngine.U2D; using Newtonsoft.Json; public class App : MonoBehaviour { //프리펩이 저장될 변수 private List p..

유니티 심화 2023.09.01

(수정중) 유니티 New Input System 사용하여 이동 구현

Send Messages를 통한 구현 Send Messages는 Player Input에 삽입한 액션을 SendMessage함수로 호출한다. 이때 Sendmessage로 호출되는 함수는 On + Action Name으로 지어야 한다. 이동기능의 액션이름을 Move로 정의했기 때문에 OnMove로 값을 전달받는다. using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.InputSystem; public class Player : MonoBehaviour { [SerializeField] private float moveSpeed = 8f; [SerializeField] private fl..

유니티 심화 2023.09.01

유니티 new Input System으로 조이스틱 사용하기

기존의 구 인풋시스템을 사용할때는 플레이어에 조이스틱 변수를 할당하고 Input을 통해 사용했기에 뉴인풋시스템에서도 비슷하게 시도해보려고 했으나 잘 되지 않았다. 다음과 같이 조이스틱의 핸들에 On-Screen Stick 스크립트를 사용함으로서 값을 정상적으로 전달 받을 수 있었다. 조이스틱을 움직였을때 값이 정상적으로 전달되는 모습 참고 영상 https://youtu.be/VR5y5E-WaUU?si=JyJSbli7l5FzdtBy

유니티 심화 2023.08.31

상속(Inheritance)

현재 진행하는 프로젝트에서 상속에 대한 이해가 부족한 것 같아서 상속을 공부하기로 함 상속(Inheritance) : 유산이나 지위를 물려 받다 C#에서도 마찬가지로 이러한 클래스 간에 메서드 속성 등을 상속 받는 것이 가능함 class ParentClass { public int MyField { get; set; } public void MyMethod() { Console.WriteLine("Method from ParentClass"); } } class ChildClass : ParentClass { public void AnotherMethod() { base.MyMethod(); // 부모 클래스의 MyMethod 호출 Console.WriteLine("Method from ChildClas..

개인 공부 2023.08.31