전체 글24 [무한의 기둥] #002 - 부동 소수점 이야기 작업물이 어느 정도 생길 때마다 개발 일지를 작성하겠다고 했는데 벌써 한 달하고도 2주나 더 지나버렸습니다.. 변명 아닌 변명을 해보자면 작업 자체는 꾸준히 진행하고 있었지만, 10월 중순부터 혼자 15일 동안 일본 도쿄 여행을 다녀오느라 잠깐 강제 휴식기가 있었습니다. 물론 맥북을 챙겨갔기 때문에 여행을 가서도 개발 작업을 틈날 때마다 할 수 있겠지라는 생각을 했으나,예상과 달리 힘든 뚜벅이 여행을 많이하는 바람에 15일 중 작업한건 단 2일!(정말 이곳저곳을 한참동안 걸어서 많이 돌아다녔다..) 하지만 현재 개발 일지 내용이 꽤나 밀렸기 때문에..이번에는 아직 프로토타입 초기 버전 개발이 진행 중이던 시점부텨 가장 최근까지 있었던 이슈들을 몇 가지 이야기해 보려고 합니다.(저번 첫 편에 적으려고 했.. Unity/개발 일지 2024. 11. 23. [무한의 기둥] #001 - 다시 돌아온 개발자 2024년 6월 25일, 드디어 전역을 했습니다.(육군 병장 만기전역) 물론 이 글을 쓰고 있는 현재는 약 3개월 이상이 지난 시점입니다.(이렇게 보니 국방부의 시계가 정말 느렸었다는게 느껴집니다..) 처음 게임회사에서 산업기능요원으로 현업의 경험도 쌓으면서 군 복무를 마치겠다는 계획은막바지에 물거품이 되어버렸지만, 많은 사람들이 함께 재밌게 즐길 수 있는 게임을만들어 낼 수 있는 게임 개발자가 되겠다는 목표는 여전합니다. 하지만 1년 6개월이라는 공백기가 생각 외로 길다보니 다시 재활을 해야겠다는 필요성을 느꼈습니다.(물론 군 복무 중에도 게임 그래픽스나 최적화, 기획과 관련된 이론 공부들은 꾸준히 했지만..) 그래서 최근 작은 게임 프로젝트를 하나 진행하여 출시까지 해보기로 결심했습니다. 프로젝트 소.. Unity/개발 일지 2024. 10. 9. [Unity] 좌표계에 대해 알아보기 이번 글에서는 좌표계가 무엇이고 Unity 에서 좌표계는 어떻게 쓰이는지 알아볼 것이다. 시작하기 앞서, 정말 처음 입문하는 사람들에게도 알기 쉽게 정리된 참고 블로그와 영상 자료가 있어서 적어둔다. https://wergia.tistory.com/161 [Unity3D] Tutorial (5) - 유니티의 좌표계 Tutorial (5) 유니티의 좌표계 작성 기준 버전 :: 2018.3.1f1 [본 튜토리얼의 내용은 유튜브 영상으로도 시청할 수 있습니다] 이번 섹션에서는 유니티의 좌표계에 대해서 알아보자. 좌표계란? 좌표계란 wergia.tistory.com 좌표계 좌표계는 특정 차원의 공간에서 특정한 위치를 나타내기 위한 방식이다. (이 글에서 다루게 될 특정 차원은 3D 게임의 3차원 공간을 의미한다.. Unity 2021. 11. 22. [C#] 직렬화 (Serialization) 직렬화 직렬화는 클래스의 객체를 바이너리화하는 것 => 클래스 내부에 있는 데이터, 변수 등의 값들을 byte 형식의 데이터로 만드는 것 쉽게 말하면 클래스 객체의 상태를 그대로 컴퓨터 환경에 저장하고 나중에 재구성할 수 있는 포맷으로 변환하는 과정 => 데이터 파일 형태로 영구 저장 장치에 저장함 먼저 알아야 할 내용 기본적으로 C# 환경에서는 데이터 형식을 스트림에 쓰고 읽을 수 있도록 관련 메서드가 제공된다. (BinaryWriter/Reader 와 StreamWriter/Reader) 하지만 복합 데이터 형식을 기록하고 읽으려면, 그 형식이 갖고 있는 필드의 값을 순서에 따라 저장하고 읽는 코드를 작성해야 한다. 그래서 C# 환경에서 복합 데이터 형식을 쉽게 읽기 / 쓰기 할 수 있는 직렬화 (S.. C# 2021. 11. 12. [Unity] 콜라이더 (Collider) 에 대해 알아보기 #2 https://dbsckdqja75.tistory.com/39 [Unity] 콜라이더 (Collider) 에 대해 알아보기 #1 이번 글에서는 Unity 의 콜라이더 컴포넌트 (Collider Component) 에 대해서 알아볼 것이다. Unity Docs (Collider) Unity - 스크립팅 API: Collider See Also: BoxCollider, SphereCollider, CapsuleCollider, Me.. dbsckdqja75.tistory.com 지난번 글에서 Unity 에서 3D 환경의 Collider 에 대해 알아봤었는데, 이번에는 2D 환경에서의 Collider 를 알아보고자 한다. Unity Docs (Collider 2D) 콜라이더 2D - Unity 매뉴얼 콜라이더.. Unity 2021. 11. 7. [Unity] 콜라이더 (Collider) 에 대해 알아보기 #1 이번 글에서는 Unity 의 콜라이더 컴포넌트 (Collider Component) 에 대해서 알아볼 것이다. Unity Docs (Collider) Unity - 스크립팅 API: Collider See Also: BoxCollider, SphereCollider, CapsuleCollider, MeshCollider, PhysicMaterial, Rigidbody. 콜라이더를 가진 오브젝트가 게임플레이 중에 움직여질 경우, 해당 오브젝트에는 Rigidbody 컴포넌트를 붙여야 합니다. 만 docs.unity3d.com Collider 는 UnityEngine 클래스에 포함되어 있으며, 단어는 충돌의 의미를 가지고 있다. 물리적인 상호작용, 접촉, 충돌에 대해서 모든 것을 관리한다고 보면 된다. 당연하.. Unity 2021. 10. 29. [C#] 구조체 (Struct) 구조체 구조체는 사용자 정의 데이터 유형으로 기본적으로 제공되는 변수 유형이 아님 => 새로운 데이터 유형으로 사용자가 직접 정의하여 사용함 클래스의 참조형식과 달리 구조체는 값 형식 참조 먼저 알아야 할 내용 값 형식 참조와 참조 형식의 차이 (Value type reference, Reference type reference) 클래스는 Heap 에 인스턴스가 생성 및 할당되고 Stack 에 변수로 주소 값을 설정함 (인스턴스에 대한 참조를 포함) 구조체는 Stack 에 할당되고 생성과 복사 모두 각각의 변수에 포함된 인스턴스에게 이루어짐 (인스턴스를 포함) => 구조체 변수에 다른 변수를 대입할 경우, 참조 값이 변하는게 아니라 값 형식으로 구조체가 복사됨 구조체는 매개변수가 없는 생성자를 만들 수 .. C# 2021. 10. 22. [C#] 얕은 복사와 깊은 복사 (Shallow Copy & Deep Copy) 얕은 복사와 깊은 복사 C# 의 클래스는 기본적으로 참조 형식 스택 영역에 있는 참조가 힙 영역에 할당된 객체의 메모리를 가리킴 (참조값) 얕은 복사는 객체의 참조만 복사하는 것 (단순 복사) 깊은 복사는 객체를 복사하여 '새로운 객체' 를 만드는 것 (복사본 / 전체 복사) 먼저 알아야 할 내용 할당 (Assign) 일반적으로 생성된 객체를 다른 변수로 참조할 경우를 '할당' 한다고 함 얕은 복사 얕은 복사는 아래의 간단한 코드를 예시로 볼 수 있음 * 포인터는 참조값이 정말 동일한지 판단하기 위한 목적으로 작성하였으며, 실제 적용 시에는 필요하지 않음 혹시나 이해가 되지 않는다면, 다른 변수와 클래스를 예시로 한 아래의 그림을 참고 위의 내용을 얕은 복사라고 하기도 하지만, .NET 프레임워크에서 제.. C# 2021. 10. 15. [C# 자료구조] LinkedList, SortedList LinkedList 와 SortedList 2개의 자료구조 모두 List 에서 파생된 클래스 LinkedList 는 데이터를 포함하는 노드들을 연결하여 각 노드가 데이터와 다음/이전 링크 포인터를 갖게 되는 자료구조 (앞/뒤, 이중 연결 리스트 형태) LinkedList 는 특정 노드에서 삽입, 삭제가 편리하나 특정 노드를 검색하기 위해서는 시간이 다소 걸림 [O(n)] SortedList 는 Hashtable 과 ArrayList 의 혼합형이며 내부 데이터는 Key 와 Value 로 이루저져 있고, Key 와 Index 로 접근 가능 SortedList 는 내부적으로 정렬된 컬렉션을 유지하고 있다는게 큰 특징임 (정렬은 Value 이 아닌 별도의 Key 를 통해 정렬하고, Key 는 중복이 불가능함) .. C#/자료구조 2021. 10. 11. [C# 자료구조] Hashtable, Dictionary Hashtable 과 Dictionary 키 (Key) 와 값 (Value) 를 한쌍으로 저장됨 (공통) 키 (Key) 값은 유일해야 함 (공통) 키를 통한 값을 찾아서 탐색 속도가 빠름 (공통) Hashtable 은 선언 시, 자료형을 명시하지 않음 (ArrayList 와 동일) Dictionary 는 선언 시, 특정 자료형을 명시해야함 (나머지는 Hashtable 과 동일) Hashtable 보다 Dictionary 가 연산속도가 빠름 (모든 타입을 받는지 여부에 따른 차이) 선언 & 사용 방법 마무리 Hashtable 과 Dictionary 의 속성 및 메서드에 대한 정보는 참고자료를 확인 참고자료1 참고자료2 참고자료3 참고자료4 참고자료5 참고자료6 C#/자료구조 2021. 10. 3. [C# 자료구조] Stack, Queue Stack 과 Queue Stack 은 나중에 들어온 데이터가 먼저 나가는 선입선출 (LIFO) 방식 (Enqueue, Dequeue) Queue 는 먼저 들어간 데이터가 먼저 나가는 선입선출 (FIFO) 방식 (Push, Pop) 두 자료구조 모두 데이터와 작업을 순서대로 입력하고 차례대로 처리하기에 용이함 선언 & 사용방법 마무리 되돌리기, 뒤로가기 등의 기능을 구현한다면 스택 (Stack) 이 예시로 적합 여러 도전과제를 한꺼번에 달성했을 경우에 차례대로 뜨는 알림 기능을 구현한다면 큐 (Queue) 가 적합 스택과 큐의 자세한 설명 자료 참고자료1 참고자료2 참고자료3 (이미지 출처) C#/자료구조 2021. 9. 26. [C# 자료구조] ArrayList, List ArrayList 와 List ArrayList 는 길이가 고정되지 않는 추가 & 삭제의 변형이 가능한 가변형 객체 타입 (동적 배열) ArrayList 는 서로 다른 타입의 데이터를 배열에 저장 가능 => (박싱과 언박싱이 발생함) List 도 동일하게 동적 배열 List 는 ArrayList 의 단점을 보완하여 같은 타입만 저장이 가능함 => (박싱과 언박싱이 발생하지 않음) 특별한 목적이 없다면 ArrayList 를 사용하는 것은 권장하지 않음 선언 & 사용 방법 마무리 처음에 장단점을 몇몇 포함한 내용이 있기 때문에 일부 내용은 생략함 ArrayList 와 List 의 속성 및 메서드 그리고 성능에 대한 정보나 이슈는 참고자료를 확인 박스와 언박싱이란? (매우 중요한 정보) 참고자료1 (정리형) .. C#/자료구조 2021. 9. 20. 이전 1 2 다음