본문 바로가기
반응형

개발779

Unity)License Revoked~ (라이선스 에러) License Revoked~ (라이선스 에러) 갑자기 Unity Hub를 실행하고 프로젝트를 선택했을때 해당 에러 팝업이 나왔다. 간단하게 라이선스 서버가 잘못됬는지 기존에 갱신해둔 라이선스가 삭제되어서 나오는 메시지로 간단하게 라이선스를 갱신해주면 해결이 된다. Unity Hub 에서 환경설정을 들어간다. 라이선스 메뉴에서 새로고침 및 추가를 눌러서 라이선스를 갱신한다. Unity 온라인 라이선스 활성화 : [링크] 온라인 라이선스 활성화 - Unity 매뉴얼 Unity를 사용하려면 활성화된 라이선스가 필요합니다. Unity Plus 또는 Pro 라이선스의 경우 일련 번호가 있어야 하며 Unity Personal 라이선스의 경우에는 일련번호가 없어도 됩니.. 2024. 3. 20.
기본기) 조건문 반전(Invert if statement) 조건문 반전(Invert if statement) Invert if statement 의 형태로 해당 조건에 만족하지 않는지를 먼저 판단하는 형태로 결국 해당 조건에 만족하지 않는 조건들이 먼저 선행되서 return을 처리해서 분기를 빠져나가는 형태로 구성되는 코드형태를 말한다. 휴먼이슈를 줄이고 좀더 가독성과 유지보수성을 높일수 있는 방법들이다. bool condition = true; // Original if statement if (condition) { Console.WriteLine("Condition is true"); } else { Console.WriteLine("Condition is false"); } // Inverted if statement if (!condition) { Co.. 2024. 3. 20.
기본기) 패턴 매칭 (Pattern Matching ) 패턴 매칭 (Pattern Matching ) Pattern Matching은 C# 7.0 버전부터 지원되는 기능으로, 단순한 값 비교뿐 아니라 여러 종류의 패턴을 사용하여 객체나 데이터 구조체의 값을 비교하고 추출할 수 있다. 주로 조건문(if)나 분기(Switch)에서 사용하고 다양한 패턴을 활용해서 코드를 간결하고 가독성 있게 작성이 가능하다. 정보를 기반으로 로그인하는 예시를 보면 다음과 같다. using System; public enum LoginStatus { Success, InvalidUsername, InvalidPassword } public class User { public string Username { get; set; } public string Pass.. 2024. 3. 18.
기본기) Guard Clause(Guard Statement) Guard Clause(Guard Statement) 메소드나 함수의 시작 부분에서 입력 매개변수나 조건을 빠르게 검사하여 불필요한 실행을 방지하고 코드의 가독성을 높이는 방법중 하나이다. 보통 조건문(if)를 활용해서 작성을 한다. Guard Clause 를 사용하게 되면 조건에 해당하지 않는 여러가지 많은 조건들이 있는 경우에 조기 종료 / 중지 시키는 것으로 오류를 빠르게 발견하고 코드를 더 쉽게(가독성) 해석하거나 유지보수하기가 쉽게 만든다. 간단하게 음수가 아닌 양수의 값인 경우에만 처리하는 조건 예시이다. using System; public class Example { public void CheckPositiveNumber(int number) { // Guard Cl.. 2024. 3. 18.
문제해결)Exception catched :System.ArgumentException: Enum underlying type and the object must be same type or object must be a String. Type passed in was 'System.Int64'; the enum underlying type was 'System.Int32'. at System.RuntimeType.IsEnumDefi.. Exception catched :System.ArgumentException: Enum underlying type and the object must be same type or object must be a String. Type passed in was 'System.Int64'; the enum underlying type was 'System.Int32'. at System.RuntimeType.IsEnumDefined 해당 문제는 C#에서 enum 의 정의된 값이 있는지 판단하는 Enum.IsDefined를 사용하다가 발생한 에러로 해결방법을 간략하게 포스팅 한다. 설명 데이터 타입 불일치 enum을 다룰 때 올바른 데이터 타입을 사용하는지 확인하세요. en.. 2024. 3. 8.
Unity)PSD Import (.PSD 파일를 Unity 에서 바로 사용) PSD Import (.PSD 파일를 Unity 에서 바로 사용) PSD 임포터는 Adobe Photoshop .psb 파일을 Unity로 가져오고 가져온 소스 파일을 기반으로 스프라이트의 프리팹 을 생성 하는 에셋 임포터 입니다 . .psb 파일 형식은 기능적으로 일반적인 Adobe .psd 형식 과 동일 하지만 .psd 형식보다 훨씬 더 큰 이미지(모든 크기에서 최대 300,000픽셀)를 지원합니다. 기존 아트워크를 .psd에서 .psb 형식으로 변환하려면 해당 아트워크를 Adobe Photoshop에서 연 다음 .psb 파일로 저장할 수 있습니다. PSD Importer로 .psb 파일을 가져오면 모자이크 (가져온 레이어에서 스프라이트 시트를 자동으로 생성) 및 캐릭터 리그 (소스.. 2024. 3. 8.
알고리즘)Decision Trees Algorithm(의사 결정 알고리즘) 보호되어 있는 글 입니다. 2024. 3. 8.
Unity) Animation Curve Preset 만들기 Animation Curve Preset 만들기 간단하게 Easing (애니메이션 및 움직임을 부드럽게 만들기 위한 기술)을 Preset 을 한눈에 볼수 있고 선택할수 있도록 하는 코드를 Animation Curve를 기반으로 코드를 작성했다. 선택하면 자동으로 Animation Curver가 기본 1을 기준으로 셋팅이 된다. 이후에 해당 Curve를 조금 조절하거나 Property를 변경해서 사용하려고 만들었다. 한눈에 Preset을 확인할수 있어서 편리한것 같다. [Unity -Top Paid Package] [Unity -Top Free Package] [Unity -New Asset Package] ★☆☆☆☆ 2024. 3. 6.
문제해결) Visual Studio 2020 로그인 실패로 인한 캐시 삭제 Visual Studio 2020 로그인 실패로 인한 캐시 삭제 Visual Studio를 사용하는 과정에서 로그인이 실패가 계속 나서 캐시를 삭제하는 것으로 해결이 되었다. 간단하게 포스팅한다. LocalAppData 파일을 들어간다. 명령어는 다음과 같다. %localAppData% [직접 이동 경로] C:\Users\{사용자명}\AppData\Local Microsoft\VisualStudio\{버전}\ComponentMedelCache 폴더를 찾는다. 해당 폴더를 삭제하고 다시 Visual Studio를 실행하고 Login을 진행한다. Visual Studio의 ComponentModelCache 폴더는 솔루션 및 프로젝트 파일.. 2024. 3. 5.
UnityAsset) AI Assistant 사용해보기 AI Assistant 사용해보기 Asset 에서 구매해서 사용하면 된다. 해당 .unityPacakge를 Import 한다. 에셋 구매 링크 : [링크] uAI - AI Assistant | 생성형 AI | Unity Asset Store Get the uAI - AI Assistant package from AssetRealm and speed up your game development process. Find this & other 생성형 AI options on the Unity Asset Store. assetstore.unity.com 사용하기전에 Open AI 의 계정과 사용할수있는 상태여야 한다. Open API에서 API token을 등록 하면 된다. 내부에 사용법.. 2024. 2. 23.
프로토타입) 딸기 농장 카드 게임 -1 딸기 농장 카드 게임-1 딸기 농장을 경영하는 게임으로 Portrait (세로) 형으로 카드를 Drag & Drop 하는 형식으로 카드를 내는 싱글 게임이다. ---------------------------------------------------------------------------------------------------------------------------------- 1. 주어진 목표 ( 스테이지 목표에 있는 금액 이상 소지) 2. 딸기수확을 카드화해서 진행하는 싱글 게임 카드에 들어갈 데이터를 ScriptableObject 로 작업했다. 카드에 대한 타입은 간단하게 처리했고해당 데이터는 카드와 1:1로 매칭될수 있도록 작업할 예정이다. Insepctor에는 가독.. 2024. 2. 19.
Unity코드) RectTransform 을 World 좌표로 계산 코드 RectTransform 을 World 좌표로 계산 코드 특정 RectTransform 의 위치에 대한 Position 값이 필요한 상황에서 유용하게 사용할수 있는 코드이다. private Vector3 GetWorldPosition(RectTransform rectTransform) { Vector3[] corners = new Vector3[4]; rectTransform.GetWorldCorners(corners);// RectTransform의 꼭지점 좌표를 World 좌표로 가져옴 Vector3 center = Vector3.zero; foreach (Vector3 corner in corners) center += corner; center /= 4f; // 네 꼭지점의 평균을 구해 RectT.. 2024. 2. 15.
잡학지식) 페어와이즈 테스트(Pairwise Testing) 페어와이즈 테스트(Pairwise Testing) 페어와이즈 테스팅은 소프트웨어 테스트 기술 중 하나로, 시스템의 기능을 충분히 검증하면서도 실행해야 하는 테스트 케이스의 수를 체계적으로 줄이기 위한 기법이라고 한다. 페어와이즈 테스팅은 입력 매개변수의 모든 쌍을 테스트함으로써 많은 결함을 발견할 수 있는데, 이를 모든 조합을 테스트하지 않아도 확인이 가능한 케이스를 만들어 낸다. 소프트웨어 시스템에서는 여러 입력 매개변수가 있을 수 있으며, 모든 가능한 조합을 테스트하는 것은 현실적이지 않거나 시간이 많이 소요될 수 있다. 페어와이즈 테스팅은 입력 매개변수의 모든 쌍을 테스트하는 대표적인 하위 집합을 선택하여 대처한다. 설명 입력 매개 변수 식별 소프트웨어 동작에 영향을 미칠 수 잇는 다양한 입력 매개.. 2024. 2. 5.
Unity) TextMeshPro 특정단어 Click 이벤트 ( HyperText / Text Click) TextMeshPro 특정단어 Click 이벤트 ( HyperText / Text Click) Text의 특정 단어를 클릭하면 처리하는 하이퍼텍스트(클릭시 링크) 하는 기능이 필요해서 사용방법을 간단하게 포스팅한다. Text에 다음과 같은 형태로 작업하면 된다. Click Action 여기서 "ID" 라고하는건 고유하게 식별이 가능하기 위한 텍스트로 가독성있는 단어로 하면 된다. 해당 스크립트를 추가하고 이벤트에 대한 설정을 하면 된다. using System; using System.Collections.Generic; using TMPro; using UnityEngine; using UnityEngine.EventSystems; /// /// Te.. 2024. 2. 5.
문제해결)Unity)GUI Error: Invalid GUILayout state in view. Verify that all layout Begin/End calls matchUnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&) GUI Error: Invalid GUILayout state in view. Verify that all layout Begin/End calls matchUnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&) GUI 작업을 하다가 다음과 같은 에러가 발생해서 간략하게 포스팅한다. 에러 코드가 직관적이여서 확인해보면 Begin 과 End 는 쌍으로 작업이 되어야한다고 한다. 확인해보니 코드가 누락되어서 그렇다. EditorGUILayout.BeginHorizontal(); ... EditorGUILayout.EndHorizontal(); 좀더 직관적으로 처리하기 위해서 구분을 하는것도 가독성이 좀더 좋아진다. float columnWidth = .. 2024. 2. 2.
반응형