전체 글 408

Serializable 과 SerializeField

Serializable 구조체 안의 구조체나 클래스는 public 하여도 인스펙터에서 안보인다. 직렬화를 통해서 유니티 에디터에서 보이게 한다. SerializeField private 필드를 직렬화해서 유니티 에디터에서 보이게 한다. public을 하지 않고 유니티 에디터에서 사용해야할 때 사용한다. 예시 using System; public class MemberCheck : MonoBehaviour { [Serializable] public class NameTag { public int memberNumber; public Image checkerBox; public Image checker; } [SerializeField] private Profile profile; public List me..

유니티 2023.11.02

코드 컨벤션

코드 컨벤션이란, 읽고 관리하기 쉬운 코드를 작성하기 위한 일종의 코딩 스타일 규약(하나의 작성 표준)이다. 개발자들이 암묵적으로 약속하여, 협업 작업이 원활하게 이루어지도록 한다. 유니티와 C#에서의 이름을 짓는 규칙인, 이름 규칙(Naming Rules)는 5가지 방식이 있다. 그 중 대표적으로 두가지만 정리하였다. 이름 규칙(Naming Rules) PascalCase (파스칼 케이스) - 첫글자와 이어지는 단어의 첫글자를 대문자로 표기 ex) GoodPerson, MyKakaoCake, IAmDeveloper CamelCase (카멜 케이스) - 첫단어는 소문자로 표기하지만, 이어지는 단어의 첫글자는 대문자로 표기 ex) goodPerson, myKaKaoCake 내일배움캠프에서 지켜야 할 규칙 ..

개발상식 2023.11.02

class, struct 비교

class와 struct(구조체)는 유사하지만 차이점이 있다. 클래스는 기본 생성자로 초기화 후, 대입하여 사용해야 한다. ● class 1. 데이터와 메서드를 하나로 묶은 사용자 정의 타입 2. 객체를 생성하기 위한 템플릿 또는 설계도 역할 3. 속성과 동작을 가짐 4. 클래스를 사용하여 인스턴스를 만듦 * ex) 붕어빵틀 (클래스), 붕어빵(인스턴스, 객체) ● class의 구성요소 1. 필드 - 클래스에서 사용되는 변수 class Player { private string name; private int level; } 2. 메서드 - 클래스에서 수행되는 동작, 함수 class Player { public void Attac() { // 공격 동작 구현 } { 3. 생성자 - 객체를 초기화하는 역할..

C# 2023.11.02

Unity_2기 1주차 (231101)

오늘은 팀 프로젝트에서 MemberCheck class 작업을 했다. 연속으로 같은 카드를 뒤집었을 때, 카드를 파괴하고 그 카드에 해당하는 조원의 이름이 표시가 되는데 이 중, 조원의 이름이 표시가 되는 부분을 구현하였다. Card class 카드매치 후, MemberCheck class의 위 함수를 가져와서 조원의 이름을 표시한다. 처음에는 bool 값을 6개를 선언하여 값이 true 일때 GetComponent로 SpriteRenderer의 color에 접근하였는데 굳이 bool 값을 설정해서 두번 작업할 이유가 없다고 느껴서 위와 같이 코드를 수정 했다. string값에 따라 연결된 GameObject의 color를 변경하는 것인데 아직 익숙하지가 않아서 하드코딩 느낌이 많이 난다. 코드를 매일 ..

Unity_2기 1주차 (231031)

오늘은 팀 프로젝트 협업작업을 위한 Git Hub 에 대해서 강의를 들었다. Git Hub에 대해서는 처음 듣는 내용이었는데, 꼭 필요한 기능이었다. Git이라는 VCS (Version Control System) 기능을 이용하기 위해 Git Hub를 사용한다. ​ * Git Hub 사용 이유? 1. 형상(버전)관리 : 버젼관리시스템으로 복원 가능 2. 협업을 위한 원격저장소 : 팀 프로젝트 공유 ​ 개인 유니티 작업분을 원격로컬 이동 가능하다. ​ * repository (원격저장소) 생성 방법 GitHubDesktop에서 Create a new repository 클릭 Name 설정 Git ignore - Unity 설정 (Changes의 불필요한 파일들 추가 방지) Create repository ..

Unity_2기 1주차 (231030)

Unity 내일배움 캠프 2기 본 과정이 시작하였다. 시작하기 앞서 간단한 OT가 있었다. OT 에서는 '우리는 구현만 하는 코더(coder)가 아니라 개발자(developer)가 되기 위해 이 자리에 있기 때문이죠!' 라는 말이 가장 기억에 남았다. 우리가 배워야 하는 것은 단순히 코드를 짜서 게임을 개발하는 것이 아닌, 팀원과 협업하여 게임을 개발하는 것이다. 그리고 조를 배정 받았고, 조별로 간단한 자기소개 후, 조 이름은 'Zep R 우리 게임 좀 4조'로 결정하였다. 미니 프로젝트의 주제가 각 조원들을 소개하는 것이기 때문에, 팀원 소개 카드게임을 만들기로 결정하였다. ​ 간단하게 게임을 소개하자면, 무작위로 뒤집어져 있는 12개의 카드 중, 같은 카드를 연속으로 2번 뒤집으면 그 카드의 그림과..

내일배움캠프 Unity 2기를 시작하는 마음

오늘 Unity_2기 내일배움캠프 본 과정이 시작하였다. 나는 어릴적 게임개발에 관심이 있어서 실제로 내가 만든 게임을 다른사람들이 직접 플레이 하는 것에 흥미를 느껴 간단한 게임을 만들어서 카페에 올리고, 친구들에게 공유하기도 하였다. 비록 다른 분야를 전공하였지만, 지금이라도 그 꿈을 다시 이뤄서 나의 직업으로 삼고 싶어 도전하게 되었다. 비전공자에다가 어린 나이가 아닌만큼, 이번 과정을 열심히 수행해서 좋은 게임 개발자가 되고싶다!