내일배움캠프 24

2023/12/18 TIL

1. Built-in과 URP 마음에 드는 에셋을 발견하고 사용할려고 내 프로젝트에 집어넣었다. 하지만 마음에 드는 에셋을 꺼내고 보니 색이 마젠타 색으로 변해있었다. 문제를 해결해보려고 구글링을 해보았다. https://www.youtube.com/watch?v=5rG3yDZmSbc 음. 영상을 보니 내 유니티 버전은 2021이상 버전이기 때문에 Window -> Rendering -> Render Pipeline Converter를 사용하면 되겠군! 하면서 아무생각 없이 convert assets 버튼을 누른 나를 원망한다. 위 방법은 Built-in 버전의 에셋을 URP로 바꿔주는 방법이다. 따라서 URP에서 사용 가능한 에셋들은 이상이 없겠지만 내가 기존에 사용하고 있던 에셋들은 Built-in ..

TIL 2023.12.18

2023/12/06 TIL

내일이 프로젝트 발표일이기 때문에 쫒기듯 마무리를 했다. 우리 팀의 프로젝트는 벽돌깨기이다. 또한 벽돌깨기는 한 스테이지로 끝나는게 아니라 여러 스테이지로 진행된다. 따라서 씬이 넘어가도 중요한 정보들을 가지고 갈 오브젝트를 만들고자 했다. 그래서 GameManager를 싱글톤으로 만든 뒤, DontDestroyOnLoad를 넣어서 다음 씬까지 연결되도록 만들었다. using System.Collections; using System.Collections.Generic; using TMPro; using Unity.VisualScripting; using UnityEngine; using UnityEngine.UI; public class GameManager : MonoBehaviour { public..

TIL 2023.12.06

2023/12/04 TIL

저번 주 금요일에 진행했던 스탠다드반 특강을 요약해보았다. - 유니티 엔진 구조 들춰보기 - C# 복습 유니티의 강점? - 난해한 그래픽스에 대한 이해 없이도 누구나 게임을 만들 수있다. - 크로스 플랫폼에 대한 지원이 너무 쉬워진다. - GUI에서 승부볼 수 있는 부분이 많음. - 캐주얼, 인디게임에 있어서 주로 활용이 됨. - 유니티는 컴포지션(컴포넌트) 베이스. 유니티 구조 -우리의 작성 대상은 GameCode부분.(겉 껍질이라고 봐도 됨) -> 겉 껍질은 C#으로 되어있다. -> 내부는 C++ - 물리 시뮬레이션 등은 멀티 쓰레드로 구성 사실 GameCode는 C#이 아니여도 됨. 최근엔 파이썬도 지원되게 변경 Why? 작동원리: 고급언어-> Assembly->Mono(요즘엔 거의 안씀) 혹은 I..

TIL 2023.12.04

2023/12/01 TIL

오늘은 뱀파이어서바이벌에서 나왔던 기믹에서 영감을 받아 3개의 스킬 중 하나를 고르는.. 그런걸 만들어보고자 한다. 먼저 UI를 만들어 준다. 일단 3개의 버튼을 만들어 주고 각 버튼에 이미지, 스킬 레벨이 들어갈 텍스트를 붙여준다. 사실 여기서 계획과는 많이 어긋났던 것이 원래 계획은 여러가지 스킬 중 랜덤으로 3개가 나오는 것이였다. 그래서 구상을 좀 해보니 버튼에 나오는 이미지가 전부 바뀌어야 하고, 그거에 맞는 OnClick, 스킬 레벨 등등 바뀌어야 할게 너무 많았다. (사실 스킬 아이디어 짜내는게 더 힘들었다.) 그래서 우선은 3개의 스킬만 구현하고, 각각 버튼에 넣어줬다. 스킬에 맞는 이미지도 그려 넣어줬다. 그 다음엔 GameManager에 각 오브젝트를 불러왔다. 사실 GameManage..

TIL 2023.12.01

2023/11/30 TIL

지난 팀프로젝트에서 많이 겪었던 GIt Commit시 발생하는 오류들을 방지하기 위해 팀원들과 여러 약속들을 정하고 갔다. 화면비율은 벽돌게임 특성상 세로로 길어야 하기 때문에 phone(760*1280)으로 정했다. 개발환경 윈도우 11 2명 윈도우 10 3명 Unity 2022.3.2f1 visual studio 2022 scripts는 인코딩해서 저장해서 한글이 깨지지 않도록 저장. 깃 커밋 방법 https://velog.io/@chojs28/Git-%EC%BB%A4%EB%B0%8B-%EB%A9%94%EC%8B%9C%EC%A7%80-%EA%B7%9C%EC%B9%99 Git 커밋 메시지 규칙 제목과 본문을 빈 행으로 구분한다.제목은 50글자 이내로 제한한다.제목의 첫 글자는 대문자로 작성한다.제목 끝..

TIL 2023.11.30

2023/11/29 TIL

어제에 이어서 오늘 개인과제 마무리를 하고자 한다. 오전에 과제 제출 전까지 시간이 남기에, NPC와의 대화 로직을 만들어보고자 한다. 과제에서 요청했던 부분은 NPC 근처로 가면 대화 상호작용 키가 열리게끔만 하면 되어서, 생각보다 난이도가 높아 보이진 않았다. 1. 먼저 NPC에 Collider 2D를 달아놓고 istrigger 버튼을 켜놓아서 근처에 가면 trigger가 발동되도록 했다. 2. 원하는 범위만큼 Collider 2D 범위를 늘렸다. 3. 범위에 들어갈 때는 대화 UI가 켜지고( Void OnTriggerEnter(Collider c)), 범위에서 벗어나면 대화 UI가 꺼지도록 Void OnTriggerExit(Collider c) 코드를 작성했다. https://dnf-lover.ti..

TIL 2023.11.29

2023/11/28 TIL

오늘은 개인 프로젝트 마무리를 하고자 했다. 사실 다른건 어찌저찌 하드 코딩으로 해보았는데 캐릭터 선택으로 시작해서 카메라 고정까지의 과정이 제일 문제였다. 1. 캐릭터가 하나밖에 없었을 때. 사실 이때는 어려울것이 없었다. 수업때 만들었던 기반에다가 애니메이션만 추가하고 카메라는 만들었던 캐릭터 하위에 옮겨놓으면 알아서 고정되었기 때문이다. 문제는 캐릭터가 하나 둘 씩 늘어나면서이다. 2.1 캐릭터 추가. (prefabs) 캐릭터를 추가하고 나서 이 캐릭터들 선택 방법을 어떻게 해야할까 고민이 많았다. 그래서 구글링을 해보던 중 prefab을 이용한 방법을 찾았다. https://youtu.be/pRw_YzkZThc?si=lvnIseMUAcvRRbrj 이 방법은 캐릭터의 이동방식이 문제가 되었다. 먼저..

TIL 2023.11.28

2023/11/27 TIL (객체지향 / SOLID원칙)

개인 프로젝트는 캐릭터를 색깔 별로 만들어 보고자했다. 근데 이거 편하게 하는법이 없나? 그냥 그림판으로 이미지들 색 바꾸고, 배경 지우고.. 노가다가 따로 없다. AI에게 만들어 볼려고 해도 자꾸 비율을 망가트려서 포기.. 오늘은 객체지향 강의를 들었다. 튜터님이 한 말들을 간단히 옮겨 적어 보았다. 순차적 프로그래밍이란? 시간의 흐름대로, 순서대로 흘러가는 프로그래밍 구조. 절차적 프로그래밍 ex) C, Fotran, Basic 하나의 절차를 함수화 시킴.-> 재사용을 위해서 함수와 데이터를 따로 관리함. 데이터를 struct, 함수를 Precedure, 이 사이를 pointer로 이어줌. -> 단점: 대규모 프로그램을 못만들음. 객체지향 프로그래밍 Object - Oriented Programing..

TIL 2023.11.27

2023/11/22 TIL

오늘은 팀 과제 마무리 날이다. 팀과제 마무리를 위해 계속 디버깅하면서 놓친 부분이 있는지 확인했다. 계급 프로젝트 기간 중 나왔던 오류들과, 오류 수정 방법들을 간단히 말해보겠다. Rank(계급)을 구현 할 때, 초기 코드는 다음과 같았다. public class Rank { public int month; string rank { get; set; } public Rank(int initialMonth) { month = initialMonth; } public void IncreaseMonth() { month++; } public string SetRank() { if (month >= 1 && month = 3 && month = 9 && month = 15 && month = 1 && mont..

TIL 2023.11.22

2023/11/21 TIL

오늘도 알고리즘 문제 중에서 한가지를 가져와봤다. 문제 설명 두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요. 예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다. 제한 조건 a와 b가 같은 경우는 둘 중 아무 수나 리턴하세요. a와 b는 -10,000,000 이상 10,000,000 이하인 정수입니다. a와 b의 대소관계는 정해져있지 않습니다 처음 생각했던 방법은 다음과 같다. public class Solution { public long solution(int a, int b) { long answer = 0; int count = b - a + 1; answer = (long)(a + b)..

TIL 2023.11.21