| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
- 가비지 컬렉션
- Zenocide
- Hollow Knight
- 유니티 세이브
- 마개조
- 할나 후기
- 가비지 컬렉터
- 개발지식
- 할로우 나이트 엔딩
- CustomPropertyDrawer
- 커스텀프로퍼티드로어
- CustomEditor
- Garbage Collecter
- GC 원리
- 할나 엔딩
- 에디터 개조
- 유니티
- 할로우 나이트
- Unity
- SerializeReference
- Gc
- 커스텀에디터
- 유니티 #공전 #유니티회전고정
- 할로우 나이트 분석
- 유니티 렉
- C#
- 유니티 에디터
- SerializeField
- 유니티 #UI 늘리기 #이미지 재사용
- 개발공부
- Today
- Total
목록Unity (17)
가을의 개발 일지
서론 이번 포스팅에선 작년 를 개발하며 어떤 흐름으로 로직을 설계했고, 최종적으로 완성된 로직의 모습은 무엇인지 살펴보겠다. 게임이 출시된지 어느덧 1년이 다 되어가지만, 아직도 개발할 때의 흐름은 생생하기에, 개인적으로 정리도 할 겸 다른 사람들과 공유도 할 겸 포스팅을 작성해본다.왜 인가?는 WAP에서 팀을 먼저 모집한 후, 함께 기획하며 만들어진 게임이다. 일반적으론 동아리 내에서도 팀장이 기획을 가져오는 경우가 많지만, 당시엔 게임 개발자가 극소수기도 하고, "내가 하고 싶은 걸 해야 재밌게 배운다."는 취지 하에 팀원들이 원하는 장르에 맞추곤 했다. 우리 팀의 유일한 디자이너가 뛰어난 솜씨를 지녔고, 선호하는 스타일이 "좀비"와 "아포칼립스"였기에, 게임의 배경은 쉽게 정해졌다. 그 다음이 게임..
서론 [Unity/GC] 가비지 컬렉션(Garbage Collection), 왜 쓰고 어떻게 쓰는데?서론게임 개발을 하다보면, 꼭 한번쯤은 최적화에 관심을 갖게 된다. 내가 처음 최적화를 파던 건 2019년이었는데, 당시 만들던 2D 러닝 게임이 고사양 3D 게임에 버금갈 만큼 버벅였기 때문이다.autumncat.tistory.com 지난 시간에 가비지 컬렉션(Garbage Collection, GC)의 개념, 사용 이유, 단점과 해결책을 간단하게 알아보았다.아직 위 포스트를 읽지 않았다면 먼저 읽고 오는 것을 추천한다. 이번 포스팅에서는 GC의 정확한 동작 원리를 알아볼 텐데, 머릿속에 개요가 짜여있지 않다면 이해가 본질적은 이해는 어려울 것이다.C#(.NET)의 GC유니티는 C# 언어를 사용하니, 먼..
서론게임 개발을 하다보면, 꼭 한번쯤은 최적화에 관심을 갖게 된다. 내가 처음 최적화를 파던 건 2019년이었는데, 당시 만들던 2D 러닝 게임이 고사양 3D 게임에 버금갈 만큼 버벅였기 때문이다. 그러다보면 꼭 프로파일러를 켜게 되고, 갑작스런 프레임 드랍에서 렌더링, 물리 Vsync, 그리고 가비지 컬렉션(이하 GC)을 만나게 된다. 오늘은 그때의 기억도 되살릴 겸, GC에 대해 다시 공부도 할 겸 포스트를 작성한다. 이번 포스트에선 GC를 사용하는 이유, 정말 간단한 동작 원리, 어떻게 다뤄야 안정적인가에 대해 살펴보자.가비지 컬렉션(GC). 그거 왜 쓰는데?현재 많이 쓰이는 언어들 중, C와 C++을 제외한 많은 언어(Java, Kotlin, 파이썬, C# 등)들이 GC를 채택하고 있다. 그래서 ..
서론유니티 인스펙터는 잘 만들었지만, 사용하다보면 불편한 점이 꽤 많다.예를 들면, Dictionary는 에디터에 나오지 않는다던가. 조금 더 나아가면, 본인의 게임에 맞게 개조할 일도 생긴다. GUI로 스킬을 조립한다던지, 카드를 만든다던지 등등. 오늘은 그런 경우에 도움이 될, CustomEditor와 CustomPropertyDrawer에 대해 간단히 알아보자.CustomEditor. 왜 써야 할까?앞서 언급했듯, 유니티의 인스펙터는 가끔 불편한 점이 있다. 그중 대표적인 게 바로 Dictionary가 나오지 않는다는 것. 예를 들어, 아래 같은 상황이다. 이런 식으로 변수를 선언한 뒤 인스펙터로 가보면, 나머진 모두 잘 나오지만 Dictionary만큼은 나오지 않는다. 이제, CustomEdit..
서론유니티로 개발하다보면, 알기 싫어도 알게 되고, 또 모르면 가끔 크게 데이는 것들이 있다. 그중 하나가 바로 직렬화다. 이번 시간엔 앞서 예고했듯, 직렬화란 무엇인지 차근차근 이해해보고, SerializeReference의 작동 방식, 세이브/로드 구현 시 생겼던 에러 등을 되짚어보자. [Unity] SerializeField vs SerializeReference vs Serializable서론유니티 2019.3에 [SerializeReference]가 추가되었고, 현재 프로젝트에서 Custom Inspector와 함께 사용 중이다. 이번 포스팅에선 SerializeField와 SerializeReference의 차이를 간략하게 살펴보고, SerializeReferenceautumncat.tist..
서론유니티 2019.3에 [SerializeReference]가 추가되었고, 현재 프로젝트에서 Custom Inspector와 함께 사용 중이다. 이번 포스팅에선 SerializeField와 SerializeReference의 차이를 간략하게 살펴보고, SerializeReference의 개념, 올바른 사용법까지 살펴보자.SerializeField는 무엇인가?유니티를 좀 배워본 사람이라면, [SerializeField]를 아마 private 변수를 Inspector에 띄워주는 고마운 친구 정도로 알고 있을 것이다. 이는 절반 정도는 맞는 말이다. 해당 기능은 [SerializeField] Attribute의 부가 기능 정도로 볼 수 있으며, 실제 이 Attribute의 존재 의의는 필드를 직렬화 시킨다는..
이번엔 무엇을 했는가?깃허브에 새 레포지토리를 만들었다. Gather code snippets that can easily snap onto Unity GameObjects and use right away. - miniron-v/Unity-Snap-On-Scripts" data-og-host="github.com" data-og-source-url="https://github.com/miniron-v/Unity-Snap-On-Scripts" data-og-url="https://github.com/miniron-v/Unity-Snap-On-Scripts" data-og-image="https://scrap.kakaocdn.net/dn/bimU77/hyXGKZUZer/Lh9cshgZkEQZIsKYesi..
귀찮은 걸 못 버티는 사람이 성공한다우리 게임 제노사이드는 시나리오를 아래처럼 관리한다.그리고 이걸 바탕으로 SO를 생성한다. 학기 중엔 이걸 하나씩 복붙 후 이름 변경으로 만들었다. 어디 그뿐인가? 스토리의 시작 번호, 끝 번호도 일일히 적어줘야 했다. 스토리를 20개 정도 추가해서 에셋을 만들려고 봤더니, 너무 귀찮았다! 그래서 GPT에 어떤 방법이 있을지 물어봤다. 간단하게 에셋 이름을 넘버링해 여러 개를 한 번에 만드는 방법을 물어봤다. 그러자 스크립트를 작성해 이를 자동화하는 방법을 추천했다. 그리고 생각했다. 그럼, 인덱스 정돈 혼자 만들 수 있겠는데? 자, 그럼 직접 구현해보자!시작은 늘 구조부터다행히 구조가 복잡하진 않다. CSV를 불러와 만든다.이미 에셋이 있다면 건들지 ..