본문 바로가기
반응형

개발/Unity336

Unity) 빠른 검색(Quick Search) 빠른 검색(Quick Search) 빠른 검색을 위해서 에셋을 찾거나 실행할 수 있는 검색 툴이다. 유니티 메뉴에서 설치가 가능하고 실행이 가능하다. [Help]-[Quick Search]를 선택하면 미설치면 설치가 자동으로 진행된다. 단축키로는 Alt + ' (엔터 옆) 단축키로 실행할 수 있다. 단축키나 메뉴를 누르면 해당 검색창이 뜨는데 여러가지 검색 필터 방법으로 검색이 가능하다. 단순 이름으로 검색하는 과정에서도 Icon / 이름 / Path를 쉽게 확인 가능하다. 여러 가지 형태로 검색 필터를 지원한다. 그중에서 자주 사용할 것 같은 필터만 정리하면 다음과 같다. t: [타입] t:scene intro 타입을 기준으로 검색합니다. intro.scene을 검색합니다. h: [찾을 이름] h: M.. 2021. 11. 5.
Unity)Asmdef (어셈블리 정의) Asmdef (어셈블리 정의) Unity에서 어셈블리로 따로 정의해서 파일을 만들 수 있다. 어셈블리 파일로 관리를 하게되면 특정 스크립트만 따로 재 빌드해서 컴파일 시간을 단축할 수 있다. 어셈블리 정의가 따로 없으면 하나의 어셈블리 파일에 같이 컴파일된다. 컴파일되는 항목을 분리해서 사용하면 컴파일 시간도 단축되고 독립성도 유지된다. Asmdef 생성을 원하는 폴더를 클릭해서 [Create] - [Assembly Definition] 메뉴를 선택한다. 새로 생성된 어셈블리 파일이 정상적으로 추가된것을 확인 가능하다. Asmdef 파일 속성에 대해서 간략하게 정리하면 다음과 같다. Auto Referenced 사전 정의된 어셈블리가 어셈블리를 참조하는지 여부 (자동 참조) No Engine Refere.. 2021. 11. 2.
Unity) 고급 프로젝트 설정 /커맨드 라인 설정 고급 프로젝트 설정 / 커맨드 라인 설정 Unity에서 추가로 환경을 변경(불칸렌더러, opengl) 하기 위해서는 커맨드 라인으로 추가해야 한다. 고급 프로젝트 설정에 추가로 커맨드 라인 인자를 입력하고 실행하면 적용된다. -force-vulkan 으로 불칸렌더러를 실행하면 상단이 바뀐 것을 확인이 가능하다. 여러 가지 커맨드 라인들이 존재한다. -force-vulkan Editor가 렌더링에 Vulkan을 사용하도록 합니다. 일반적으로 그래픽 API는 플레이어 설정에 따라 다릅니다 . -force-glCore Editor가 렌더링을 위해 OpenGL 3/4 코어 프로필을 사용하도록 합니다. 편집기는 사용 가능한 최상의 OpenGL 버전과 OpenGL 드라이버에 의해 노출된 모든 OpenGL 확장을 사.. 2021. 10. 27.
Unity) Google Admob 적용하기(광고붙이기) Google Admob 적용하기(광고붙이기) Unity admob을 샘플로 적용하면서 포스팅을 정리한다. 테스트 버전은 GoogleMobileAds-v6.1.2 으로 진행했다. Google Admob SDK .unitypacakge를 import 진행한다. 이후 Assets-Google Mobile Ads - Setting 메뉴를 클릭하면 GoogleMobileAdsSettings라는 ScriptableObject가 생겨난다. 앱의 Ads ID를 추가한다. 현재는 테스트 Sample ID로 입력해서 테스트했다. 광고 ID를 입력하려면 Admob에 가입되고 설정을 추가해야 한다. 필요한 광고들을 추가로 설정하고 해당 코드에서 호출하는 처리를 진행한다. 배너 광고 | Unity | Google Develop.. 2021. 10. 25.
Unity) 기즈모 활용 하기(Gizmos) 기즈모 활용 하기(Gizmos) Unity 에서 Editor에서 보이는 Gizmo를 커스터마이징해서 필요한 정보를 더 많이 노출되고 개발에 용이하게 사용이 가능하다. Edior에서만 처리가되기 때문에 처리하는 플랫폼이 Editor가 아닌 경우에는 노출되지 않는것을 명심해야 한다. Unity 설명에서 Gizmos는 시각적 디버깅 또는 씬뷰에서 설정을 돕기위해서 사용한다고 한다. 항상 노출되려면 OnDrawGizmos 에서 구현한다. 오브젝트를 선택할때 기즈모에서 나오도록 하는 경우는 OnDrawGizmosSelected 에서 구현한다. OnDrawGizmos는 매 프레임마다 호출된다. using UnityEditor; void OnDrawGizmos() { //Always } void OnDrawGizmo.. 2021. 10. 13.
Unity)안드로이드 심볼 활성화(Enabling Android symbols) 안드로이드 심볼 활성화(Enabling Android symbols) Unity는 스택 추적을 기호화하고 앱을 디버깅하는 데 사용할 수 있는 네이티브 라이브러리용 기호가 있는 패키지를 생성할 수 있다. 심볼화 는 활성 메모리 주소를 메서드 이름과 같이 사용할 수 있는 정보로 변환하는 프로세스입니다. 이는 충돌이 발생한 위치를 이해하는 데 도움이 됩니다. 또한 기호 패키지를 Google Play Console에 업로드하여 Android Vitals 대시보드에서 사람이 읽을 수 있는 스택 추적을 할 수 있다. Project Settings- Other Settings - Configuration -Scripting Backend 옵션을 Mono -> IL2 CPP 일 때 Create symbols.zip이 .. 2021. 10. 7.
Unity) 앱 난독화(Proguard) 앱 난독화 (Proguard) 앱을 서비스하다 보면 난독화하는 Proguard에 대해 접하게 된다. Proguard란? 빌드 후 나온 파일을 난독화 시켜서 기존의 코드가 다른 형태의 코드로 알아보기 힘들게 변경시키는 과정을 말한다. 이게 100% 보안을 유지시켜주는 것은 아니나 1차적인 방어막 정도는 될 수 있다. [Project Setting] - [Player] - [Publishing Setting] -[build]의 Custom Proguard File과 Custom Main Gradle Template를 생성한다. Android - mainTemplate와 proguard-user가 생성된다. 기본적인 mainTemplate의 내용은 다음과 같다. 그중에서 눈여겨봐야 할 위치는 consumerP.. 2021. 10. 4.
Unity)문재해결) Fatal Error Logs/AssetImportWorker0.prev.log: 다른 프로세스가 파일을 사용중이기 때문에 프로세스가 엑세스 할 수 없습니다. Fatal Error Logs/AssetImportWorker0.prev.log: 다른 프로세스가 파일을 사용 중이기 때문에 프로세스가 엑세스 할 수 없습니다. Unity에서 Editor Log가 실행중으로 계속적인 에러가 나는 상황이다. Editor에서 사용 중인 상태에서 다른 프로세스가 겹치면서 해당 프로세스를 정상적으로 종료하지 못하는 상황이다. 작업 관리자에서 Unity Editor로 되어있는 항목을 찾아서 '작업 끝내기'로 백그라운드에서 도는 프로세스를 강제로 종료하고 다시 실행하면 정상적으로 된다. ★☆☆☆☆ 2021. 9. 29.
문제해결)Unity)The option 'android.enableR8' is deprecated and should not be used anymore. The option 'android.enableR8' is deprecated and should not be used anymore. WARNING: The option 'android.enableR8' is deprecated and should not be used anymore. It will be removed in a future version of the Android Gradle plugin, and will no longer allow you to disable R8. FAILURE: Build failed with an exception. 위와 같은 에러가 나오면서 Unity - Android 빌드가 정상적으로 되지 않는 현상이 있었다. 해당 옵션이 이제 deprecated 처리가 필요.. 2021. 9. 17.
Unity)Animation State Machine(메카님 사용방법 정리) )Animation State Machine(메카님 사용방법 정리) 유니티에서 애니메이션을 컨트롤하는 상태를 변경이 가능하다. 관련돼서 많은 작업을 했지만 정리가 좀 필요해서 포스팅하게 되었다. 애니메이터(Animator)를 생성 후에 필요한 애니메이션들을 드래그 앤 드롭을 진행한다. 여기서 마우스 오른쪽으로 Default Animator를 설정할수 있다.(주황색. Grounded) Empty 노드도 생성 가능하다. Animation들의 Flow는 특정 Animation을 클릭 후 Transition을 생성해서 연결시키면 된다. 화살표 방향이 이동방향으로 생각하면되고 해당 Condtion은 Animator의 Parameters에서 추가가 가능하다.(Float, int , Trigger, Bool) 등등 .. 2021. 9. 13.
Unity) Unity Certified (유니티 인증 시험) Unity Certified (유니티 인증 시험) Unity에서 해당 자격에 대한 인증 시험이라는 항목이 있어서 포스팅하게 되었다. 인증 시험은 경력 및 역할에 따라 항목이 다르다. 간략하게 프로그래머의 관련된 직종은 다음과 같다. 게임 플레이 프로그래머 소프트웨어 엔지니어 소프트웨어 개발자 Unity 개발자 모바일 애플리케이션 개발자 관련된 기술 스펙에 해당되는 항목은 다음과 같다. 게임 오브젝트 / 물리 / 입출력 / 카메라 메테리얼, 텍스처, 쉐이더, 라이팅, 파티클 인터페이스, HUD, 네트워킹, 사용자 데이터 오디오, 게임오브젝트, 인스턴스, 네비게이션 프로파일링, XR 플랫폼에 공통적으로 사용되는 UI 오퍼던스 및 최적화, 빌드 플랫폼 디버깅 및 테스트 기법, 모듈성, 가독성 및 재사용성을 위.. 2021. 8. 18.
Unity) 다중 씬 편집 (Multi-Scene Editor) 다중 씬 편집(Multi-Scene Editor) Unity에서는 Scene이라는 화면 장면 단위로 작업을 진행한다. 다중 씬(Multi-Scene)으로 Scene을 분리해서 해당 화면을 구성하는 경우에 알아두면 좋은 팁이다. Scene을 구분해서 구성하다 보면 번들화 및 독립성이 보장되다 보니 개발하는 과정에서도 수월하다. 그러나 Play 모드와 Editor 모드와 다른 화면으로 구성되게 되면 굉장히 불편하다. 현재 실행된 Scene에서 추가로 Addtive 처리할 신을 Project에서 'Open Scene Additive'를 선택한다. 다음과 같이 추가가 된다. 씬의 활성화 및 저장 및 제거를 하려면 해당 씬에서 마우스 우클릭해서 설정하면 된다. 메뉴 설명 Set Active Scene 해당 장면(.. 2021. 7. 14.
Unity) Profiler Custom / Profiler Analyzer(프로파일러 / 프로파일링) Profiler Custom / Profiler Analyzer(프로파일러 / 프로파일링) 프로파일러의 필요한 항목을 필터 및 분석기 설치 및 활용하기 프로파일러의 Profiler Modules를 누르게 되면 프로파일링 항목에 대한 체크 옵션 화면이 나온다. Editor로 가서 Add를 누르면 10가지 항목에 대해서 프로파일러를 지정할수 있다. 간단하게 자신이 필요한 항목들을 몇가지 정해서 프로파일러를 커스텀해서 확인이 가능하다. Unity Package Manager에서 Profile Analyzer를 검색해서 설치한다. 설치하게 되면 Profile Analyzer라는 항목이 생긴다. 프로파일러를 활성화하게 되면 Pull Data 버튼이 활성화된다. Pull Dat.. 2021. 7. 8.
문제해결)error CS0012: The type `System.Threading.Tasks.Task' is defined in an assembly that is not referenced. Consider adding a reference to assembly error CS0012: The type `System.Threading.Tasks.Task' is defined in an assembly that is not referenced. Consider adding a reference to assembly 그전의 Firebase 패키지를 처리하는 도중에 새롭게 적용하고 난 이후에 Visual Stduio에서 정상적인 코드가 갑자기 에러가 나는 현상이 생겼다. 대표적인 에러는 Task를 쓰는 코드와 반환 항목 및. Net의 상위 기능들이었다. error CS0012: The type `System.Threading.Tasks.Task' is defined in an assembly that is not referenced. Consider adding a .. 2021. 7. 5.
문재해결)Unity)Google) Game Package Registry(GPR) Error (21.05.19종 Game Package Registry(GPR) Error (21.05.19 종료) Unity 프로젝트에서 Firebase를 사용하고 있다가 관련된 메일을 받았었다. SDK 버전을 업데이트해서 사용하지 않으면 괜찮을 것이라고 예상했었는데 그렇지 않았고. 관련된 이슈가 나왔다. 결론적으로는 Package Manager에 등록되어서 되어있는 Firebase 제품들이 정상작동을 안 할 예정이라고 하는 것이다. 기존에는 지원하다 보니 Cache가 되어있어서 정상이었는데 신규로 세팅하게 되니 아래와 같이 나왔다. 기존의 정상적인 Package Manager 항목은 아래와 같다. 결론적으로는 지원을 안 하니 Custom Import를 해야 하는 상황이었다. GPR로 세팅되어서 버전 관리라던지 업데이트 등을 꽤나 편.. 2021. 7. 3.
반응형