반응형

[Unity]/[Unity] 38

[Unity] IComparer, IComparable 인터페이스

1. IComparer, IComparable 인터페이스 : 개체의 값을 비교하기 위한 인터페이스. .NET 프레임워크에서 제공하는 객체의 선후 관계를 정의하는 인터페이스입니다. 2. IComparer, IComparable의 차이점 : 둘 다 개체의 값을 비교하는 인터페이스인데요, 사용 방법은 거의 비슷한데 차이점을 둔다면, IComparable은 현재의 개체를 같은 타입의 다른 개체와 비교(같은 타입끼리 비교)한다면 IComparer는 두 개의 서로 다른 개체를 비교(제 3자와 비교하는 것)한다는 것입니다. 3. IComparable IComparable 인터페이스에는 CompareTo()라는 메서드만 정의되어 있습니다. CompareTo() 메서드를 정의해두면, Array.Sort()메서드를 사용했..

[Unity]/[Unity] 2022.02.10

[Unity] 유니티 빌드 버전 관리하는 법

버전은 일반적으로 위와 같이 "(Major 버전 번호).(Minor 버전 번호).(Patch 버전 번호)" 규칙으로 표기합니다. 유니티에서는 이 버전을 "Edit - Project Settings - Player - Version" 루트를 통해 수동으로 관리합니다. 하지만 버전업 할 때마다 이 루트를 통해 직접 수정해주게 되면 번거롭기 때문에, 자동으로 업데이트되게 하려 합니다. Editor에 버전과 관련된 스크립트를 작성해 아래와 같이 4가지 기능을 추가할 겁니다. 1. Auto Increase Build Version : 빌드할 때마다 자동으로 패치 버전이 올라가게 설정 2. Check Current Version : 현재 버전 체크 3. Increase Major Version : Major 버전 ..

[Unity]/[Unity] 2021.12.19

[Unity] Shader(셰이더)와 Rendering Pipeline(렌더링 파이프라인)

