유니티 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)해당 ..
구글 플레이 콘솔 안드로이드 앱 번들 파일(aab) 업로드 문제와 해결방법API 수준현재 앱이 33의 api 수준을 타겟팅하고 있지만 보안 및 성능에 최적화된 최신 api를 기반으로 앱을 빌드하려면 api 수준 34 이상을 타겟팅해야 합니다구글 플레이 콘솔에서 요구하는 최신 API로 설정합니다. 프로젝트 설정(project settings)의 플레이어(player)에서 대상 api 수준을 변경합니다(Target API Level)버전 코드이미 버전 코드가 1인 APK 또는 android app bundle이 있으므로 다른 버전 코드를 사용해야 합니다.프로젝트 설정에서 번들 버전 코드(Bundle Version Code)를 높입니다. 64비트 요구사항이 버전은 google play 64비트 요구사항을 준..
유니티에서 중첩 프리팹(nested prefabs) 사용하기중첩 프리팹(nested prefabs)은 프리팹 안에 다른 프리팹을 포함할 수 있는 구조를 의미합니다. https://docs.unity3d.com/Manual/NestedPrefabs.html UI 제작에서 중첩 프리팹 사용 예시(Make UI with Nested Prefabs in Unity)https://youtu.be/4fkTbbxktpc
유니티(Unity) 구글 드라이브 파일 업로드 하기 2 - 패키지 설치, 파일 업로드Google Drive API 를 사용하여 유니티에서 사용자의 구글 드라이브에 파일을 업로드 및 다운로드할수있습니다. Google Drive API를 사용하려면 구글 클라우드 플랫폼에서 API 활성화 및 OAuth 클라이언트 설정이 필요합니다. 유니티(Unity) 구글 드라이브에 파일 업로드 하기 1 - Google Drive API, OAuth 클라이언트 설정 Google Drive SDK 설치1)유니티에서 Google Drive API를 사용하기위해 아래 깃허브에서 제공하는 Google Drive SDK를 설치합니다. https://github.com/elringus/UnityGoogleDrivegit URL를..
유니티(Unity) 구글 드라이브에 파일 업로드 하기 1 - Google Drive API, OAuth 클라이언트 설정유니티에서 Google Drive API 를 사용하여 앱 사용자의 구글 드라이브에 파일 업로드 및 다운로드하는 방법 Google Drive API를 활성화하고 OAuth 클라이언트 ID 만들기 사용자가 파일을 업로드 및 다운로드하려고 할 때 앱은 해당 사용자가 구글 계정에 로그인할 수 있도록 OAuth 인증을 요청합니다. 사용자가 권한을 얻으면 자신의 구글 계정으로 로그인하고 구글 드라이브에 접근하고 파일을 업로드 및 다운로드할 수 있습니다. 클라이언트 ID는 앱이 구글 서버와 통신하는 데 사용되며 개별 사용자의 권한은 사용자 로그인 시 처리됩니다.https://developers.g..
유니티(Unity) 모바일(안드로이드, iOS) 구글 애드몹 광고가 표시되지않는 문제 문서 모음구글 애드몹 광고가 게재되지 않는 일반적인 문제 유형 https://support.google.com/admob/answer/9469204?hl=ko구글 애드몹 광고 오류 코드 설명(AdMob Error Codes & Logs) https://support.google.com/admob/thread/3494603?sjid=13233876566105748727-AP광고 표시되지않는 문제 해결도구 사이트 https://support.google.com/admob/workflow/14373595?visit_id=638624071805318020-587276607&rd=3해결방법 문서 모음 https://support..
유니티 안드로이드 빌드 앱 크래시(App Crash) 문제 해결방법 문서 모음프로젝트에 새로운 SDK를 추가하거나 유니티 버전 및 안드로이드 API 수준을 업데이트하고난 이후 발생하는 경우 안드로이드 앱 비정상 종료 https://developer.android.com/topic/performance/vitals/crash?hl=ko 유니티 안드로이드 개발 문제해결 https://docs.unity3d.com/kr/2020.3/Manual/TroubleShootingAndroid.html유니티 안드로이드 API 수준 34에서 앱 크래시 https://discussions.unity.com/t/android-14-api-level-34-in-unity-2020-lts-and-2021-lts/933479..