유니티(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) 패키지 관리자에서 패키지 최신 버전 표시안함1)패키지 관리자에서 IAP(In App Purchasing) 패키지의 최신 버전 4.12.2 이 표시되지않으며 install 버튼이 비활성화된것을 확인할수있습니다. 2)패키지 관리자 좌측 상단의 +버튼을 클릭하고 add package by name을 선택합니다. 3)패키지 이름을 입력하고 추가합니다(add)com.unity.purchasingcom.unity.example 4)최신 버전의 패키지를 설치합니다.
유니티 Gradle 버전 및 Gradle 플러그인 버전 확인유니티(Unity)는 새로운 버전의 에디터를 배포할때(Release) 해당 버전과 호환되는 Gradle 및 Gradle 플러그인(AGP)을 패키지에 포함시킵니다. 사용자가 특정 버전의 에디터와 Android 지원 모듈을 설치하면 Gradle 및 Gradle 플러그인(빌드 스크립트 및 유틸리티) 버전을 다음 Unity 설치 경로에서 확인할수있습니다.유니티 에디터 버전 2022.3.49f1 예시Gradle 버전(Gradle 라이브러리 위치)C:\Program Files\Unity\Hub\Editor\2022.3.49f1\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\gradle\lib Gradle 플러그인(..
유니티(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..