유니티(Unity) 플랫폼(Window, Mac, 안드로이드, iOS)에서 사용자 데이터 경로(persistentDataPath)persistentDataPath는 사용자 장치 및 플랫폼에서 애플리케이션이 종료되거나 업데이트된 이후에도 데이터를 보존할수있는 영구 데이터 디렉토리 입니다. 일반적으로 게임 저장 파일, 설정 파일, 다운로드한 콘텐츠 등을 저장하는데 사용합니다.https://docs.unity3d.com/ScriptReference/Application-persistentDataPath.html윈도우(Windows Editor and Windows Player)%userprofile%\AppData\LocalLow\\ 안드로이드(Android)/storage/emulated//Android/..
유니티(Unity)에서 프로젝트의 태그(Tag) 설정 파일 확인(TagManager)1)현재 프로젝트에서 설정한 태그를 확인합니다. 2)프로젝트의 ProjectSettings 폴더에서 TagManager.asset 파일을 확인합니다. 3)TagManager.asset 파일을 텍스트 편집기에서 열기하여 태그(tags)를 확인할수있습니다.
유니티 HDRP에서 환경 맵 설정하기(HDRI Sky)1)프로젝트에 새로운 볼륨 프로파일(volume profile)을 생성합니다. 2)프로젝트 설정(project settings)에서 HDRP Global settings의 기본 볼륨 프로파일로 설정합니다. 3)볼륨 프로파일에서 add override를 클릭하고 visual environment를 추가합니다. 4)visual environment에서 sky 타입을 HDRI sky로 설정합니다. 5)add override를 클릭하고 HDRI sky를 추가합니다. 6)프로젝트에 HDRI sky에 사용할 환경맵 텍스처를 가져오기하고 import settings에서 texture shape을 cube로 변경한후 적용합니다(apply) 7) HDRI sky의 ..
유니티 터레인(Unity Terrain) 오류 문제해결 모음페인트 텍스처 계단현상 1)터레인에서 paint texture를 사용하여 페인팅한 텍스처가 혼합 (blend) 되지않으며 계단현상이 발생하는것을 확인할수있습니다. 2)터레인 오브젝트의 paint texture의 Terrain에서 enable height -based blend 속성이 체크되어있는것을 확인할수있습니다. 3)enable height -based blend의 height transition을 조절하거나 enable height -based blend 속성을 체크해제합니다. 4)터레인 페인트 텍스처가 혼합되고(blend) 계단현상이 발생하지않는것을 확인할수있습니다. 실행 취소를 생성하는데 실패 (Failed to create Objec..
유니티(Unity)에서 파티클 시스템을 사용하여 눈내리기 효과 만들기슈리켄(Shuriken) 파티클 시스템(Particle system)을 사용하여 눈내리기 효과 만드는 방법1)씬에서 파티클 시스템을 생성합니다. 2)오브젝트의 트랜스폼을 초기화하고 높이를 설정합니다(Position Y) 3)Shape에서 박스(Box)를 선택하고 크기(Scale)를 설정합니다. 4)파티클이 Z축 방향(전방, forward)으로 방출되는것을 확인할수있습니다. 5)파티클의 시작 속도(Start Speed)를 0으로 설정합니다 6)수명 동안의 속도(Velocity over Lifetime)를 설정합니다. Y에 두 상수 사이의 무작위 수를 설정합니다. 7)파티클의 크기를 설정합니다. 예에서 파티클의 시작 크기(Start Size..
유니티 Google.IOSResolver.dll will not be loaded 에러 문제해결1)유니티에서 프로젝트에 새로운 플러그인을 설치했을때 다음 오류를 표시합니다.Assembly Google.IOSResolver.dll will not be loaded due to errors:unable to resolve reference 'UnityEditor.iOS.Extensions.Xcode'. is the assembly missing or incompatible with the current platform? UnityEditor.iOS.Extensions.Xcode 참조를 해결할 수없어 오류가 발생하며 Google.IOSResolver.dll 어셈블리를 로드할수없습니다. 2)일반적으로 현재 프..
유니티 Random 클래스 랜덤 수(Random.Range, Random.value) 사용 예시Random.Range최소값과 최대값 사이의 무작위 수를 반환합니다. 무작위 위치 생성 GameObject prefab; float x = Random.Range(-5.0f, 5.0f); float z = Random.Range(-5.0f, 5.0f); Debug.Log("X,Z:" + x.ToString("F2") + ","+ z.ToString("F2")); Vector3 randomPosition = new Vector3(x, 0.0f, z); Instantiate(prefab, randomPosition, Quaternion.identity); float x=Random.Range(-5.0f, 5.0f)..
유니티(Unity) 오디오 소스(AudioSource) 플레이 함수 Play()와 PlayOneShot() 차이유니티에서 오디오를 재생하는 데 사용되는 두함수 AudioSource.Play()와 AudioSource.PlayOneShot() 차이AudioSource.Play()오디오 소스에 지정된 오디오 클립(AudioClip)을 재생합니다. 새로운 Play() 호출은 이미 재생중인 클립을 취소하고 새로운 재생을 시작합니다. AudioSource는 모든 Play 함수 호출에 재생할 새 오디오 클립이 있다고 가정합니다. https://docs.unity3d.com/ScriptReference/AudioSource.Play.html Play함수를 새로 호출하면 클립이 다시 시작된 것처럼 들립니다. Audio..
유니티(Unity)에서 지원하는 비디오 파일 형식https://docs.unity3d.com/Manual/VideoSources-FileCompatibility.html유니티 프로젝트에 다양한 형식의 비디오 파일을 가져오기할수있습니다. 유니티로 가져오기한 비디오 소스 파일은 비디오 클립(VideClip)으로써 저장하며 파일 형식이 에디터를 실행하는 플랫폼(예 -윈도우)과 호환되어야합니다. 플랫폼이 해당 파일 형식을 지원하면 에셋의 가져오기 설정(import settings)에서 비디오 미리보기(preview)를 표시합니다. 윈도우에서 지원하는 동영상 포맷 https://learn.microsoft.com/en-us/windows/win32/medfound/supported-media-formats-in-..
유니티(Unity)에서 싱글톤(Singleton) 디자인 패턴 사용 예시싱글톤(Singleton)은 오직 하나의 인스턴스만 존재해야 하는 클래스를 만들기 위한 디자인 패턴으로 특정 클래스의 인스턴스가 중복 생성되지 않도록 제한하고 어디서든 인스턴스에 접근할 수 있습니다. 전역적으로 사용할 수 있는 매니저 클래스를 만들때 특히 유용합니다(GameManager , UIManager, AudioManager, 기타)https://learn.unity.com/project/c-survival-guide-singletons?language=enhttps://learn.unity.com/tutorial/statics-l#5c8920e7edbc2a0d28f4833c싱글톤 사용 예시 GameManager 클래스pu..
유니티(Unity)에서 오브젝트 풀(Object Pool) 의 유용성과 사용 예시게임에서 자주 생성하고 파괴되는 오브젝트가 많은 경우 오브젝트 풀(Object Pool)을 사용하면 메모리 할당 및 해제로 인한 성능 저하를 줄일 수 있습니다. 오브젝트 풀(Object Pool) 사용가능 예총알 발사 시스템 (Bullet Firing System) 총알을 발사할 때마다 새로운 총알 오브젝트를 생성하고 파괴하는 경우 적군 스폰 시스템 (Enemy Spawn System) 적군이 계속해서 스폰되고 사라지는 시스템에서 적 오브젝트의 생성과 파괴가 빈번하게 일어나는 경우 파티클 효과 시스템 (Particle Effects) 폭발, 연기, 불꽃 등 다양한 파티클 효과 짧은 시간 동안 생성되고 빠르게 사라지는 경우..
유니티(Unity) 안드로이드에서 동영상 광고(구글애드몹) 표시하면 앱 크래시 문제(Graphics device is null)구글 애드몹 동영상 광고를 표시하고나서 팝업 닫기(close) 이후 TMPro(텍스트 메시 프로)를 사용할때 앱 크래시가 발생합니다.1)안드로이드 로그캣에서 앱 크래시 로그를 확인합니다.Graphics device is null, TMPro.TextMeshProUGUI:Awake() 동영상 광고 팝업 닫기 이후에 앱 크래시2)예에서 보상형 동영상 광고 팝업 닫기(OnAdFullScreenContentClosed) 이벤트를 수신하면 OnRewarded함수를 호출합니다. 3)OnRewarded함수에서 TMPro 텍스트가 포함된 오브젝트를 생성할때 앱 크래시가 발생합니다. 4)해당 ..