본 블로그에서는 제너릭과 싱글톤을 모두 다뤄본 적이 있다.제너릭: https://lsu0503.tistory.com/61 Today I Learned - Day 12 [제너릭]오늘은 제너릭에 대해서 정리해 볼 까 합니다.사실은 개략적으로는 알고있었지만, 안쓴 지가 꽤 되다 보니 가물가물해서...이번 프로젝트에 쓰이기도 했고 해서 정리를 해 보려고 합니다. 제너lsu0503.tistory.com싱글톤: https://lsu0503.tistory.com/47 Today I Learned - Day 5 [싱글톤]싱글톤싱글톤 자체는 본 캠프를 시작하자 마자 다루기 시작한 요소이긴 하나, 이번에는 이러한 싱글톤의 특징에 대해서 다뤄보려고 한다. MonoBehaviourMonoBehaviour에서 싱글톤을 생성하기..
개발 중에 불편한 사항이라면 '실행 순서'가 있다.유니티에서 스크립트를 실행하는 순서에 대해서 개발자가 감을 잡을 수 없다 보니, 같은 타이밍(Awake, Start...)에 순차적인 요소를 코딩한다면 문제가 생길수가 있다.문제는, 이렇게 하다 보면 '시작할 때에' 작동하는 것이 Awake와 Start 정도만 쓰이다 보니, 시작할 때 클래스 간의 변수 교환이 3단계 이상이 필요한 경우에는 난처해지기 마련이다. 그렇다면 이 상황의 해결법은 무엇일까.Project Settings - ScriptExecutionOrder에서 전체 코드의 앞으로 당겨오는 방법이 있긴 하지만, 스크립트 바깥에서 이러한 작업을 하는 건 가독성이 다소 낮아진다는 문제가 있다. 그렇기에 사용하는 것이 Instanciate(GameOb..

오늘 프로젝트를 진행하면서 2개의 오브젝트가 다른 액션 맵을 사용한 입력체계를 사용할 때, 하나의 오브젝트에만 적용되는, PlayerInput의 Scheme를 로 두는 아주 간단한 방법으로 해결되는 이슈가 발생했었다.그런 고로, 오늘 정리할 내용은 New Input System으로 결정하였다. 목차New Input System이란?New Input System의 기초적인 사용법.스크립트 상으로 PlayerInput 컴포넌트를 편집하는 방법 New Input System이란?New Input System은 Unity 측에서 다양한 플랫폼과 입력 체계에 유연하게 대응하기 위해서 기존의 Input Manager를 대체하는 입력 시스템이다.전체적으로 [행동 명명] → [입력 키 지정] → [행동의 명칭에 따른 ..
1부: https://lsu0503.tistory.com/76 Today I Learned - Day 22 [객체, 그 개념에 관하여 - 1]오늘날 프로그래밍 언어는 절차적 언어와 객체 지향 언어로 나뉘어 있다.[유니티에서 '정보 지향'이라는 새로운 개념을 꺼내어 들기는 했으나, 사실상 유니티의 단점을 우회하기 위한 것이라서lsu0503.tistory.com2부: https://lsu0503.tistory.com/77 Today I Learned - Day 23 [객체, 그 개념에 관하여 - 2]어제는 객체지향의 발안 배경과 Heap과 Stack을 통한 개념 정리를 작성하였다.그렇다면 이제 객체지향에 대해서 조금 더 세밀하게 퍄고들어 보자. 목차서두프로그래밍 언어의 발전사 - 객체지향lsu0503.tis..
1부: https://lsu0503.tistory.com/76 Today I Learned - Day 22 [객체, 그 개념에 관하여 - 1]오늘날 프로그래밍 언어는 절차적 언어와 객체 지향 언어로 나뉘어 있다.[유니티에서 '정보 지향'이라는 새로운 개념을 꺼내어 들기는 했으나, 사실상 유니티의 단점을 우회하기 위한 것이라서lsu0503.tistory.com 어제는 객체지향의 발안 배경과 Heap과 Stack을 통한 개념 정리를 작성하였다.그렇다면 이제 객체지향에 대해서 조금 더 세밀하게 퍄고들어 보자. 목차서두프로그래밍 언어의 발전사 - 객체지향은 왜 발안되었는가.Class와 Instance, Object의 정의객체지향의 4요소 ※캡슐화추상화상속다형성솔리드 원칙단일 책임 원칙개방 폐쇄 원칙리스코프 치환..
오늘날 프로그래밍 언어는 절차적 언어와 객체 지향 언어로 나뉘어 있다.[유니티에서 '정보 지향'이라는 새로운 개념을 꺼내어 들기는 했으나, 사실상 유니티의 단점을 우회하기 위한 것이라서 통상적으로 쓰이는 개념은 아니다.]하지만 이러한 '절차적'이라는 점과 '객체 지향'이라는 점을 설명해 보라고 하면 어정쩡하거나 애매한 경우가 많다.혹자는 '반드시 위에서 부터 아래로 진행되니까 절차적 언어고, 객체 지향은 그렇지 않다'라고 서술하기도 한다.'객체 지향은 class를 쓸 수 있으니까 그런 거고, 절차적 언어는 못 쓴다'라고 서술하는 경우도 있다.다만, 이런 식으로 간략하게 서술 하기에는 이 두 개념은 조금 더 심오한 거 같다.그러니 한 번 정리해 보도록 하자. 목차서두 ※프로그래밍 언어의 발전사 - 객체지향..
금일은 특강으로 메모리 구조에 대해서 공부했었다.이전에도 배운적이 있어서 알고 있던 내용이었는데, 막상 보니까 했깔렸었다.그래서 한번 더 정리해볼 생각이다. Intro. Struct와 Class의 차이점?Struct와 Class는 메모리 구조의 차이가 가장 두드러지게 나타나는 요소들이다.일반적으로 차이점을 서술할 때에는 상속이 가능하느냐, Call by Value | Call by Referrence 등등 사용 상의 차이점이 나오겠지만, 오늘은 하술할 메모리 구조를 살펴본 뒤에, '최적화 측면'에서 살펴보도록 하자.[즉, 마지막에 마무리로 정리할 예정인 셈이다.] Heap? Stack?프로그램이 메모리를 사용할 때, 메모리의 영역은 다음 4개로 나뉜다.CODE: 프로그램의 소스코드가 할당되는 영역.DAT..
이번 프로젝트는 커뮤니티 게임의 기본 형태를 구성해 보는 것이었다.이전에는 그냥 프로젝트 만 올렸었으나, 이번 WIL 부터는 어떻게 제작하였는지도 함께 서술해 볼까 한다. [Git URL: https://github.com/lsu0503/ProjectSpartaTown.git] GitHub - lsu0503/ProjectSpartaTown: ProjectSpartaTownProjectSpartaTown. Contribute to lsu0503/ProjectSpartaTown development by creating an account on GitHub.github.com 구현한 내용 [주요한 요소만]전체적인 구성Input System을 이용한 플레이어 캐릭터 조작.Collider와 Event Actio..

이번에는 스크롤뷰를 다뤄볼까 한다. 다만, 간단하게 다루진 않고, 구성 요소끼리 뜯어볼 예정이다.때문에 사용법 보다는 구성 방식을 서술하는 방식으로 진행되리라고 생각한다.그런 의미에서 조금 깊게 들어가게 될 것 같다. 스크롤뷰의 구성 요소프로젝트 창에서 우측 마우스 버튼으로 생성 가능한 스크롤뷰는 기본적으로 Scroll Rect 컴포넌트와 Mask 컴포넌트의 조합으로 구성된다. 그리고 여기에 편의성을 위해서 Layout Group을 추가로 조합하기도 한다.이 때, Scroll Rect는 최상위 객체로, 그 하위로 Mask를 지닌 객체를 넣은 뒤, Mask를 지닌 객체의 하위로 Layout Group을 지닌 객체를 넣는 식으로 구성한다.그렇다면, '왜 그렇게 구성하는 가'를 살펴보기 위해서, 각 요소 별로..

유니티에서 애니메이션 작업은 기본적으로 일단 적용한 뒤, 자신이 원하는 대로 깎는 작업이다.다르게 말하면 품이 많이 드는 작업으로, 애니메이션 작업의 거의 대부분은 구상이나 개발 보다는 수작업에 가깝다.이런 상황에서 생각하게 된 것이 '방식이 동일하다면, 그냥 스프라이트만 바꿔 끼면 될텐데.'였다.마침 강의에서 간략하게나마 설명을 듣기도 해서, 일단 무작정 달려들어 보았다. Animator Override Controller?아마 Unity에 익숙하지 않다면 처음 듣는 단어일 것이다. 실제로 본인도 그러했다.Animator Override Controller를 간단하게 말하면, 그냥 이름 그대로다.[실제 작동이 아닌, 이해를 위한 글임을 양해 바란다.]Animator는 Animation의 흐름을 정리하는..