1. 셰이더란? : 3D 컴퓨터 그래픽에서 다양한 시각적 효과(위치, 색상, 텍스쳐, 조명 등)를 계산하여 최종적으로 화면에 출력할 픽셀의 위치와 색상을 계산하는 함수. - 셰이더의 특징 : 다수의 정점을 한 번에 계산하지 않고, 하나의 정점이 입력되면 그 하나의 정점에 대해서만 계산과 처리를 한다. (각 정점의 수만큼 셰이더가 개별적으로 계산을 실행하는 것) 2. 렌더링이란? : 정점(Vertex)으로 정의된 물체를 그려내는 과정 3. 렌더링 파이프라인이란? : GPU를 이용해 3D 이미지 리소스를 2D 래스터 이미지로 표현하기 위한 단계적인 과정. * 래스터 이미지 : 픽셀로 표현되는 이미지 4. 렌더링 파이프라인의 과정 1) Vertex 데이터 : Vertex 데이터들을 받아옴(index numbe..

[Unity]/[Unity] 2021.12.16

[Unity] 웹사이트 URL 연결하는 법(feat. Application.OpenURL)

안녕하세요 극꼼입니다. 오늘은 버튼을 클릭하면 웹사이트 URL로 이동하는 방법입니다. 게임을 만들던 도중 개인정보처리방침 웹페이지에 버튼을 눌러 링크로 이동하는 식으로 만들기 위해 알아보았습니다. 사용 방법은 간단합니다. public void PrivateButton() { Application.OpenURL("https://mngb.co.kr/%EC%9E%90%EB%A3%8C%EC%8B%A4/?mod=document&pageid=1&uid=153&execute_uid=153"); } 버튼에 위의 함수를 붙인 후, 버튼을 누르면 링크로 잘 이동하는 것을 확인할 수 있습니다.

[Unity]/[Unity] 2021.10.03

[Unity] Unable to find java in the system path 오류 해결 방법

유니티를 이용하던 도중 위와 같은 문제가 생겼습니다. 자바를 설치한 적 없기 때문에 생기는 문제인데요, JDK의 경로를 JAVA_HOME 으로 추가해주면 됩니다. 1. 본인의 유니티 에디터에 설치된 JDK 경로를 확인해줍니다. Edit - Preferences - External Tools 에서 확인할 수 있습니다. 2. JAVA_HOME 설정 제어판에서 시스템 - 고급 시스템 설정 - 환경변수 로 들어가줍니다. 새로 만들기를 눌러줍니다. 변수 이름에 JAVA_HOME을 입력한 후, 방금 복사해온 경로를 입력해줍니다. 컴퓨터를 리부팅해준 후, 프로젝트로 돌아와서 Play Services Resolver - Android Resolver - Force Resolve

[Unity]/[Unity] 2021.09.26

[Unity] Input Field의 이벤트(On Value Change, End Edit)

안녕하세요, 극꼼입니다! 지난 포스팅에서 텍스트 값을 직접 입력하는 방법인 Input Field를 사용하는 방법을 알아보았는데요, https://geukggom.tistory.com/135 [Unity] 직접 텍스트 입력하는 방법(feat. Input Field UI) 안녕하세요, 극꼼입니다. 오늘은 플레이 중 직접 텍스트를 입력하는 방법에 대해 알아보겠습니다. 먼저 캔버스에 Input Field UI를 만들어줍니다. 아래와 같은 입력란이 생기는데요, 저는 이 입력란 geukggom.tistory.com 이번 포스팅에서는 Input Field에서 텍스트 내용을 바꿨을 경우 호출되는 이벤트인 On Value Change와, 사용자가 텍스트 내용 수정을 마친 후 호출되는 이벤트인 End Edit, Submi..

[Unity]/[Unity] 2021.09.18

[Unity] CryptographicException: Padding is invalid and cannot be removed 오류 해결하기

게임 데이터를 암호화해서 쓰는 저에게 이런 오류가 떴습니다. * 암호화 : https://geukggom.tistory.com/76 [Unity] Xml 사용 방법 (feat.암호화/복호화) 안녕하세요! 극꼼이입니다. 오늘은 게임 데이터를 저장하고 불러올 때 사용하기 위해 제가 사용한 Xml 코드를 포스팅해보겠습니다. 사용 방법이 굉장히 쉽고 접근성도 좋기 때문에, 유저들이 접 geukggom.tistory.com 바로 암호화 코드에 아무 값도 들어가지 않았을 때 생기는 오류였는데요, 이런식으로 PlayerPrefs에 "asd"라는 키가 존재하지 않을 경우 이런 오류가 뜹니다. 해결방법은 간단합니다. 이렇게 HasKey 키워드를 통해 해당 키가 존재할 경우에만 위의 코드를 읽게 해주면 됩니다. * Pla..

[Unity]/[Unity] 2021.09.16

[Unity] UI 리소스 만드는 방법(sliced sprite)

유니티를 사용하다보면 UI 리소스를 직접 만드는 상황이 생깁니다. 채팅방을 만드는 중인데, 원하는 UI로 말풍선을 만드려 하는데, 아무 처리 없이 이미지를 그냥 넣을 경우, 이렇게 그냥 이미지가 늘어나기만 합니다. 제가 원하는 이미지는 아래와 같이 모서리는 그대로 두고, 변만 늘리는 겁니다. UI를 리소스화하는 쉽고 빠른 대표적인 방법은 9Grid입니다. 이미지를 다음과 같이 9부분으로 자르는 방법이며, 유니티에 들어있는 기본 UI 이미지는 이와 같은 방법으로 리소스화되어 있습니다. 이제 간단하게 9Grid를 만드는 방법을 알아보겠습니다! 이미지를 유니티 내로 가져온 후, Texture Type을 Sprite로 해준 뒤에 Sprite Editor를 누릅니다. 아래 영상처럼 네 변을 잡고 움직입니다. 참고..

[Unity]/[Unity] 2021.09.12

[Unity] 안드로이드 앱 빌드할 때, Required Api level Error 해결 방법

빌드할 때 아래와 같은 경고창이 떠서 이것도 해결해줄겁니다. 구글 플레이스토어에서는 API 레벨을 29로 하지 않은 앱은 업데이트를 할 수 없습니다. 따라서 빌드 전 API레벨을 29~30으로 변경해줍니다. 안드로이드 API 설정은 플레이어 설정에서 할 수 있습니다. Project settings → Player → other settings → Target API Level ( Minimum API Level) 설정을 29~30 버전으로 변경한 후에 프로젝트를 빌드하면, 위에 나온 경고창과 같이 Andrioid SDK is Missing required platform API 메시지가 출력됩니다. Android SDK tools를 최신 버전으로 업데이트하면서 unity가 사용하던 기능이 없어진 것입니다..

[Unity]/[Unity] 2021.09.10
반응형