TIL
-
[TIL] Unity 강의 2TIL 2024. 5. 9. 21:25
프리팹 (Prefab)unity 엔진에서 사용되는 게임 오브젝트를 재사용 가능하고 관리하기 쉽게 만들기 위한 프리셋 프리팹을 사용하면 게임 오브젝트와 그에 관련된 컴포넌트 및 설정을 미리 정의하고 여러 장면이나 게임에서 재사용 할 수 있다. 프리팹의 변경사항은 모든 인스턴스에 즉시 반영되므로 일관성을 유지하고 일괄적인 업데이트를 쉽게 할 수 있다. 게임오브젝트를 에셋으로 만든다고 생각하자 Instantiate 함수Unity에서 제공하는 메소드로, 주어진 원본 개체의 복사본을 새로 생성하고 이를 반환한다.주로 오브젝트, 캐릭터, 아이템 등을 동적으로 세계에 추가할 때 사용된다.이 함수를 통해 생성된 게임 오브젝트는 독립적이며 원본 개체에 대한 변화는 영향을 주지 않는다. 열거형(Enum)열거형은 사수형 값..
-
[TIL] Unity 강의 1TIL 2024. 5. 8. 20:51
Unity게임 엔진이란?게임을 개발할 수 있도록 다양한 기능을 제공하는 프로그램그래픽, 물리, 사운드, 애니메이션 , 인공지능 등 다양한 요소 관리 및 통합특징다양한 플랫폼에서 실행 가능한 게임 개발 (크로스 플랫폼)사용자 친화적인 인터페이스와 강력한 기능 제공구조C++로 구성된 코어 엔진을 연결해주는 C#구현부가 있고C# 언어를 통해 스크립트를 작성 유니티는 게임 개발을 위한 통합 개발 환경이다. 주요기능 더보기프로젝트 관리 : 새로운 프로젝트 생성, 프로젝트 파일 구성 및 관리씬(Scene) 관리 : 게임의 각 장면과 화면을 구성하는 요소에셋(Asset) 관리 : 게임에 필요한 리소스 관리컴파일 및 빌드: 스크립트 코드를 컴파일하여 실행 가능한 게임으로 빌드디버깅: 코드 실행 중 오류를 찾고 수정에디..
-
[TIL] 게임 특강TIL 2024. 5. 7. 21:02
게임 플랫폼 종류PC, Console, 모바일, VR 등게임 장르RPG, FPS, RTS(Real Time Simulation) ex) 스타크래프트 , AOS(MOBA) ex) Lol방치형, War Game 등 게임 장르는 새로 생기고 파생되기도 한다. 프로젝트 종류라이브 - 현재 서비스 중인 게임신규AAA - 개발비가 10억이상 들어간 게임인디 게임 회사 구조 (회사마다 조금씩 다르다)디렉터(PD) 프로젝트 매니저 같은 느낌이다. 프로그래머클라이언트: 프로그래머에서 가장 높은 비율을 차지한다.서버: 주로 통신을 담당엔진: 요즘은 Unity나 Unreal엔진을 주로 쓰지만 큰 회사 같은경우 직접 자체엔진을 사용하거나 기존 엔진을 뜯어서 사용하기도 한다.플랫폼: 요즘은 잘 없다고한다. 듣기로는 클라이..
-
[TIL] 2024-05-03 팀 프로젝트 마무리TIL 2024. 5. 3. 21:23
2번 째 팀 프로젝트도 슬슬 마무리가 되고 있다. 사실 팀 인원이 겨우 3명이라 다른팀에 비해 일정이 빡빡할 줄 알았지만 개인과제에서 몇가지 기능은 이미 구현해 본적 있다.오히려 인원이 적어서 그런지 코드간의 충돌이 적은 것 같다.팀원과의 합과 추진력이 좋았다.같은 이유로 예상보다 빠르게 프로젝트 진도를 나갈 수 있었다. 만든 기능들만든 와이어프레임PPT 일부분 이번 프로젝트를 통해서 각자의 클래스를 만들고 합치는 과정에서 메서드에서 참조에 대해 알 수 있었고남의 코드를 계속 보다보니 내가 짠 코드가 아니라도 눈에 조금 들어온 기분이다. 그리고 깃허브를 통해 합치다보니 깃허브도 이제 조금 익숙해진 기분이다. (물론 아직도 Conflict 날까봐 무섭다.) 익숙치 않은 C#으로 팀프로젝트를 한다는 것이 ..
-
[TIL]C# Json 리스트 저장TIL 2024. 5. 2. 22:15
어제는 단순히 변수만 Json 파일에 불러오고 저장하는 것을 해봤다.변수 저장과 호출은 해결했지만 리스트나 다른 자료구조를 저장해야 할 때는 어떻게 해야할까? 원래 썼던 코드더보기static string filePath = "./Save/SaveFile.json";static public void Save(Player player)//현재는 플레이어 스텟만 저장{ JObject Save = new JObject( new JProperty("playerName", player.name), new JProperty("playerJob", player.job), new JProperty("playerLevel", player.level), new JPropert..
-
[TIL] C# (얇은 복사 깊은 복사, Json 파일 이용하여 저장하기)TIL 2024. 5. 1. 22:46
1. 얉은 복사 깊은 복사class에 몬스터를 정의하고 던전에 몬스터를 추가해서 스폰할 몬스터를 정의했을 때 이상한 오류를 발견했다.1. 같은 종류의 몬스터가 있으면 피가 2번단다.2. 던전을 끝내고서도 몬스터의 피가 달아있다. 처음에는 전투중에 뭔가 잘못해서 그런줄 알았지만. 알고보니 던전에서 사용할 몬스터를 생성하는 함수에 문제가 있다는걸 알아차렸다. 문제의 스크립트 더보기 public Monster[] GenerateMonster()//몬스터 생성 { Random random = new Random(); int monsterCount = random.Next(1, 5); Monster[] battleMonster = new Monster[monsterCount]; for..
-
[TIL]2024-04-30 VisualStudioTIL 2024. 4. 30. 21:20
VisualStudio C# 1. CS5001 error비주얼 스튜디오에서 .cs를 추가하게 되면 기본적으로 이런식으로 추가하게 된다.여기서 클래스 앞에 internal 이라고 선언되어 있는 것을 확인할 수 있다.그렇다면 internal이 뭘까? internal은 형식 및 형식 멤버에 대한 액세스 한정자라고 한다.즉 Public, Protected, Private 랑 비슷한 키워드 인것이다. internal은 액세스가 현재 에셈블리로 제한된다.(하지만 솔직히 정확한 범위는 저도 잘 모르겠습니다.) 이 오류를 발견한건 다른 .cs 선언할 때 였고 internal 대신 public으로 써서 해결했다. 2. 깃허브 연동시 표시 마크깃허브로 연동을 했다면 .cs 의 맨앞에 이상한 마크가 생기는 것을 알 수 있다..
-
[TIL]특강 (C#, 코드컨벤션,깃허브)TIL 2024. 4. 29. 21:35
C# 배열과 리스트C# 에서 리스트는 조금 다른점이 있는데C# 에서 List는 동적 배열과 유사하다. Capacity: 리스트의 최대 용량Count : 리스트의 실제 갯수 C#에서는 리스트는 배열이기 때문에 Capacity를 넘어가게 되면 재할당이 일어나게 된다.따라서 리스트에 변수가 어느정도 들어갈지안다면, Capacity를 선언해주는 편이 좋다.https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.list-1.capacity?redirectedfrom=MSDN&view=netframework-4.7.2#System_Collections_Generic_List_1_Capacity.Capacity Property (System..