본문 바로가기
반응형

개발880

문제해결)Unity) APK 열기 비활성화 및 앱 노출 안 되는 현상 APK 열기 비활성화 및 앱 노출 안 되는 현상 이런 경우에는 Android Manifest 의 설정이 잘못된 경우에 발생한다. Android에는 필수 설정 파일인데 activty 태그의 설정이 잘못된 경우에 발생했다. 기본값은 다음과 같다. ★☆☆☆☆ 2021. 4. 6.
Unity) Object Pool <T>Pattern Object Pool Pattern Unity Docs에서 지원하고 있는 Object Pool Pettern을 찾게 되어서 간략하게 포스팅 한다. namespace DesignPattern.Objectpool { // The PooledObject class is the type that is expensive or slow to instantiate, // or that has limited availability, so is to be held in the object pool. public class PooledObject { private DateTime _createdAt = DateTime.Now; public DateTime CreatedAt { get { return _createdAt; .. 2021. 4. 5.
Unity) Shader Graph #2 캐릭터 스폰 효과 구현 Shader Graph #2 캐릭터 스폰 효과 구현 유니티 튜토리얼로 셰이더에 대한 효과가 있어서 이렇게 포스팅하게 되었다. Unity Tutorial (Shader Graph #2) : [ 링크 ] 결과는 다음과 같다. 스폰의 느낌이 나도록 픽셀 셰이더 부분에 대한 설정값을 추가해서 Y을 기준으로 처리되도록 셰이더 코드를 추가하고 컬러 값과 영역을 계산해서 ITween을 이용해서 스폰되고 셰이더 값을 처리했다. 디 졸프는 기존에 노이즈 텍스쳐를 추가해서 처리가 되었다. 튜토리얼로 따라 하면서 유니티에서 셰이더 그래프를 만드는 기초를 알 수 있어서 좋았고, 누구든지 금방 따라 할 수 있는 정도여서 매우 좋았다. ★★★★☆ 2021. 4. 5.
Unity) 2D Tile Map 만들기 2D Tile Map 만들기 유니티 2D Tile Map 관련된 포스팅이다. 기본적으로 2D로 프로젝트를 만들어주고 [GameObject]-[2D Object] - [ Tilemap ]을 설정하게 되면 Tile Map Grid가 Hierarchy에 생기게 된다. Unity Title Map : [링크] 타일맵 - Unity 매뉴얼 Tilemap 컴포넌트는 2D 레벨을 생성하기 위해 타일 에셋을 저장하고 처리하는 시스템으로, 타일에 배치된 필수 정보를 Tilemap Renderer와 Tilemap Collider 2D와 같은 기타 관련 컴포넌트로 전송합니다. docs.unity3d.com ※스프라이트는 Multiple 모드로 변경하고 Pixels Per Unit 사이즈는 해당 타일 맵의 사이즈로 조절하면 .. 2021. 4. 3.
Tip) vi 명령어 정리 vi 명령어 정리 vi 편집기에서 ESC를 를 통해서 여러 가지 상태로 변경하게 되는데 자주 사용하는 명령어들을 정리했다. vi(Visual Editor) 편집기는 Unix 계열 운영체제에서 주로 쓰이는 오픈 소스 문서 편집기이다. 다음과 같다. 명령 모드(Command Mode) esc i 현재 커서 위치에 삽입(입력모드) a 현재 커서 바로 다음위치에 삽입(입력모드) x 커서가 위치한 곳의 글자 1개 삭제 dw 커서가 위치한 곳에서 부터 단어 삭제(커서의 위치를 기준으로 다음 띄어쓰기전까지) dd 커서가 위치한 곳의 한 줄 삭제 p dd의 명령을 복구 u 방금 한 명령 취소(실행취소 Ctrl + z 기능) 0 커서가 줄의 맨 앞으로 이동 $ 커서가 줄의 맨 끝으로 이동 G 파일 끝으로 이동(대문자) .. 2021. 4. 1.
Unity) Bool 값 인스펙터에서 변경 시 이벤트 처리하기 Bool 값 인스펙터에서 변경 시 이벤트 처리하기 원하는 기능은 인스펙터에 있는 값을 변경할 때 아래와 같은 형태로 처리를 하려고 여러 가지 삽질을 해봤으나. 실패했다. public bool _flag = false; public bool flag{ get{ return _flag; } set{ _flag = value; eventAction(); } } Wrapper Class로 만들어서 셋팅하기도 해 보고 여러 가지 처리를 해봤으나 결국 돌고 돌아서 CustomEditor로 하게 되었다. 관련된 내용 코드는 다음과 같다. using UnityEngine; #if UNITY_EDITOR using UnityEditor; #endif public class ExampleScript : MonoBehavi.. 2021. 3. 24.
Mac)해결)Unity)Error building Player: Win32Exception: Application Name ='~/AndroidPlayer/SDK/tools/bin/sdkmanager' Error building Player: Win32Exception: Application Name ='~/AndroidPlayer/SDK/tools/bin/sdkmanager' 이런 에러가 나기 시작했다. 환경은 Mac 에서 Android Build를 진행하는 과정에서 빌드가 실패가 되고 실제 빌드도 안 되는 상황이다. 단순하게 Access denied 를 보고 권한이 없구나로 생각을 해서 권한 명령어인 chown을 사용해서 해당 권한을 받고 처리를 해보려고 했으나 실패. 디버깅에 찍힌 로그는 다음과 같았다. Win32Exception: ApplicationName='/Applications/Unity/2019.4.7f1/PlaybackEngines/AndroidPlayer/SDK/tools/bin/s.. 2021. 3. 23.
문제해결) Visual Studio 프로젝트 참조가 깨진경우 Visual Studio 프로젝트 참조가 깨진 경우 버전 업 및 프로젝트의 연결이 갑자기 깨진 경우에 위와 같이 에러가 엄청 나오게 된다. 막상 프로젝트의 솔루션에 포함되어있지만 읽지 못하는 경우에서 해결방법이다. [빌드]-[솔루션 다시 빌드]를 선택해서 솔루션이 다시 빌드가 되면 정상적으로 읽는다. ★☆☆☆☆ 2021. 3. 22.
Tip)Google Play Console 개발자 등록하기 Google Play Console 개발자 등록하기 구글 콘솔에 이것저것 기능을 개인적으로 테스트해보기 위해서 개인 개발자 등록을 진행했다. 계정 생성하는 과정에서 전화번호는 국제 번호로 입력을 해야 한다. 010-1234-5678 일 경우에는 다음과 같다. 대한민국 : +82 핸드폰: 010 => 10 +821012345678 구글 계정을 등록하는 과정에서는 25$(25달러)가 결제가 된다. 생성 및 카드입력 후 결제를 진행하면 계정이 생성된다. 이제 이것저것 기능들을 진행해볼 수 있게 됐다. ★☆☆☆☆ 2021. 3. 22.
Unity)2D 개발 꿀 팁 (Unity 공식) 2D 개발 꿀 팁 (Unity 공식) Unity Korea의 영상중 2D 개발 꿀팁이라는 항목으로 영상이 업로드돼서 정리한 포스팅이다. 2D 템플릿으로 2D 프로젝트 시작하기 스프라이트의 단위당 픽셀 선택 2D PSD Importer 픽셀 오버드로우 줄이기 콜라이더 합치기 2D로 개발할때 템플릿을 선택하게 되면 3D 관련된 요소들이 포함되어 있지 않고 좀 더 가볍게 개발이 가능하다 내부에 포함된 내용으로는 다음과 같다. 2D animation, 2D pixel Perfect, 2D PSD Importer, 2D SrptieShape 등이 포함되어있다. 2D를 개발하는 과정에서 Pixcels Per Unity 를 선택할 수 있다고 한다. 개발하는 과정에서 크기를 지정해서 하게되면 비율도 일정하게 되고 개발.. 2021. 3. 22.
Unity) JsonUtility class Parsing Problem JsonUtility class Parsing Problem Unity에서 내장으로 JSON을 파싱 해주는 JsonUtility를 사용하다 보면 serialize/ deserialize 를 사용해서 JSON 형태로 변경이 가능하다. List 형태로 변환하는 과정에서 데이터 변경이 안 되는 문제가 있는데 이때 해당 클래스도 [System.Serializable]으로 변경해야 된다. public class ParsingClass { public List list; } [System.Serializable] public class ParsingInfo{ public string name; } Unity Doc : [링크] Unity - Scripting API: JsonUtility.ToJson Interna.. 2021. 3. 18.
코드) Switch Value 조건 범위 설정 Switch Value 조건 범위 설정 예전에는 안됬지만 지금은 가능할것 같아서 확인해봤는데 역시 가능하다. 이 문법이 가능한 환경은 다음과 같다. (Visual Studio 2017 / .NET Framework 4.6.2에서 기본적으로 사용 가능) int i = 63; switch (i) { case int n when (n >= 100): Console.WriteLine($"I am 100 or above: {n}"); break; case int n when (n = 50 ): Console.WriteLine($"I am between 99 and 50: {n}"); break; case int n when (n < 50): Console.WriteLine($"I am les.. 2021. 3. 16.
코드)정규식(Regex) 예제 정규식(Regex) 예제 정규식은 텍스트를 처리하는 강력하고 유연하며 효율적인 방법을 제공합니다. 정규식의 광범위한 패턴 일치 표기법을 사용하면 많은 양의 텍스트를 빠르게 구문 분석하여 다음을 할 수 있습니다. 특정 문자 패턴을 찾습니다. 텍스트의 유효성을 검사하여 미리 정의된 패턴(예: 전자 메일 주소)과 일치하는지 확인합니다. 텍스트 하위 문자열을 추출, 편집, 바꾸기 또는 삭제합니다. 보고서를 생성하기 위해 추출된 문자열을 컬렉션에 추가합니다. using System.Text.RegularExpressions.Regex를 선언한다. Dictionary info = new Dictionary{ {"achievement_1_win", "key_1"}, {"achievement_10_win", "key_.. 2021. 3. 12.
기본기) Seed Random 구현 방식(고정랜덤) Seed Random 구현 방식(고정 랜덤) Random이라는 난수를 발생시키는 과정에서 늘 항상 고정으로 특정 처리를 하고 싶은 경우에 사용한다. 실제 난수발생기 로직으로 볼 수 없고 '선형 합동 생성기'라고 한다. 특정 시드를 기준으로 늘 항상 같은 List를 값을 반환해주는 코드이다. public class SeedRandom { private int seed; private List m_listShuffleData = new List(); public SeedRandom(int nSeed, int _totalCount) { seed = nSeed; ShuffleIntList(_totalCount); } #region Private Method private float Random() { seed+.. 2021. 3. 8.
기본기)c#) is 연산자, as 연산자 is 연산자, as 연산자 is 연산자는 자료형 타입 (형식)과 일치하는지 확인하기 위해서 사용한다. 사용 방식은 다음과 같다. 변수 is 타입으로 선언하게 되면 형식이 맞는지에 대한 return 값 (bool)으로 확인이 가능하다. using System; public class Employee : IComparable { public String Name { get; set; } public int Id { get; set; } public int CompareTo(Object o) { if (o is Employee e) { return Name.CompareTo(e.Name); } throw new ArgumentException("o is not an Employee object."); } } .. 2021. 3. 5.
반응형