- Today
- 114
- Total
- 137,643
목록Develop Study/Unity (46)
Pv_log
1. 캡슐화Unity 엔진은 C# 언어를 스크립트 언어로 사용한다.C#은 대표적인 OOP 언어 중 하나로, OOP 언어의 대표적인 특징 중 하나인 캡슐화를 보장하기 위해 다양한 속성들을 제공한다.그중 대표적인 속성 중 하나가 [SerializeField] 속성이다. Apply object-oriented principles: Encapsulation in object-oriented programming출처 Encapsulation in object-oriented programming - Unity Learn In this tutorial, you’ll learn about the second pillar in object-oriented programming: encapsulation. Explain..
1. JsonUtilityUnity는 기본적으로 Json을 이용해 데이터를 외부에 저장할 수 있는 기능을 지원합니다.Unity Learn에서는 세션 간의 데이터 지속성으로 설명하고 있으며, 직렬화/역직렬화 개념을 기반으로 합니다. Manage scene flow and data: Implement data persistence between sessions출처 Implement data persistence between sessions - Unity Learn In this tutorial, you’ll write code to save and load the color that the user selects so that it persists between sessions of the applicat..
1. 오버로딩 (Overloading)C#에서 사용되는 메서드는 OOP 언어의 개념 중 하나인 다형성에 기반하여 오버로딩이라는 기능을 사용할 수 있습니다.원래 메서드는 고유한 이름을 이용해 정의됩니다.메서드의 이름은 메서드 호출 시에 사용되기 때문에 말 그대로 '이름'의 의미를 지닙니다.하지만 사람들의 이름처럼 메서드의 이름도 '동명이인'이 존재할 수 있습니다.우리가 알고 있는 동명이인이라는 개념을 조금 더 살펴보자면, '이름'은 같지만 '존재'는 다른 두 명 이상의 사람이라고 말할 수 있습니다.여기서 '존재'는 뭘까요?더 쉽게 비유하자면, '알맹이'에 가깝습니다.얼굴도 다르고, 가정도 다르고, 나이도, 태어난 곳도 다른, 말 그대로 '다른 존재'입니다.그 존재를 호출하는 데 사용되는 이름이라는 것만 같..
1. ScriptableObject ScriptableObject는 Unity에서 데이터를 관리하는 컨테이너 중 하나로, 값의 사본이 불필요하게 많이 생성되는 것을 방지하여 메모리 사용량을 절약하는데 유용하게 사용됩니다. 세 종류의 몬스터가 서로 같은 체력과 공격력을 가지고 있다고 가정하면, 각각의 프리팹이 개별적인 데이터를 지니고 있기 때문에 몬스터의 수가 늘어나면 그만큼 사본의 수도 늘어나 메모리가 크게 낭비됩니다. 하지만 ScriptableObject를 사용하면, 게임 내 모든 몬스터가 하나의 ScriptableObject 데이터를 참조하여 사용하기 때문에 아무리 몬스터의 수가 늘어나도 사본의 수는 늘어나지 않습니다. 2. 에디터 버전과 빌드 버전은 다르다. Unity 에디터 상에서 Scriptab..
1. Mathf.Lerp( ) Mathf 라이브러리에서 제공하는 Learp( ) 메서드는 선형 보간을 구현할 수 있게 해주는 메서드입니다. 흔히 말하는 '부드럽게 이동하기' 기능을 구현하기 위해서 종종 마주하게 되는 메서드입니다. 선형 보간은 쉽게 말해서 두 값이 주어졌을 때, 두 값 사이를 직선으로 이은 뒤, 선형적으로 그 사이의 값을 추정해 내는 기법입니다. 이해를 쉽게 하기 위해 덧붙이자면, AMD에서 개발해 제공하는 Fluid Motion Video 기술을 설명할 때도 '보간'이라는 단어가 등장합니다. Fluid Motion Video 기술은 영상의 두 프레임 사이의 이미지를 추정해 그려낸 뒤, 이를 삽입하여 기존의 영상보다 더 많은 프레임을 지닌(더 부드러운) 영상을 만들어내는 기술입니다. Un..
1. foreach( ) 문 foreach( ) 문은 배열이나 리스트, 딕셔너리 등과 같은 타입의 인스턴스를 매개변수로 받아서 각 요소들을 반복적으로 반환하는 편리한 반복문입니다. var fibNumbers = new List { 0, 1, 1, 2, 3, 5, 8, 13 }; foreach (int element in fibNumbers) { Console.Write($"{element} "); } // Output: // 0 1 1 2 3 5 8 13 하지만 foreach( ) 문은 enumerator를 사용합니다. 다른 언어에서는 iterator라는 단어를 사용하지만, C#에서는 enumerator라는 단어를 사용하므로 구분해 사용하겠습니다. 2. enumerator는 참조 형식(Reference ..
출처 Toggle Button State On/Off - Unity Answers answers.unity.com 1. Toggle은 클릭될 때마다 isOn 변수 값을 바꿉니다. 위 사진은 클릭된 Toggle의 Inspector 창을 찍은 것입니다. 보시다시피 isOn 변수에 true 값이 들어가 있죠. Unity에서 사용하는 Toggle 오브젝트들은 위 사진처럼 클릭이 감지되면 Toggle 컴포넌트의 isOn 변수의 값을 바꿔서 기록합니다. 2. 코드 상에서 isOn 변수 값을 직접 바꾸는 건 위험합니다. 스크립트 상에서도 위의 isOn 변수의 값을 아래와 같이 직접 변경할 수 있습니다. [SerializeField] private Toggle screenSizeNative; screenSizeNati..
1. 환경광(Environment Lighting) 게임 상에 기본적으로 깔리는 광원. 모든 게임 오브젝트에 적용되며, 모든 방향에서 동일한 세기의 빛이 들어온다. 명암, 그림자를 만들지 않는 광원이다. 게임의 전체적인 색 분위기를 결정할 수 있다. 2. 글로벌 일루미네이션(Global Illumination) 물체의 표면에 직접 닿는 빛과 다른 물체의 표면에서 반사되어 들어오는 간접광까지 표현한다. GI라고 줄여서 표현하기도 한다. 성능을 매우 많이 요구하기 때문에 실시간 GI는 처리하기가 버겁다. Unity 엔진에서는 실시간 글로벌 일루미네이션, 베이크 된 글로벌 일루미네이션을 제공한다. 2가지를 함께 사용하거나 1가지만 사용할 수도 있다. 실시간 글로벌 일루미네이션, 베이크 된 글로벌 일루미네이션 ..