유니티 URP 프로젝트에서 사용할수있는 굴절 쉐이더(UnityRefractionURP)HDRP의 ScreenSpaceRefraction을 기반으로하는 쉐이더로 URP 12.1 이상에서 사용 가능URP 에셋에서 Depth Texture , Opaque Texture 속성을 활성화, Orthographic 카메라 미지원https://github.com/jiaozi158/UnityRefractionURP?tab=readme-ov-file GitHub - jiaozi158/UnityRefractionURP: Refraction shader graph for Unity's URP (Universal Render Pipeline). Based on HDRP's ScRefraction shader graph for ..
유니티에서 현실감있는 주변환경 반사를 위한 리플렉션 프로브(Reflection Probe) 사용하기리플렉션 프로브(Reflection Probe)를 사용하면 주변 환경의 반사 정보를 캡처하여 오브젝트 표면에 현실감 있는 반사를 표현할수있습니다.https://docs.unity3d.com/kr/530/Manual/class-ReflectionProbe.html1)씬에 3D 오브젝트를 추가합니다. 2)새로운 재질(URP/Lit)을 생성하고 반사도 높은 금속 표면으로 설정합니다. environment reflections 속성에 체크되어있는지 확인합니다. 3)씬의 오브젝트에 할당합니다. 오브젝트의 표면이 씬의 주변환경을 반사하는것을 확인할수있습니다. 4)Lighting 윈도우의 environment에서 환경 ..
유니티(Unity) 셰이더 그래프 절차적 패턴(Procedural Patterns) 샘플프로젝트(URP, HDRP)에서 직접 또는 셰이더 그래프를 수정하여 사용할수있는 다양한 절차적 패턴 샘플을 포함합니다. Bacteria, Brick, Dots, Grid, Herringbone, Hex Lattice, Houndstooth, Smooth Wave, Spiral, Stripes, Truchet, Whirl, Zig Zag등https://docs.unity3d.com/kr/Packages/com.unity.shadergraph@10.8/manual/ShaderGraph-Samples.html 1)패키지 관리자에서 셰이더그래프 패키지가 설치되어있는지 확인합니다. 셰이더 그래프의 samples에서 proced..
유니티(Unity) 파티클 구심력과 중심에서 사라지는것 구현(force field, collision)부유하는 파티클이 중심으로 힘을 받고 콜라이더에 충돌하여 제거되는 과정 1)새로운 파티클 시스템을 생성합니다(particle system)2)기본 파티클시스템을 플레이해서 확인합니다3)파티클 방출(emission)에서 burst를 추가하고 개수 및 사이클을 설정합니다(count, cycles)Count에 max particles와 동일한 값을 입력하고 Cycles에 1, rate over time에 0을 입력합니다. 4)파티클 시스템을 플레이하면 시작에서 50개의 파티클 1회 방출하는것을 확인할수있습니다. 5)파티클 시스템의 shape과 scale를 설정합니다.6)루핑(looping)을 체크해제하여 반복..
유니티 캐시 및 임시 데이터 저장 폴더 종류(Library, Temp, Logs, gradle caches등)Library 폴더 프로젝트에 텍스처, 3D 모델, 오디오, 사용자스크립트등의 에셋(Assets)을 가져오기할때(import) 유니티는 각 에셋을 에디터에 최적화된 형태로 변환하고 스크립트를 컴파일합니다. Library 폴더는 가져오기한 에셋 데이터, 메타데이터등의 캐시된 데이터를 관리하는데 사용됩니다.Library 폴더를 삭제하고 프로젝트를 다시 열기할때 에셋을 다시 임포트하고 스크립트를 컴파일하는등 필요 데이터를 재생성하는 시간이 소요될수있습니다(일반적으로 프로젝트를 백업할때 Library 폴더 삭제가능) Logs 폴더Unity가 실행되는 동안 발생하는 로그 파일을 저장하는 폴더입니다. 로그..
유니티(Unity) 안드로이드 앱 인앱결제(IAP) 구매 오류 문제해결유니티에서 빌드한 안드로이드 앱을 실행하고 인앱결제 구매를 진행하면 다음 오류를 표시합니다. 이 버전의 애플리케이션에서는 Google Play를 통한 결제를 사용할수없습니다. 자세한 내용은 고객센터를 참조하세요. 문제 해결앱을 APK 형식으로 빌드하고 장치에 직접 설치한 경우 인앱결제 구매를 진행하면 오류가 표시됩니다. 앱을 안드로이드 앱번들(AAB) 형식으로 빌드하고 구글 플레이 콘솔을 통해 테스트 및 출시(내부테스트, 비공개테스트)하면 테스터의 장치에서 다운로드 및 설치한 앱에서 인앱결제 구매를 정상적으로 진행할수있습니다.
유니티 Localization(지역화)에서 iOS 앱 이름(국가 언어) 설정하는 방법1)프로젝트 설정(project settings)의 Localization 메뉴로 이동하고 현재 이용가능한 지역(Locales)를 확인합니다. 2)Localization 설정의 하단 Metadata에서 새로운 메타데이터를 추가합니다. +버튼을 클릭하고 iOS의 App Info를 선택합니다. 3)iOS App Info 메타데이터가 추가된것을 확인할수있습니다. 4)문자열 테이블(StringTable)에서 앱 이름을 표시하기 위한 키(key)와 지역에(locale) 따라서 표시할 앱 이름의 지역 언어 문자열을 입력합니다. 5)iOS App Info에서 테이블 및 키를 설정하고 Entry Name 에 추가된 앱 이름 목록을 확..
유니티(Unity) 모든 대상 플랫폼에 대하여 렌더러 기능 추가 및 속성 설정 참고프로젝트의 렌더러 속성 및 기능을 대상 플랫폼에 따라서 동일하게 또는 차별적으로 설정해야합니다. 1)프로젝트 설정(project settings)의 그래픽(graphics)에서 프로젝트에 사용중인 렌더 파이프라인 에셋을 확인합니다. 2)Settings 폴더에서 대상 플랫폼에 따라서 설정할수있는 URP 에셋 및 렌더러를 확인합니다. 3)프로젝트 설정의 품질(quality)에서 대상 플랫폼 수준(Levels)에 대해서 설정한 URP 에셋 및 렌더러를 확인합니다.현재 유니티 에디터에서 performant 수준을 사용중이며 해당 URP 에셋 및 렌더러의 속성을 설정합니다. 4)렌더러 기능을 추가하려면 add renderer f..
유니티(Unity)에서 특정한 쉐이더의 재질을 생성하는 방법1)프로젝트의 에셋(Assets) 폴더에서 새로운 쉐이더를 생성합니다. 2)특정한 쉐이더를 사용하는 재질을 생성하려면 해당 쉐이더를 선택하고 마우스 우클릭한후 create의 material을 선택합니다. 3)해당 쉐이더를 사용하는 재질을 생성한것을 확인할수있습니다.
유니티 텍스처(Texture) 객체 생성과 제거 예시(메모리 할당과 해제)new 키워드를 사용하여 런타임에서 동적으로 생성한 객체의 경우텍스처가 불필요하면 명시적으로 객체를 파괴하고 참조를 해제합니다.Texture2D texture = new Texture2D(2, 2); if (texture != null) { Destroy(texture); texture = null; } Destroy(texture);객체는 메모리에서 즉시 해제되지않습니다. 메모리에서 객체가 실제로 해제되는 시점은 가비지 컬렉터( GC)가 이 객체를 수거할 때입니다. texture = null;객체에 대한 참조가 더 이상 없기 때문에 이 객체는 GC의 수거 대상이됩니다. 객체를 수거하는 시점은 GC 의 주기에 따라..
유니티 In Place 애니메이션을 Root Motion으로 설정하는 방법(RootMotionScript.cs)루트 모션(root motion)이 없는 캐릭터의 애니메이션은 제자리(in place)에있는 경우가있습니다 OnAnimatorMove 콜백을 구현하는 스크립트를 사용하여 in place 애니메이션을 root motion으로 설정하는 방법입니다. https://docs.unity3d.com/Manual/ScriptingRootMotion.html Unity - Manual: Scripting Root MotionScripting Root Motion Sometimes your animation comes as “in-place”, which means if you put it in a scene..
유니티(Unity) 안드로이드 빌드 API 34 앱 크래시 문제해결유니티 에디터 버전 2022.3.11f1에서 빌드한 안드로이드 앱(API 34)을 장치에서 실행할때 앱 크래시가 발생합니다 apk 형식 빌드는 장치에서 앱 크래시가 발생하지않지만 aab 형식 빌드를 구글플레이콘솔(Google Play Console)에서 테스트 출시한 경우 앱 크래시가 발생합니다.안드로이드 대상 API 수준 34 , aab 업로드 테스트 출시 앱에서 앱 크래시 문제해결유니티 에디터 상위 버전(예를들어 유니티 2023.2.20f1, 유니티.6000.0.23f1)에서 프로젝트를 빌드합니다. 안드로이드 앱(API 34, aab 형식)을 실행하면 앱 크래시가 발생하지않습니다.유니티 6000.0.23f1에서 API 34 buil..