본문 바로가기
반응형

개발/Unity336

Unity) UPM(Unity Package Manager) Trouble Shooting UPM(Unity Package Manager) Trouble Shooting Unity Package Manager에서 문제가 생겼을 경우에 대한 가이드라인이 있어서 정리하게 되었다. 1)[Help]-[Reset Packages to defaults]항목을 통해서 초기화 기본 세팅으로 돼서 추가로 세팅한 항목이 삭제된다고 한다. 2) 해당 프로젝트의 Packages 폴더을 제거하고 Unity 를 재시작하면 재생성된다. Unity cache항목을 확인해보는것도 하나의 방법이다. C:\Users\{사용자이름}\AppData\Local\Unity\cache\packages\packages.unity.com 추가로 공식 문서에서 제공하는 해결방법은 다음과 같다. 오류 유형 에러 메시지 일반적인 시작 문제 - .. 2021. 7. 1.
Unity) GUI(IMGUI) 해상도 고정하기 GUI(IMGUI) 해상도 고정하기 Unity GUI(IMGUI)는 OnGUI라는 스크립터로 GUI를 구현하는 기능이다. 대부분은 GUI 시스템은 다음과 같은 상황에서 많이 사용한다. 게임 내 디버깅 디스플레이 및 도구 만들기 커스텀 만들기 스크립트 구성 요소 Unity 자체 확장을 위한 새 편집기 창 및 도구 만들기 예시 코드는 다음과 같다. /* Example level loader */ using UnityEngine; using System.Collections; public class GUITest : MonoBehaviour { void OnGUI () { // Make a background box GUI.Box(new Rect(10,10,100,90), "Loader Menu"); // M.. 2021. 6. 28.
Unity)google-play-plugins (In App Review 적용하기) google-play-plugins (In App Review 적용하기) Unity 용 Google Play 플러그인으로 Google Play Console에 게시하기 위한 여러 가지 기능을 지원한다. 여기에 포함된 기능은 대략 다음과 같다. ------------------------------------------------------------------------------------------------------------------------ App Bundle (앱번들) Play Asset Delivery InApp Billing (인앱 결제) App Review (앱 리뷰) App Update (앱 업데이트) Instant Game (인스턴스 게임) ---------------------.. 2021. 6. 22.
Unity) 런타임 프로파일링 (Capturing Profiler Stats at Runtime) 런타임 프로파일링 (Capturing Profiler Stats at Runtime) Unity로 개발을 진행하다보면 런타임 상황 / 플랫폼 및 실제 기기 에서 테스트하는 과정에서 여러가지를 개발적인 요소를 확인해야하는 상황이 종종 생긴다. 그런 과정에서 디버깅 모드로 Profiling 관련되서 바로 확인이 가능한 화면을 만들어두면 편리하다. ProfilerRecorder의 특정 항목의 Profiler의 명시된 값을 입력하면 해당 값을 읽어올수 있다. 예시는 다음과 같다. ProfilerRecorder.StartNew(ProfilerCategory.Memory, "System Used Memory"); using System.Collections; using System.Collections.Generi.. 2021. 6. 21.
Unity)해결) error CS0227: Unsafe code may only appear if compiling with /unsafe. Enable "Allow 'unsafe' code" in Player Settings to fix this error. error CS0227: Unsafe code may only appear if compiling with /unsafe. Enable "Allow 'unsafe' code" in Player Settings to fix this error. 스크립트 코드에 'unsafe' 라는 키워드가 들어가게되면 설정이 포함되지 않으면 생기는 이슈이다. 단순하게 unsafe를 처리할수 있도록 옵션을 변경해주면 된다. Unity - [Project Setting] -[Other Settings] - Allow 'unsafe' Code 를 활성화 시켜주면 된다. IDE에서는 xml을 추가해줘야한다. Assembly-CSharp-Editor.csproj true 2021. 6. 20.
Unity) Field Of View / Light Shadow ( 후레쉬 효과 / 시야각) Field Of View / Light Shadow ( 후레쉬 효과 / 시야각) Chracter - (흰색)Target- (파란색)Obstacle - (빨간색) 흰색이 해당 바라보고 있는 Direction을 기준으로 시야각(Field Of View)을 Triangle으로 각 정점을 조립해서 만들고 Raycasting을 통한 Target과 Obstacle을 통해 Layer Mask를 처리를 진행했다. 예전부터 관련되서 코드를 이것저것 많이 보고 있었는데. 실제 정점을 계산해서 처리하는 것을 잘 활용해서 이것저것 많이 해볼 수 있을 것 같다.https://www.youtube.com/watch?v=1aMGqno5lsg   참고 : https://www.youtube.com/watch?v=TOEi6T2mtHo.. 2021. 6. 9.
Unity) 와이어 프레임(Wireframe) 와이어 프레임(Wireframe) Scene의 옵션에 보면 Wireframe이라는 설정 메뉴가 존재한다. 이번에 알게 되어서 포스팅한다. 와이어 프레임으로 설정하면 실질적으로 그려지는 정점을 Scene에서 보여지게 하는 메뉴인데 단순히 보는 것 말고 정점을 확인할 때 사용된다. 확실히 와이어 프레임으로 메쉬를 그리게 되니 직관적이고 좋은 것 같다. Unity Scene Control Option : [링크] Unity - Manual: Scene view control bar How do you use documentation throughout your workflow? Share your experience with us by taking this survey. Scene view control ba.. 2021. 6. 4.
Unity) 관리되는 코드 스트리핑(Managed Stripping Level) 관리되는 코드 스트리핑(Managed Stripping Level) 관리되는 코드 스트리핑은 빌드에서 사용되지 않는 코드를 제거하여 최종 빌드 크기를 대폭 줄이는 작업입니다. IL2CPP 스크립팅 백엔드를 사용하는 경우 관리되는 코드 스트리핑을 수행하면 C++로 전환하여 컴파일할 코드를 줄일 수 있어 빌드 시간을 단축할 수도 있습니다. 관리되는 코드 스트리핑을 수행하면 프로젝트의 C# 스크립트에서 빌드된 어셈블리, 패키지와 플러그인의 일부인 어셈블리 및. NET 프레임워크의 어셈블리를 포함한 관리되는 어셈블리에서 코드를 제거할 수 있습니다. 관리되는 스트리핑 레벨 프로젝트의 Player Settings 에 있는 Managed Stripping Level 옵션을 사용하여 Unity가 사용되지 않는 코드를 .. 2021. 6. 4.
Unity) Unity Test Runner(UTF) Unity Test Runner(UTF) Unity 사용자는 Unity 테스트 프레임 워크 (UTF)를 사용하여 편집 모드 와 재생 모드 , 그리고 Standalone, Android, iOS 등과 같은 대상 플랫폼 에서 코드를 테스트 할 수 있습니다. UTF는 .Net 언어 용 오픈 소스 단위 테스트 라이브러리 인 NUnit 라이브러리의 Unity 통합을 사용합니다. UTF는 현재 NUnit 버전 3.5를 사용합니다. NUnit에 대한 자세한 내용은 공식 NUnit 웹 사이트 및 NUnit 설명서를 참조하십시오 . /* * 작성일자 : #DATE# * 작성자 : #AUTHOR# * 설명 : */ using System.Collections; using System.Collections.Generic; .. 2021. 6. 3.
Unity) Frame Debugger Frame Debugger 프레임 디버거는 현재 Display에 있는 한 프레임에 대한 정보를 분석해주는 Unity 내장 분석 툴이다. [Window]-[Analysis]-[Frame Debugger] 메뉴를 선택하면 Frame Debug 창이 나온다. 오는데 여기에서 Play 도중에 Enable 버튼을 누르면 아래와 같이 해당 한 프레임당 그려지는 순서 및 Batch에 관련된 정보를 준다. Texture / Font / 등 화면을 그려지기 위한 레이어 순서 및 불필요한 리소스를 확인이 가능하다. 쉐이더 속성값 / 렌더링 순서 / 조명 등 여러 가지 면에서 최적화 포인트를 확인도 가능하다. Unity Frame Debugger : [ 링크 ] Unity - Manual: Frame Debugger Ren.. 2021. 6. 2.
Unity)EDM4U(External Dependency Manager for Unity) EDM4U(External Dependency Manager for Unity) 많은 Unity 플러그인은 Android 특정 라이브러리, iOS CocoaPods에 의존하고 때로는 다른 Unity 플러그인에 대한 전 이적 의존성을 가지고 있습니다. 이로 인해 다음과 같은 문제가 발생합니다. Unity 프로젝트 내에서 플랫폼 별 (예 : Android 및 iOS) 라이브러리를 통합하는 것은 복잡할 수 있으며 Unity 플러그인 유지 관리자에게 부담이 될 수 있습니다. 플랫폼 별 라이브러리에서 충돌하는 종속성을 해결하는 프로세스는 Unity 플러그인을 사용하려는 개발자에게 푸시됩니다. 플러그인을 사용하려는 개발자는 Android 또는 iOS 특정 빌드 오류에 직면했을 때 포기할 가능성이 매우 높습니다. (.. 2021. 5. 26.
Unity)Android Gradle Plugin Version Change Android Gradle Plugin Version Change Unity 에서 Android의 Gradle의 버전을 변경을 해야하는 경우가 생겨서 이렇게 포스팅하게 되었다. Project Setting 의 Android - Publishing Settings에 보면 Build 항목에서 Custom Base Gradle Template라는 항목을 체크하게되면 자동으로 Project -Asset-Plugins-Android 항목에 baseProjectTemplate 파일이 생성되게 된다. 저 항목을 체크하지 않으면 기본적으로 [Edit]-Preferences의 External Tools에 있는 경로에 있는 항목으로 자동으로 처리가 된다. 해당 생성된 파일(baseProjectTemplate)을 열어서 G.. 2021. 5. 13.
Unity) Audio / Sound 사운드 -최적화 및 설정 Audio / Sound 최적화 및 설정 Unity에서 Audio 설정과 옵션에 대해서 테스트하면서 해당 최적화에 대한 고민을 진행했고 그 결과에 대한 포스팅이다. Unity에서는 전체적인 Project Setting - Audio 옵션과 / 각 개별의 Audio Clip에서의 설정 2가지 설정이 가능하다. Project Setting Audio Global Volume 전체적인 볼륨 Vloume Rolloff Scale 로그 롤 오프 기반의 소스에 대한 전역 감쇠 설정 Doppler Factor 도플러 효과에 대한 설정 처리 Default Speaker Mode 기본 스피커 모드(Mono/ Stereo/ Quad / Surrond / Mode5point1/ Mode7Point1 / Prologic) S.. 2021. 5. 10.
Unity) URP(Universal Render Pipeline) 셰이더 사용하는 방법 URP 셰이더 사용하는 방법 Unity에서 URP 셰이더를 사용하는 방법은 다음과 같다. 사용할 프로젝트의 Package Manager에서 Universal RP를 Install 한다. Asset - Create - Rendering - Universal Render Pipeline - Pipeline Asset 생성된 UniversalRenderPipelineAsset_Renderer를 [Project Setting] -[Graphics] Scriptable Render Pipeline Settings에 포함시키면 된다. URP 셰이더를 사용하려면 프로젝트의 Universal RP를 선택해서 만들면 된다. Unity Blog 참고 : [URP-경량 렌더 파이프라인의 진화] How the Lightwei.. 2021. 4. 30.
Unity)점진적 가비지 컬렉션 (User Incremental GC) 점진적 가비지 컬렉션 (User Incremental GC) 2019.1a 10 이상에서 사용 가능하다고 한다. 기본적으로 c#은 자동 메모리를 관리를 GC(Garbage Collection)가 자동으로 일어나고 프로그래머에게 비가시적으로 일어난다. Unity는 기본적으로 Boehm-Demers-Weiser 가비지 컬렉터를 사용하는데 이는 Stop-the World 방식으로 처리된다고 한다. 이 방식은 가비지 컬렉터가 임의의 순간에 처리가 되게 되면 프레임 드랍 현상이 일어난다. 이러한 방법을 해결하기 위한 방법으로 점진적 GC 방식이라고 한다. Project Setting - Player - User incremental GC라는것을 체크하면 점진적 GC를 처리한다고 한다. 유니티 블로그에 결과를 참고.. 2021. 4. 26.
반응형