유니티 텍스처(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..
유니티 에셋 스토어(Unity Asset Store) 서비스 약관 EULA 공식 문서유니티 에셋스토어 사용 조건과 제한 사항에 대한 공식 문서입니다(에셋 스토어 이용 약관 및 최종 사용자 라이선스 계약, Asset Store Terms of Service and EULA) 에셋스토어에서 구매한 에셋의 사용 범위, 상업적 이용 가능 여부, 제한 사항 등에 대한 자세한 정보를 제공합니다.(상업적 사용, 제한 에셋(Restricted Assets), 환불정책, 지적 재산권, 사용자의 권리 및 의무, 사본 백업, 에셋 수정등 )https://unity.com/kr/legal/as-terms Asset Store Terms of Service and EULALast updated: January 1, 2023 ..
유니티(Unity)에서 옷감(Cloth) 시뮬레이션 기초 사용법 튜토리얼3D 캐릭터의 의상 물리 효과(Cloth Physics)를 적용하기위해 Cloth 컴포넌트를 사용하는 기초방법에 대해 설명합니다. Cloth의 파라미터를 설정하여 옷감의 신축성, 마찰력, 중력 작용 등을 조절하고 충돌 처리와 기타 제약 조건을 설정하여 사실적인 의상 물리 효과 및 옷감 시뮬레이션을 구현할 수 있습니다. Cloth는 Skinned Mesh Renderer와 함께 작동하여 패브릭을 시뮬레이션하기 위한 물리 기반 솔루션을 제공합니다. Getting Started With Cloth Physics https://youtu.be/Nc_ZMgEFj-A Cloth https://docs.unity3d.com/Manual/class..
유니티(Unity) 사용자 데이터 파일 저장 사용법 문서 모음(Persistent Player Data)Persistent Data – How to save your game states and settings https://youtu.be/uD7y4T4PVk0 Persistence: Saving and Loading Data https://learn.unity.com/tutorial/persistence-saving-and-loading-data?language=en#saving persistent player data in unity https://learn.unity.com/project/saving-persistent-player-data-in-unity?language=enoverview an..
유니티(Unity) 안드로이드 런처 앱 이름(언어) 변경하기(Localization, App info)유니티에서 빌드한 안드로이드의 런처(launcher)에서 표시되는 앱 이름(언어)을 변경하는 방법. Localization의 App info를 이용한 방법유니티 지역화(Localization) 패키지 설치 및 기초 사용법1)프로젝트 설정(project settings)의 Localization 설정으로 이동합니다. 하단의 metadata에서 +버튼을 클릭합니다. 2)안드로이드(android)의 app info를 선택합니다. 3)안드로이드 앱 정보(app info)가 추가된것을 확인할수있습니다. 4)문자열 테이블(StringTable)에서 앱 이름 표시를 위한 키(key)와 지역에(locale) 따라서 ..
게임 그래픽에서 POT(Power of Two) 와 NPOT 텍스처POT (Power of Two)2의 거듭제곱 크기의 텍스처를 의미합니다. 텍스처의 해상도는 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048등의 2의 거듭제곱으로 표현됩니다. 256x256, 512x512, 1024x1024 등(너비와 높이가 모두 2의 거듭제곱)POT 텍스처, 512x512 해상도 그래픽 하드웨어가 2의 거듭제곱 크기의 텍스처를 더 효율적으로 처리합니다. 일반적으로 POT 텍스처는 GPU 메모리에서 더 효율적으로 배치되고 정렬됩니다. 2의 거듭제곱 크기는 메모리 페이지와 잘 맞아 메모리 압축과 캐시 최적화에 유리합니다. 이러한 효율성은 GPU에서 텍스처를 처리할 때 성능에 긍정적인 영..
유니티(Unity) 씬에서 특정 컴포넌트를 포함하는 오브젝트 검색 및 필터링(Hierarchy, Type)1)씬(Scene)이 다양한 유형의 컴포넌트 및 사용자 스크립트를 포함하는 오브젝트로 구성되어있습니다. 2)특정 컴포넌트를 포함하는 오브젝트만 표시하려면 Hierarchy의 아래 표시한곳을 클릭하고 Type으로 변경합니다. 3)컴포넌트 또는 사용자 정의 스크립트 이름을 검색하면 해당 컴포넌트를 포함하는 오브젝트만 표시합니다.
유니티(Unity)에 가져오기한 3D 모델 노말 계산(스무싱 그룹, Smoothing Angle)1)3D 프로그램에서 3D 모델의 지오메트리를 확인합니다. 2)폴리곤 편집에서 모든 폴리곤의 스무싱 그룹(Smoothing Groups)를 제거합니다(Clear All) 3)유니티에서 3D 모델을 가져오기합니다(import) 4)모델의 import settings에서 Noarmals이 Import로 설정되어있는것을 확인할수있습니다.기본 옵션인 import는 모델의 파일에서 노멀(normal)을 가져오기합니다. 5)normals를 calculate로 변경합니다. Calculate는 Normals Mode, Smoothness Source, Smoothing Angle에 기반하여 노멀을 계산합니다. Smooth..
유니티 QR 코드 스캐너/생성기 플러그인 에셋 추천 - QR Code/Barcode Scanner and Generator--Cross Platform(Pro)QR코드 및 바코드 스캔/생성 기능을 제공하는 에셋으로 안드로이드, iOS, Standalone (MAC & Windows), Webplayer 프로젝트에 쉽게 통합하여 사용할수있습니다(크로스 플래폼) 에셋은 성능 최적화를 위해 유니티 WebcamTexture(touch 및 focus 제어를 미지원)가 아닌 사용자 지정 웹캠 도구(EasyWebCam)를 사용합니다. 다양한 코드 형식에 대한 스캔 및 인코딩(Encode)을 지원합니다. 스캔 지원(QRCode, Code_128, Code_93, Code_39, EAN_13, EAN_8, Aztec-..
유니티(Unity)에서 레코딩한 동영상 및 이미지 시퀀스의 플리커링(Flickering) 문제해결유니티에서 레코딩한 동영상 또는 이미지 시퀀스에서 플리커링(프레임 바이 프레임에서 이미지가 깜빡이거나 불안정한 현상) 문제가 발생합니다. 실시간 엔진에서 동영상을 캡처하기 위해 설계된 Unity Recorder는 고품질 영상 렌더링에 최적화된 3D 렌더러(Blender Cycles, Arnold, V-Ray등)에 비해 샘플링 밀도와 품질에서 한계가 있을 수 있습니다. 1)유니티에서 레코딩한 동영상(360 View)의 플리커링 및 노이즈 현상을 확인할수있습니다. 2)이 문제는 특히 자연 환경이 있는 실외(exterior) 씬에서 많이 발생합니다. 실외 장면에는 나무의 수많은 잎(컷아웃), 잔디, 바람등 복잡도..